Deskripsi Form Latihan 39
Pada form latihan 39 ada 5 object
yang digunakan yaitu Label, Text Box, Button, Date Time
Picker dan Data Grid View.
Object Label
Pada form ini
label yang digunakan ada 4 (no. transaksi, tanggal, jenis transaksi dan total).
Object TextBox
Pada form ini
ada 3 textbox yang digunakan (2 status input dan 1 status readonly). Status
input digunakan untuk memasukkan data. Data yang dimasukkan yaitu “no.
transaksi dan jenis transaksi”.
Object
DateTimePicker
Pada latihan 39
terdapat 1 datetimepicker. Datetimepicker digunakan dalam menginput data berupa
tahun, bulan dan tanggal.
Object
Button
Terdapat 1 object button (save).
Tombol “save” digunakan untuk menyimpan data yang telah ditambahkan ke “Data
Majemuk”.
Object DataGridView
Terdapat 1 object datagridview yang berfungsi
untuk menampilkan data tabel “Data Majemuk”.
Even
Load
ButtonClick
Script Unique
Lebih lengkap dan jelasnya silahkan dilihat pada script di bawah.
· Buka project yang telah dibuat sebelumnya.
· Click project kemudian pilih add windows form, seperti pada gambar dibawah ini
· Ketik nama form
"Latihan_39_46110002" pada name kemudian click add
· Buat form seperti berikut
·
Setelah
itu beri teks pada button dan label.
·
Kemudian
beri nama pada semua objek kecuali label.
· Setelah form selesai masukkan rumus seperti
dibawah ini
Public Class Latihan_39_46110002
Dim ILDA As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source =" & Application.StartupPath & "\Datamajemuk.ACCDB")
Dim YANI As New DataTable
Private Sub BATU()
Dim TTOTAL As Integer
For Each hasil As DataRow In YANI.Rows
TTOTAL += hasil("Jumlah")
Next
Total_46110002.Text = TTOTAL
End Sub
Private Sub Latihan_39_46110002_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.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='" & NT_46110002.Text & "'", ILDA)
'bersihkan data
YANI.Rows.Clear()
'untuk memasukkan data yg telah di angkut ke dalam datatable
RINDU.Fill(YANI)
RINDU.Dispose()
'untuk menampilkan isi datatable ke data grid view
YANI.Columns("Kodebarang").DefaultValue = ""
YANI.Columns("NamaBarang").DefaultValue = ""
YANI.Columns("unit").DefaultValue = 0
YANI.Columns("harga").DefaultValue = 0
YANI.Columns("jumlah").DefaultValue = 0
YANI.Columns("NamaBarang").ReadOnly = True
DGV_46110002.DataSource = YANI
'perintah primarykey
Dim WAHILDA(2) As DataColumn
WAHILDA(0) = YANI.Columns("Kodebarang")
YANI.PrimaryKey = WAHILDA
End Sub
Private Sub DGV_46110002_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGV_46110002.CellContentClick
'mengosongkan data
If e.ColumnIndex = 0 Then
DGV_46110002.CurrentRow.Cells("NamaBarang").Value = ""
DGV_46110002.CurrentRow.Cells("Unit").Value = 0
DGV_46110002.CurrentRow.Cells("harga").Value = 0
DGV_46110002.CurrentRow.Cells("Jumlah").Value = 0
'mencari data yang ada di tabel
Dim Pencari As New ByIskandar.CariKeDataBaseByIskandar
Pencari.AturPencarianDataBase("barang", "kodebarang", DGV_46110002.CurrentRow.Cells("kodebarang").Value, 1, ILDA)
If Pencari.JumlanBaris > 0 Then
DGV_46110002.CurrentRow.Cells("kodebarang").Value = Pencari.DataTablenya.Rows(0).Item(0)
DGV_46110002.CurrentRow.Cells("namabarang").Value = Pencari.DataTablenya.Rows(0).Item(1)
Else
MsgBox("the data is not found")
If Latihan_383940_46110002.ShowDialog = Windows.Forms.DialogResult.OK Then
DGV_46110002.CurrentRow.Cells("kodebarang").Value = Latihan_383940_46110002.DGV_46110002.CurrentRow.Cells("KodeBarang").Value
DGV_46110002.CurrentRow.Cells("Namabarang").Value = Latihan_383940_46110002.DGV_46110002.CurrentRow.Cells("namabarang").Value
End If
End If
'mengitung jumlah dan total
ElseIf e.ColumnIndex = 2 Or e.ColumnIndex = 3 Then
DGV_46110002.CurrentRow.Cells("jumlah").Value = DGV_46110002.CurrentRow.Cells("unit").Value * DGV_46110002.CurrentRow.Cells("harga").Value
BATU()
End If
End Sub
Private Sub Simpan_46110002_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Simpan_46110002.Click
'Memeriksa isi textbox
If NT_46110002.Text.Length = 0 Then
MsgBox("Please, insert the Number of the transaction")
Exit Sub
End If
If JT_46110002.Text.Length = 0 Then
MsgBox("Please, insert the type of the transaction")
Exit Sub
End If
If YANI.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", NT_46110002.Text, 1, ILDA)
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 ('" & NT_46110002.Text & "',#" & DTP_46110002.Value.Month & "/" & DTP_46110002.Value.Day & "/" & DTP_46110002.Value.Year & "#,'" & JT_46110002.Text & "')", ILDA)
ILDA.Open()
SABAR.ExecuteNonQuery()
ILDA.Close()
'penyimpanan isi datatable ke detail transaksi
For Each YUYU As DataRow In YANI.Rows
SABAR = New OleDb.OleDbCommand("insert into detailtransaksi (notrans,kodebarang,unit,harga) values ('" & NT_46110002.Text & "','" & YUYU("kodebarang") & "'," & YUYU("unit") & "," & YUYU("harga") & ")", ILDA)
ILDA.Open()
SABAR.ExecuteNonQuery()
ILDA.Close()
Next
SABAR.Dispose()
'Mengosongkan isi text box
NT_46110002.Text = ""
JT_46110002.Text = ""
'Mengosongkan baris datatable
YANI.Rows.Clear()
'menutup form
Me.Close()
End Sub
End Class
Dim ILDA As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source =" & Application.StartupPath & "\Datamajemuk.ACCDB")
Dim YANI As New DataTable
Private Sub BATU()
Dim TTOTAL As Integer
For Each hasil As DataRow In YANI.Rows
TTOTAL += hasil("Jumlah")
Next
Total_46110002.Text = TTOTAL
End Sub
Private Sub Latihan_39_46110002_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.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='" & NT_46110002.Text & "'", ILDA)
'bersihkan data
YANI.Rows.Clear()
'untuk memasukkan data yg telah di angkut ke dalam datatable
RINDU.Fill(YANI)
RINDU.Dispose()
'untuk menampilkan isi datatable ke data grid view
YANI.Columns("Kodebarang").DefaultValue = ""
YANI.Columns("NamaBarang").DefaultValue = ""
YANI.Columns("unit").DefaultValue = 0
YANI.Columns("harga").DefaultValue = 0
YANI.Columns("jumlah").DefaultValue = 0
YANI.Columns("NamaBarang").ReadOnly = True
DGV_46110002.DataSource = YANI
'perintah primarykey
Dim WAHILDA(2) As DataColumn
WAHILDA(0) = YANI.Columns("Kodebarang")
YANI.PrimaryKey = WAHILDA
End Sub
Private Sub DGV_46110002_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGV_46110002.CellContentClick
'mengosongkan data
If e.ColumnIndex = 0 Then
DGV_46110002.CurrentRow.Cells("NamaBarang").Value = ""
DGV_46110002.CurrentRow.Cells("Unit").Value = 0
DGV_46110002.CurrentRow.Cells("harga").Value = 0
DGV_46110002.CurrentRow.Cells("Jumlah").Value = 0
'mencari data yang ada di tabel
Dim Pencari As New ByIskandar.CariKeDataBaseByIskandar
Pencari.AturPencarianDataBase("barang", "kodebarang", DGV_46110002.CurrentRow.Cells("kodebarang").Value, 1, ILDA)
If Pencari.JumlanBaris > 0 Then
DGV_46110002.CurrentRow.Cells("kodebarang").Value = Pencari.DataTablenya.Rows(0).Item(0)
DGV_46110002.CurrentRow.Cells("namabarang").Value = Pencari.DataTablenya.Rows(0).Item(1)
Else
MsgBox("the data is not found")
If Latihan_383940_46110002.ShowDialog = Windows.Forms.DialogResult.OK Then
DGV_46110002.CurrentRow.Cells("kodebarang").Value = Latihan_383940_46110002.DGV_46110002.CurrentRow.Cells("KodeBarang").Value
DGV_46110002.CurrentRow.Cells("Namabarang").Value = Latihan_383940_46110002.DGV_46110002.CurrentRow.Cells("namabarang").Value
End If
End If
'mengitung jumlah dan total
ElseIf e.ColumnIndex = 2 Or e.ColumnIndex = 3 Then
DGV_46110002.CurrentRow.Cells("jumlah").Value = DGV_46110002.CurrentRow.Cells("unit").Value * DGV_46110002.CurrentRow.Cells("harga").Value
BATU()
End If
End Sub
Private Sub Simpan_46110002_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Simpan_46110002.Click
'Memeriksa isi textbox
If NT_46110002.Text.Length = 0 Then
MsgBox("Please, insert the Number of the transaction")
Exit Sub
End If
If JT_46110002.Text.Length = 0 Then
MsgBox("Please, insert the type of the transaction")
Exit Sub
End If
If YANI.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", NT_46110002.Text, 1, ILDA)
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 ('" & NT_46110002.Text & "',#" & DTP_46110002.Value.Month & "/" & DTP_46110002.Value.Day & "/" & DTP_46110002.Value.Year & "#,'" & JT_46110002.Text & "')", ILDA)
ILDA.Open()
SABAR.ExecuteNonQuery()
ILDA.Close()
'penyimpanan isi datatable ke detail transaksi
For Each YUYU As DataRow In YANI.Rows
SABAR = New OleDb.OleDbCommand("insert into detailtransaksi (notrans,kodebarang,unit,harga) values ('" & NT_46110002.Text & "','" & YUYU("kodebarang") & "'," & YUYU("unit") & "," & YUYU("harga") & ")", ILDA)
ILDA.Open()
SABAR.ExecuteNonQuery()
ILDA.Close()
Next
SABAR.Dispose()
'Mengosongkan isi text box
NT_46110002.Text = ""
JT_46110002.Text = ""
'Mengosongkan baris datatable
YANI.Rows.Clear()
'menutup form
Me.Close()
End Sub
End Class
Langkah-Langkah Menjalankan Form Latihan
39
·
Klik start debugging lalu klik latihan 39
·
Input data pada textbox yang tersedia sesuai
perintah yang ada pada label.
·
Jika ingin menambahkan data klik “insert”
·
Jika ingin menyimpan data yang telah
diinput/ditambah ke data tabel (Data Majemuk) klik tombol “Save”
·
Selamat mencoba.








0 komentar:
Posting Komentar