Deskripsi Form Latihan 37
Pada form latihan 37 Terdapat 5 object yaitu Label, DataGridView, DateTimePicker, Textbox dan Button.
Object Label
Terdapat 6 Label yaitu No.Transaksi; Tanggal; Jenis Transaksi; Kode Barang; Nama Barang; Unit; Harga; Jumlah dan Total
Object DataGridView
Terdapat 1 DataGridView yang akan menampilkan data table.
Object DateTimePicker
Terdapat 1 DateTimePicker yaitu Tanggal.
Object Textbox
Terdapat 6 textbox yang berstatus Input yaitu No.Transaksi; Jenis Transaksi; Kode Barang; Unit; Harga dan Total, sedangkan Textbox yang berstatus ReadOnly Nama Barang dan Jumlah
Object Button
Terdapat 2 button yaitu Tombol Insert dan Save. Ketika Tombol Insert di click maka akan menambah data yang diinput kedalam data table yang muncul pada datagridview . Ketika tombol Save diclick maka data yang ada di data table akan tersimpan di data access.
Script Unique
Tidak ada Script Unique pada latihan ini karena hampir sama dengan latihan sebelumnya.
Even
Load, click
Property
TextBox -> ReadOnly
Langkah-langkah membuat Latihan 37:
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
6. Setelah itu beri teks pada label dan buatlah DataGridview, DateTimePicker, Textbox dan Button, serta ganti nama design yang diakhiri nim anda pada semua object,kecuali label.
8. Masukkan rumus/script berikut :
Public Class Latihan_37_46110055
Dim FEBI As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source =" & Application.StartupPath & "\Datamajemuk.ACCDB")
Dim FEB As New DataTable
Private Sub BATU()
Dim TTOTAL As Integer
For Each hasil As DataRow In FEB.Rows
TTOTAL += hasil("Jumlah")
Next
Total46110055.Text = TTOTAL
End Sub
Private Sub Latihan_37_46110055_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'mendeklarasikan kendaraan
Dim RINDU As New OleDb.OleDbDataAdapter
'Mengatur data yang akan di angkut
RINDU = 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 & "'", FEBI)
'bersihkan data
FEB.Rows.Clear()
'untuk memasukkan data yg telah di angkut ke dalam datatable
RINDU.Fill(FEB)
'untuk menampilkan isi datatable ke data grid view
RINDU.Dispose()
DGV46110055.DataSource = FEB
'perintah primarykey
Dim FRY(2) As DataColumn
FRY(0) = FEB.Columns("Kodebarang")
FEB.PrimaryKey = FRY
End Sub
Private Sub KB46110055_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KB46110055.TextChanged
If KB46110055.Text.Length = 0 Then
Exit Sub
End If
'mencari data yang ada di tabel
Dim Pencari As New ByIskandar.CariKeDataBaseByIskandar
Pencari.AturPencarianDataBase("barang", "kodebarang", KB46110055.Text, 1, FEBI)
If Pencari.JumlanBaris > 0 Then
NB46110055.Text = Pencari.DataTablenya.Rows(0).Item(1)
Else
MsgBox("the data is not exist")
KB46110055.Text = ""
NB46110055.Text = ""
Exit Sub
End If
End Sub
Private Sub INSERT46110055_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles INSERT46110055.Click
'Memeriksa isi textbox
If KB46110055.Text.Length = 0 Then
MsgBox("Please, insert the code of goods")
Exit Sub
End If
If Unit46110055.Text.Length = 0 Then
MsgBox("Please, insert the unit of goods")
Exit Sub
End If
If Harga46110055.Text.Length = 0 Then
MsgBox("Please, insert the cost of goods")
Exit Sub
End If
'perintah pencarian data
Dim CINTA As DataRow
CINTA = FEB.Rows.Find(KB46110055.Text)
If Not CINTA Is Nothing Then
MsgBox("Sorry, the data has been exist!!! Please insert new data")
Exit Sub
End If
'penyimpanan data ke datatable
FEB.Rows.Add(KB46110055.Text, NB46110055.Text, Val(Unit46110055.Text), Val(Harga46110055.Text), Jumlah46110055.Text)
BATU()
'mengosongkan textbox
KB46110055.Text = ""
NB46110055.Text = ""
Unit46110055.Text = ""
Harga46110055.Text = ""
Jumlah46110055.Text = ""
End Sub
Private Sub Unit46110055_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Unit46110055.TextChanged
Jumlah46110055.Text = Val(Unit46110055.Text) * Val(Harga46110055.Text)
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 FEB.Rows.Count = 0 Then
MsgBox("the data is none")
Exit Sub
End If
'Memeriksa nomor transaksi pd master transaksi
Dim search As New ByIskandar.CariKeDataBaseByIskandar
search.AturPencarianDataBase("mastertransaksi", "notrans", NT46110055.Text, 1, FEBI)
If search.JumlanBaris > 0 Then
MsgBox("the code has been exist")
Exit Sub
End If
'Proses Penyimpanan ke tabel master transaksi
Dim SABAR As New OleDb.OleDbCommand
SABAR = New OleDb.OleDbCommand("insert into mastertransaksi (notrans,tanggaltransaksi,jenistransaksi) values ('" & NT46110055.Text & "',#" & DTP46110055.Value.Month & "/" & DTP46110055.Value.Day & "/" & DTP46110055.Value.Year & "#,'" & JT46110055.Text & "')", FEBI)
FEBI.Open()
SABAR.ExecuteNonQuery()
FEBI.Close()
'penyimpanan isi datatable ke detail transaksi
For Each FEIBY As DataRow In FEB.Rows
SABAR = New OleDb.OleDbCommand("insert into detailtransaksi (notrans,kodebarang,unit,harga) values ('" & NT46110055.Text & "','" & FEIBY("kodebarang") & "'," & FEIBY("unit") & "," & FEIBY("harga") & ")", FEBI)
FEBI.Open()
SABAR.ExecuteNonQuery()
FEBI.Close()
Next
SABAR.Dispose()
'Mengosongkan isi text box
NT46110055.Text = ""
JT46110055.Text = ""
'Mengosongkan baris datatable
FEB.Rows.Clear()
'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