Deskripsi Form Latihan 38
Pada form latihan 38 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 6 (no. transaksi, tanggal, jenis transaksi, kode
barang, nama barang, unit, harga, jumlah dan total).
Object TextBox
Pada form ini
ada 8 textbox yang digunakan (6 status input dan 3 status readonly). Status
input digunakan untuk memasukkan data. Data yang dimasukkan yaitu “no.
transaksi, tanggal, jenis transaksi, kode barang, unit dan harga”.
Object
DateTimePicker
Pada latihan 38
terdapat 1 datetimepicker. Datetimepicker digunakan dalam menginput data berupa
tahun, bulan dan tanggal.
Object
Button
Terdapat 2 object button (insert
dan save). Tombol “insert” digunakan untuk menambah data dan tombol “save”
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_38_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_38_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_38_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)
'untuk menampilkan isi datatable ke data grid view
RINDU.Dispose()
DGV_46110002.DataSource = YANI
'perintah primarykey
Dim WAHILDA(2) As DataColumn
WAHILDA(0) = YANI.Columns("Kodebarang")
YANI.PrimaryKey = WAHILDA
End Sub
Private Sub KB_46110002Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KB_46110002.Leave
If KB_46110002.Text.Length = 0 Then
Exit Sub
End If
'mencari data yang ada di tabel
Dim Pencari As New ByIskandar.CariKeDataBaseByIskandar
Pencari.AturPencarianDataBase("barang", "kodebarang", KB_46110002.Text, 1, ILDA)
If Pencari.JumlanBaris > 0 Then
NB_46110002.Text = Pencari.DataTablenya.Rows(0).Item(1)
Else
MsgBox("the data is not exist, please choose from the this list")
If Latihan_383940_46110002.ShowDialog = Windows.Forms.DialogResult.OK Then
KB_46110002.Text = Latihan_383940_46110002.DGV_46110002.CurrentRow.Cells("KodeBarang").Value
NB_46110002.Text = Latihan_383940_46110002.DGV_46110002.CurrentRow.Cells("namabarang").Value
Harga_46110002.Text = Latihan_383940_46110002.DGV_46110002.CurrentRow.Cells("hargajual").Value
Else
KB_46110002.Text = ""
NB_46110002.Text = ""
End If
End If
End Sub
Private Sub INSERT_46110002_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles INSERT_46110002.Click
'Memeriksa isi textbox
If KB_46110002.Text.Length = 0 Then
MsgBox("Please, insert the code of goods")
Exit Sub
End If
If Unit_46110002.Text.Length = 0 Then
MsgBox("Please, insert the unit of goods")
Exit Sub
End If
If Harga_46110002.Text.Length = 0 Then
MsgBox("Please, insert the cost of goods")
Exit Sub
End If
'perintah pencarian data
Dim CINTA As DataRow
CINTA = YANI.Rows.Find(KB_46110002.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
YANI.Rows.Add(KB_46110002.Text, NB_46110002.Text, Val(Unit_46110002.Text), Val(Harga_46110002.Text), Jumlah_46110002.Text)
BATU()
'mengosongkan textbox
KB_46110002.Text = ""
NB_46110002.Text = ""
Unit_46110002.Text = ""
Harga_46110002.Text = ""
Jumlah_46110002.Text = ""
End Sub
Private Sub Harga_46110002_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Harga_46110002.TextChanged
Jumlah_46110002.Text = Val(Unit_46110002.Text) * Val(Harga_46110002.Text)
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_38_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)
'untuk menampilkan isi datatable ke data grid view
RINDU.Dispose()
DGV_46110002.DataSource = YANI
'perintah primarykey
Dim WAHILDA(2) As DataColumn
WAHILDA(0) = YANI.Columns("Kodebarang")
YANI.PrimaryKey = WAHILDA
End Sub
Private Sub KB_46110002Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KB_46110002.Leave
If KB_46110002.Text.Length = 0 Then
Exit Sub
End If
'mencari data yang ada di tabel
Dim Pencari As New ByIskandar.CariKeDataBaseByIskandar
Pencari.AturPencarianDataBase("barang", "kodebarang", KB_46110002.Text, 1, ILDA)
If Pencari.JumlanBaris > 0 Then
NB_46110002.Text = Pencari.DataTablenya.Rows(0).Item(1)
Else
MsgBox("the data is not exist, please choose from the this list")
If Latihan_383940_46110002.ShowDialog = Windows.Forms.DialogResult.OK Then
KB_46110002.Text = Latihan_383940_46110002.DGV_46110002.CurrentRow.Cells("KodeBarang").Value
NB_46110002.Text = Latihan_383940_46110002.DGV_46110002.CurrentRow.Cells("namabarang").Value
Harga_46110002.Text = Latihan_383940_46110002.DGV_46110002.CurrentRow.Cells("hargajual").Value
Else
KB_46110002.Text = ""
NB_46110002.Text = ""
End If
End If
End Sub
Private Sub INSERT_46110002_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles INSERT_46110002.Click
'Memeriksa isi textbox
If KB_46110002.Text.Length = 0 Then
MsgBox("Please, insert the code of goods")
Exit Sub
End If
If Unit_46110002.Text.Length = 0 Then
MsgBox("Please, insert the unit of goods")
Exit Sub
End If
If Harga_46110002.Text.Length = 0 Then
MsgBox("Please, insert the cost of goods")
Exit Sub
End If
'perintah pencarian data
Dim CINTA As DataRow
CINTA = YANI.Rows.Find(KB_46110002.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
YANI.Rows.Add(KB_46110002.Text, NB_46110002.Text, Val(Unit_46110002.Text), Val(Harga_46110002.Text), Jumlah_46110002.Text)
BATU()
'mengosongkan textbox
KB_46110002.Text = ""
NB_46110002.Text = ""
Unit_46110002.Text = ""
Harga_46110002.Text = ""
Jumlah_46110002.Text = ""
End Sub
Private Sub Harga_46110002_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Harga_46110002.TextChanged
Jumlah_46110002.Text = Val(Unit_46110002.Text) * Val(Harga_46110002.Text)
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
38
·
Klik start debugging lalu klik latihan 38
·
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