Deskripsi Form Latihan 40B
Pada form Latihan 40B Terdapat 5 object yaitu Label; DataGridView; DateTimePicker, Textbox; Buttondan ToolStrip.
Object DataGridView
Terdapat 1 DataGridView yang akan menampilkan data table.
Object Button
Terdapat 1 button yaitu tombol Save. Apabila tombol ini diclick maka data yang di input akan tersimpan pada form yang telah ditentukan.
Object Label
Terdapat 4 Label yaitu No.Transaksi; Tanggal; Jenis Transaksi dan Total
Object StatusStrip
Terdapat 1 StatusStrip yaitu No. Transaksi Lama
Object Textbox
Terdapat 2 textbox yang berstatus Input yaitu No.Transaksi; Jenis Transaksi; sedangkan Textbox yang berstatus ReadOnly Total
Script Unique
Tidak ada script unique pada latihan ini karena scriptnya hampir sama dengan Latihan-latihan sebelumnya
Even
Load
Property
Default
Langkah-langkah membuat Latihan 40B:
1. Buka Microsoft Visual Studio 2008
2. Setelah itu pilih “kumpulan_Latihan_46110055” (sesuai dengan nama file anda)
3. Pilih menu Project lalu klik add windows form
8. Masukkan rumus/script berikut :
Public Class Latihan_40B_46110055
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 TOTAL()
Dim ttotal As Integer
For Each hasil As DataRow In gitik.Rows
ttotal += hasil("Jumlah")
Next
Total46110055.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='" & NT46110055.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
DGV46110055.DataSource = gitik
End Sub
Private Sub Latihan_40B_46110055_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
makecolumn()
End Sub
Private Sub DGV46110055_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGV46110055.CellContentClick
'mengosongkan data
If e.ColumnIndex = 0 Then
DGV46110055.CurrentRow.Cells("NamaBarang").Value = ""
DGV46110055.CurrentRow.Cells("Unit").Value = 0
DGV46110055.CurrentRow.Cells("harga").Value = 0
DGV46110055.CurrentRow.Cells("Jumlah").Value = 0
'mencari data yang ada di tabel
Dim Pencari As New ByIskandar.CariKeDataBaseByIskandar
Pencari.AturPencarianDataBase("barang", "kodebarang", DGV46110055.CurrentRow.Cells("kodebarang").Value, 1, Jalan)
If Pencari.JumlanBaris > 0 Then
DGV46110055.CurrentRow.Cells("kodebarang").Value = Pencari.DataTablenya.Rows(0).Item(0)
DGV46110055.CurrentRow.Cells("namabarang").Value = Pencari.DataTablenya.Rows(0).Item(1)
Else
MsgBox("the data is not found")
If Latihan_383940_46110055.ShowDialog = Windows.Forms.DialogResult.OK Then
DGV46110055.CurrentRow.Cells("kodebarang").Value = Latihan_383940_46110055.DGV46110055.CurrentRow.Cells("KodeBarang").Value
DGV46110055.CurrentRow.Cells("Namabarang").Value = Latihan_383940_46110055.DGV46110055.CurrentRow.Cells("namabarang").Value
End If
End If
'mengitung jumlah dan total
ElseIf e.ColumnIndex = 2 Or e.ColumnIndex = 3 Then
DGV46110055.CurrentRow.Cells("jumlah").Value = DGV46110055.CurrentRow.Cells("unit").Value * DGV46110055.CurrentRow.Cells("harga").Value
TOTAL()
End If
End Sub
Private Sub Simpan46110055_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Simpan46110055.Click
'Memeriksa isi textbox
If NT46110055.Text.Length = 0 Then
MsgBox("Please, insert the Number of the transaction")
Exit Sub
End If
If JT46110055.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 ganti46110055.Text <> NT46110055.Text Then
Dim PENCARI As New ByIskandar.CariKeDataBaseByIskandar
PENCARI.AturPencarianDataBase("mastertransaksi", "notrans", NT46110055.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(ganti46110055.Text)
Dim kacci As New OleDb.OleDbCommand
kacci = New OleDb.OleDbCommand("delete * from mastertransaksi where notrans='" & ganti46110055.Text & "'", Jalan)
Jalan.Open()
kacci.ExecuteNonQuery()
Jalan.Close()
kacci = New OleDb.OleDbCommand("delete * from detailtransaksi where notrans='" & ganti46110055.Text & "'", Jalan)
Jalan.Open()
kacci.ExecuteNonQuery()
Jalan.Close()
kacci = New OleDb.OleDbCommand("insert into mastertransaksi (notrans,tanggaltransaksi,jenistransaksi) values ('" & NT46110055.Text & "',#" & DTP46110055.Value.Month & "/" & DTP46110055.Value.Day & "/" & DTP46110055.Value.Year & "#,'" & JT46110055.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 ('" & NT46110055.Text & "','" & nhana("kodebarang") & "'," & nhana("unit") & "," & nhana("harga") & ")", Jalan)
Jalan.Open()
kacci.ExecuteNonQuery()
Jalan.Close()
Next
kacci.Dispose()
'Mengosongkan isi text box
NT46110055.Text = ""
JT46110055.Text = ""
'Mengosongkan baris datatable
gitik.Rows.Clear()
'mengambildata
Latihan_40A_46110055.grabdata()
'menutup form
Me.Close()
End Sub
End Class
9. Klik start debugging
10. maka akan muncul hasil seperti dibawah ini:
Tidak ada komentar:
Posting Komentar