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”.
Script Unique
Lebih lengkap dapat dilihat pada script yang ada pada langkah-langkah membuat form pada poin ke 5 dibawah ini
Even
Load
ButtonClick
Langkah-Langkah membuat Form Latihan_38
1. Buka Project yang telah dibuat sebelumnya , Pilih menu Project lalu klik add windows form
2. Ketik nama Latihan_38 yang akan dibuat pada kotak “NAME” lalu pilih “add”
3. Buatlah desain seperti berikut menggunakan toolbox
Klik kanan, pilih "properties" dan Beri nama pada objek di kolom "Name" kecuali pada object Label
4. Pilih menu “view” klik “code”
5. Masukkan rumus berikut:
Public Class Latihan_38A_46110045
Dim dina As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source =" & Application.StartupPath & "\Datamajemuk.ACCDB")
Dim dyna As New DataTable
Private Sub BATU()
Dim TTOTAL As Integer
For Each hasil As DataRow In dyna.Rows
TTOTAL += hasil("Jumlah")
Next
Total_46110045.Text = TTOTAL
End Sub
Private Sub Latihan_38_46110045_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
'mendeklarasikan kendaraan
Dim robot As New OleDb.OleDbDataAdapter
'Mengatur data yang akan di angkut
robot = 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_46110045.Text & "'", dina)
'bersihkan data
dyna.Rows.Clear()
'untuk memasukkan data yg telah di angkut ke dalam datatable
robot.Fill(dyna)
'untuk menampilkan isi datatable ke data grid view
robot.Dispose()
DGV_46110045.DataSource = dyna
'perintah primarykey
Dim diana(2) As DataColumn
diana(0) = dyna.Columns("Kodebarang")
dyna.PrimaryKey = diana
End Sub
Private Sub KB_46110045Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KB_46110045.Leave
If KB_46110045.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_46110045.Text, 1, dina)
If Pencari.JumlanBaris > 0 Then
NB_46110045.Text = Pencari.DataTablenya.Rows(0).Item(1)
Else
MsgBox("the data is not exist, please choose from the this list")
If Latihan_38B_46110045.ShowDialog = Windows.Forms.DialogResult.OK Then
KB_46110045.Text = Latihan_38B_46110045.DGV_46110045.CurrentRow.Cells("KodeBarang").Value
NB_46110045.Text = Latihan_38B_46110045.DGV_46110045.CurrentRow.Cells("namabarang").Value
Harga_46110045.Text = Latihan_38B_46110045.DGV_46110045.CurrentRow.Cells("hargajual").Value
Else
KB_46110045.Text = ""
NB_46110045.Text = ""
End If
End If
End Sub
Private Sub INSERT_46110045_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles INSERT_46110045.Click
'Memeriksa isi textbox
If KB_46110045.Text.Length = 0 Then
MsgBox("Please, insert the code of goods")
Exit Sub
End If
If Unit_46110045.Text.Length = 0 Then
MsgBox("Please, insert the unit of goods")
Exit Sub
End If
If Harga_46110045.Text.Length = 0 Then
MsgBox("Please, insert the cost of goods")
Exit Sub
End If
'perintah pencarian data
Dim kabot As DataRow
kabot = dyna.Rows.Find(KB_46110045.Text)
If Not kabot Is Nothing Then
MsgBox("Sorry, the data has been exist!!! Please insert new data")
Exit Sub
End If
'penyimpanan data ke datatable
dyna.Rows.Add(KB_46110045.Text, NB_46110045.Text, Val(Unit_46110045.Text), Val(Harga_46110045.Text), Jumlah_46110045.Text)
BATU()
'mengosongkan textbox
KB_46110045.Text = ""
NB_46110045.Text = ""
Unit_46110045.Text = ""
Harga_46110045.Text = ""
Jumlah_46110045.Text = ""
End Sub
Private Sub Unit_46110045_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Unit_46110045.TextChanged
Jumlah_46110045.Text = Val(Unit_46110045.Text) * Val(Harga_46110045.Text)
End Sub
Private Sub Simpan_46110045_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Simpan_46110045.Click
'Memeriksa isi textbox
If NT_46110045.Text.Length = 0 Then
MsgBox("Please, insert the Number of the transaction")
Exit Sub
End If
If JT_46110045.Text.Length = 0 Then
MsgBox("Please, insert the type of the transaction")
Exit Sub
End If
If dyna.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_46110045.Text, 1, dina)
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_46110045.Text & "',#" & DTP_46110045.Value.Month & "/" & DTP_46110045.Value.Day & "/" & DTP_46110045.Value.Year & "#,'" & JT_46110045.Text & "')", dina)
dina.Open()
SABAR.ExecuteNonQuery()
dina.Close()
'penyimpanan isi datatable ke detail transaksi
For Each fadli As DataRow In dyna.Rows
SABAR = New OleDb.OleDbCommand("insert into detailtransaksi (notrans,kodebarang,unit,harga) values ('" & NT_46110045.Text & "','" & fadli("kodebarang") & "'," & fadli("unit") & "," & fadli("harga") & ")", dina)
dina.Open()
SABAR.ExecuteNonQuery()
dina.Close()
Next
SABAR.Dispose()
'Mengosongkan isi text box
NT_46110045.Text = ""
JT_46110045.Text = ""
'Mengosongkan baris datatable
dyna.Rows.Clear()
'menutup form
Me.Close()
End Sub
End Class