Deskripsi
Deskripsi
1. Objek textbox
terdapat 3 objek textbox pada form ini. textbox tersebut berfungsi untuk menginput data baru dari data yang di
edit. 1 diantaranya berstatus ReadOnly
2. objek button
terdapat 1 objek button form ini. berfungsi mengeksekusi input pada textbox dan menyimpan data ke access
3. objek datagridview
menampilkan hasil inputan pada textbox
4. objek datetimepicker
terdapat satu objek ini pada form kali ini
5. objek Status Strip
menampilkan nomor transaksi yang dipilih
even : ButtonClick
Pembuatan Form
1. buka Microsoft Visual Studio anda
2. bukalah file kumpulan latihan anda
3. pilih menu project lalu klik add windows form
4. drag objek dari toolbox anda. susun hingga menjadi form seperti form pada gambar dibawah ini.
5. masukkan script berikut
Public Class Latihan_40b_46110008
Dim Jalan As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source =" & Application.StartupPath & "\Datamajemuk.ACCDB")
Dim gitik As New DataTable
Dim baru(1) As DataColumn
Public Sub botto()
Dim ttotal As Integer
For Each hasil As DataRow In gitik.Rows
ttotal += hasil("Jumlah")
Next
tot46110008.Text = ttotal
End Sub
Public Sub makecolumn()
'mendeklarasikan kendaraan
Dim bojel As New OleDb.OleDbDataAdapter
'Mengatur data yang akan di angkut
bojel = New OleDb.OleDbDataAdapter("SELECT detailtransaksi.kodebarang,barang.namabarang,detailtransaksi.unit,detailtransaksi.harga, detailtransaksi.unit * detailtransaksi.harga as jumlah FROM DETAILTRANSAKSI inner join barang on detailtransaksi.kodebarang=barang.kodebarang where detailtransaksi.notrans='" & notr46110008.Text & "'", Jalan)
'bersihkan data
gitik.Rows.Clear()
'untuk memasukkan data yg telah di angkut ke dalam datatable
bojel.Fill(gitik)
bojel.Dispose()
'untuk menampilkan isi datatable ke data grid view
gitik.Columns("Kodebarang").DefaultValue = ""
gitik.Columns("NamaBarang").DefaultValue = ""
gitik.Columns("unit").DefaultValue = 0
gitik.Columns("harga").DefaultValue = 0
gitik.Columns("jumlah").DefaultValue = 0
gitik.Columns("NamaBarang").ReadOnly = True
baru(0) = gitik.Columns("kodebarang")
gitik.PrimaryKey = baru
dgv46110008.DataSource = gitik
End Sub
Private Sub simpan46110008_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles simpan46110008.Click
'Memeriksa isi textbox
If notr46110008.Text.Length = 0 Then
MsgBox("Please, insert the Number of the transaction")
Exit Sub
End If
If jt46110008.Text.Length = 0 Then
MsgBox("Please, insert the type of the transaction")
Exit Sub
End If
If gitik.Rows.Count = 0 Then
MsgBox("the data is none")
Exit Sub
End If
'Memeriksa nomor transaksi pd master transaksi
If ganti46110008.Text <> notr46110008.Text Then
Dim PENCARI As New ByIskandar.CariKeDataBaseByIskandar
PENCARI.AturPencarianDataBase("mastertransaksi", "notrans", notr46110008.Text, 1, Jalan)
If PENCARI.JumlanBaris > 0 Then
MsgBox("The data has been exist please insert new data")
Exit Sub
End If
End If
'Proses delete dan Penyimpanan ke tabel master transaksi
Dim data As Integer = Val(ganti46110008.Text)
Dim kacci As New OleDb.OleDbCommand
kacci = New OleDb.OleDbCommand("delete * from mastertransaksi where notrans='" & ganti46110008.Text & "'", Jalan)
Jalan.Open()
kacci.ExecuteNonQuery()
Jalan.Close()
kacci = New OleDb.OleDbCommand("delete * from detailtransaksi where notrans='" & ganti46110008.Text & "'", Jalan)
Jalan.Open()
kacci.ExecuteNonQuery()
Jalan.Close()
kacci = New OleDb.OleDbCommand("insert into mastertransaksi (notrans,tanggaltransaksi,jenistransaksi) values ('" & notr46110008.Text & "',#" & tgl46110008.Value.Month & "/" & tgl46110008.Value.Day & "/" & tgl46110008.Value.Year & "#,'" & jt46110008.Text & "')", Jalan)
Jalan.Open()
kacci.ExecuteNonQuery()
Jalan.Close()
'penyimpanan isi datatable ke detail transaksi
For Each nhana As DataRow In gitik.Rows
kacci = New OleDb.OleDbCommand("insert into detailtransaksi (notrans,kodebarang,unit,harga) values ('" & notr46110008.Text & "','" & nhana("kodebarang") & "'," & nhana("unit") & "," & nhana("harga") & ")", Jalan)
Jalan.Open()
kacci.ExecuteNonQuery()
Jalan.Close()
Next
kacci.Dispose()
'Mengosongkan isi text box
notr46110008.Text = ""
jt46110008.Text = ""
'Mengosongkan baris datatable
gitik.Rows.Clear()
'mengambildata
Latihan_40a_46110008.grabdata()
'menutup form
Me.Close()
End Sub
Private Sub Latihan_40b_46110008_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
makecolumn()
End Sub
Private Sub dgv46110008_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgv46110008.CellEndEdit
'mengosongkan data
If e.ColumnIndex = 0 Then
dgv46110008.CurrentRow.Cells("NamaBarang").Value = ""
dgv46110008.CurrentRow.Cells("Unit").Value = 0
dgv46110008.CurrentRow.Cells("harga").Value = 0
dgv46110008.CurrentRow.Cells("Jumlah").Value = 0
'mencari data yang ada di tabel
Dim Pencari As New ByIskandar.CariKeDataBaseByIskandar
Pencari.AturPencarianDataBase("barang", "kodebarang", dgv46110008.CurrentRow.Cells("kodebarang").Value, 1, Jalan)
If Pencari.JumlanBaris > 0 Then
dgv46110008.CurrentRow.Cells("kodebarang").Value = Pencari.DataTablenya.Rows(0).Item(0)
dgv46110008.CurrentRow.Cells("namabarang").Value = Pencari.DataTablenya.Rows(0).Item(1)
Else
MsgBox("the data is not found")
If Latihan_38_39_40_4611008.ShowDialog = Windows.Forms.DialogResult.OK Then
dgv46110008.CurrentRow.Cells("kodebarang").Value = Latihan_38_39_40_4611008.dgv46110008.CurrentRow.Cells("KodeBarang").Value
dgv46110008.CurrentRow.Cells("Namabarang").Value = Latihan_38_39_40_4611008.dgv46110008.CurrentRow.Cells("namabarang").Value
End If
End If
'mengitung jumlah dan total
ElseIf e.ColumnIndex = 2 Or e.ColumnIndex = 3 Then
dgv46110008.CurrentRow.Cells("jumlah").Value = dgv46110008.CurrentRow.Cells("unit").Value * dgv46110008.CurrentRow.Cells("harga").Value
botto()
End If
End Sub
End Class
Tidak ada komentar:
Posting Komentar