Deskripsi Form
Latihan_39_46110023
Form Latihan_39_46110023 terdapat
Lima object yaitu Label, Textbox, Button, data time picker, dan Data Grid View.
Object Label
Terdapat Sembilan object label yang bertuliskan “no. transaksi”, “tanggal”, “jenis transaksi”, dan "total".
Object TextBox
Terdapat dua object textbox yang
berstatus input dan satu yang berstatus ReadOnly
Object Button
Terdapat Dua object button yaitu
Button "insert" yang digunakan untuk menginput data textbox ke tabel
yang ada pada data grid view. Sedangkan button "save" digunakan untuk
menyimpan data yang diinput ke database.
Object Date Time Picker
Dalam latihan ini terdapat sebuah date time picker yeng terdapat pada "Tanggal"
Dalam latihan ini terdapat sebuah date time picker yeng terdapat pada "Tanggal"
Object DataGridView
Terdapat sebuah object data grid
view yang berguna untuk menampilkan detail data yang telah diinput
Even
click
click
load
Property
:
Property TextBox ==>
ReadOnly=True
Prosedur Penyelesaiaan
- Buka
project yang telah dibuat
- pilih menu project yang ada pada menubar lalu pilih add windows form
- Ganti
nama form sesuai dengan nama latihan
- Buatlah
form seperti gambar ini

- Ganti nama pada semua objek kecuali objek label
- Masukkan
rumus berikut : Public Class LATIHAN_39_46110023
Dim DIAN As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source =" & Application.StartupPath & "\Datamajemuk.ACCDB")
Dim AYU As New DataTable
Private Sub BATU()
Dim TTOTAL As Integer
For Each hasil As DataRow In AYU.Rows
TTOTAL += hasil("Jumlah")
Next
Total_46110023.Text = TTOTAL
End Sub
Private Sub Latihan_39_46110023_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_46110023.Text & "'", DIAN)
'bersihkan data
AYU.Rows.Clear()
'untuk memasukkan data yg telah di angkut ke dalam datatable
RINDU.Fill(AYU)
RINDU.Dispose()
'untuk menampilkan isi datatable ke data grid view
AYU.Columns("Kodebarang").DefaultValue = ""
AYU.Columns("NamaBarang").DefaultValue = ""
AYU.Columns("unit").DefaultValue = 0
AYU.Columns("harga").DefaultValue = 0
AYU.Columns("jumlah").DefaultValue = 0
AYU.Columns("NamaBarang").ReadOnly = True
DGV_46110023.DataSource = AYU
'perintah primarykey
Dim MEGA(2) As DataColumn
MEGA(0) = AYU.Columns("Kodebarang")
AYU.PrimaryKey = MEGA
End Sub
Private Sub DGV_46110023_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGV_46110023.CellContentClick
'mengosongkan data
If e.ColumnIndex = 0 Then
DGV_46110023.CurrentRow.Cells("NamaBarang").Value = ""
DGV_46110023.CurrentRow.Cells("Unit").Value = 0
DGV_46110023.CurrentRow.Cells("harga").Value = 0
DGV_46110023.CurrentRow.Cells("Jumlah").Value = 0
'mencari data yang ada di tabel
Dim Pencari As New ByIskandar.CariKeDataBaseByIskandar
Pencari.AturPencarianDataBase("barang", "kodebarang", DGV_46110023.CurrentRow.Cells("kodebarang").Value, 1, DIAN)
If Pencari.JumlanBaris > 0 Then
DGV_46110023.CurrentRow.Cells("kodebarang").Value = Pencari.DataTablenya.Rows(0).Item(0)
DGV_46110023.CurrentRow.Cells("namabarang").Value = Pencari.DataTablenya.Rows(0).Item(1)
Else
MsgBox("the data is not found")
If LATIHAN_383940_46110023.ShowDialog = Windows.Forms.DialogResult.OK Then
DGV_46110023.CurrentRow.Cells("kodebarang").Value = LATIHAN_383940_46110023.DGV_46110023.CurrentRow.Cells("KodeBarang").Value
DGV_46110023.CurrentRow.Cells("Namabarang").Value = LATIHAN_383940_46110023.DGV_46110023.CurrentRow.Cells("namabarang").Value
End If
End If
'mengitung jumlah dan total
ElseIf e.ColumnIndex = 2 Or e.ColumnIndex = 3 Then
DGV_46110023.CurrentRow.Cells("jumlah").Value = DGV_46110023.CurrentRow.Cells("unit").Value * DGV_46110023.CurrentRow.Cells("harga").Value
BATU()
End If
End Sub
Private Sub Simpan_46110023_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Simpan_46110023.Click
'Memeriksa isi textbox
If NT_46110023.Text.Length = 0 Then
MsgBox("Please, insert the Number of the transaction")
Exit Sub
End If
If JT_46110023.Text.Length = 0 Then
MsgBox("Please, insert the type of the transaction")
Exit Sub
End If
If AYU.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_46110023.Text, 1, DIAN)
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_46110023.Text & "',#" & DTP_46110023.Value.Month & "/" & DTP_46110023.Value.Day & "/" & DTP_46110023.Value.Year & "#,'" & JT_46110023.Text & "')", DIAN)
DIAN.Open()
SABAR.ExecuteNonQuery()
DIAN.Close()
'penyimpanan isi datatable ke detail transaksi
For Each YUYU As DataRow In AYU.Rows
SABAR = New OleDb.OleDbCommand("insert into detailtransaksi (notrans,kodebarang,unit,harga) values ('" & NT_46110023.Text & "','" & YUYU("kodebarang") & "'," & YUYU("unit") & "," & YUYU("harga") & ")", DIAN)
DIAN.Open()
SABAR.ExecuteNonQuery()
DIAN.Close()
Next
SABAR.Dispose()
'Mengosongkan isi text box
NT_46110023.Text = ""
JT_46110023.Text = ""
'Mengosongkan baris datatable
AYU.Rows.Clear()
'menutup form
Me.Close()
End Sub
End Class
- Uji program dengan mengklik debugging
- Selesai
Tidak ada komentar:
Posting Komentar