Form Latihan_37 terdapat lima object yaitu Label, Textbox,
Button, DateTimePicker dan DataGridView
Object Label
Terdapat
sembilan object Label (yang bertuliskan No. Transaksi,
Tanggal, Jenis Transaksi, Kode Barang, Nama Barang, Unit, Harga, Jumlah dan Total)
Object Textbox
Terdapat delapan object textbox
(lima berstatus input dan tiga berstatus ReadOnly).
Status input digunakan untuk
memasukkan angka.
Statua ReadOnly untuk menampilkan
hasil perhitungan.
Object Button
Terdapat
dua object button yaitu TAMBAH dan SIMPAN
Date TimePicker
Terdapat
1 object DateTimePicker yang digunakan untuk memasukkan tanggal terjadinya
transaksi.
DataGridView
Terdapat
1 DataGridView untuk menampilkan data transaksi
Script Unique
Untuk button TAMBAH
If
KODE_36110044.Text.Length = 0 Then
MsgBox("kode
barang belum terisi")
Exit
Sub
End If
Untuk button SIMPAN
If
NO_36110044.Text.Length = 0 Then
MsgBox("no.transaksi
belum terisi")
Exit
Sub
End If
Even
Latihan_37_36110044_Load
TOTALJUMLAH()
KODE_36110044_Leave
KODE_36110044_TextChanged
UNIT_36110044_TextChanged
TAMBAH_36110044_Click
SIMPAN_36110044_Click
PROSEDUR PENYELESAIAN:
1.
Klik star lalu pilih Microsoft
Visual Studio 2008
2.
Pilih icon Add New Item
3.
Ubah nama pada lembar “Add New Item”
kemudian add
4.
Buat design form dengan
menggunakan Label, Textbox, Button,
DateTimePicker dan DataGridView yang ada dalam "Toolbox”
5.
Ganti nama Textbox dan Button
menggunakan "Properties Window"
6.
Klik kanan pada kotak design kemudian
pilih View Code untuk membuka lembar vb
Masukkan rumus berikut untuk menyelesaikan latihan_37
Masukkan rumus berikut untuk menyelesaikan latihan_37
Public Class Latihan_37_36110044
Dim tiya As New
OleDb.OleDbConnection(" Provider =
microsoft.ace.oledb.12.0; data source = " &
Application.StartupPath & "\DataMajemuk.accdb")
Dim dt As New DataTable
Private Sub Latihan_37_36110044_Load(ByVal
sender As Object,
ByVal e As
System.EventArgs) Handles Me.Load
Dim da As New
OleDb.OleDbDataAdapter
da = New
OleDb.OleDbDataAdapter("Select
BARANG.KODEBARANG, BARANG.NAMABARANG, UNIT, HARGA, UNIT * HARGA As JUMLAH
" & _
"From
DETAILTRANSAKSI Inner join BARANG on DETAILTRANSAKSI.KODEBARANG =
BARANG.KODEBARANG where NOTRANS = '" & NO_36110044.Text & "'", tiya)
dt.Rows.Clear()
da.Fill(dt)
da.Dispose()
Dim
KolomPrimary(1) As DataColumn
KolomPrimary(0) = dt.Columns("KODEBARANG")
dt.PrimaryKey = KolomPrimary
DGV_36110044.DataSource = dt
End Sub
Private Sub Hitung()
Dim
Jumlah As Integer
= 0
For Each row As DataRow In dt.Rows
Jumlah = Jumlah + row("Jumlah")
Next
TOTAL_36110044.Text = Jumlah
End Sub
Private Sub UNIT_36110044_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles
UNIT_36110044.TextChanged, HARGA_36110044.TextChanged
JUMLAH_36110044.Text =
Val(UNIT_36110044.Text) * Val(HARGA_36110044.Text)
End Sub
Private Sub KODE_36110044_Leave(ByVal
sender As Object,
ByVal e As
System.EventArgs) Handles KODE_36110044.Leave
If
KODE_36110044.Text.Length = 0 Then
Exit
Sub
End If
Dim
Pencari As New
ByIskandar.CariKeDataBaseByIskandar
Pencari.AturPencarianDataBase("BARANG", "KODEBARANG",
KODE_36110044.Text, 1, tiya)
If
Pencari.JumlanBaris = 0 Then
MsgBox("Kode
barang tersebut tidak ada")
Exit
Sub
End If
NMBARANG_36110044.Text =
Pencari.DataTablenya.Rows(0).Item("NAMABARANG")
End Sub
Private Sub KODE_36110044_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles
KODE_36110044.TextChanged
NMBARANG_36110044.Text = ""
UNIT_36110044.Text = ""
HARGA_36110044.Text = ""
End Sub
Private Sub TAMBAH_36110044_Click(ByVal
sender As Object,
ByVal e As
System.EventArgs) Handles TAMBAH_36110044.Click
If
KODE_36110044.Text.Length = 0 Then
MsgBox("Anda
Harus Masukkan Kode Barangnya")
Exit
Sub
End If
If
NMBARANG_36110044.Text.Length = 0 Then
MsgBox("Anda
Harus Masukkan Nama Barangnya")
Exit
Sub
End If
If
Val(UNIT_36110044.Text) = 0 Then
MsgBox("Anda
Harus Masukkan Unit Barangnya")
Exit
Sub
End If
If
Val(HARGA_36110044.Text) = 0 Then
MsgBox("Anda
Harus Masukkan Harga Barangnya")
Exit
Sub
End If
If
dt.Rows.Find(KODE_36110044.Text) Is Nothing Then
dt.Rows.Add(KODE_36110044.Text,
NMBARANG_36110044.Text, Val(UNIT_36110044.Text), Val(HARGA_36110044.Text),
Val(JUMLAH_36110044.Text))
Else
MsgBox("Kode
Barang Sudah Ada, Masukkan Kode Barang yang Lain!")
Exit
Sub
End If
KODE_36110044.Text = ""
UNIT_36110044.Text = ""
HARGA_36110044.Text = ""
Hitung()
End Sub
Private Sub SIMPAN_36110044_Click(ByVal
sender As Object,
ByVal e As
System.EventArgs) Handles SIMPAN_36110044.Click
If
NO_36110044.Text.Length = 0 Then
MsgBox("Anda
Harus Masukkan No Transaksinya")
Exit
Sub
End If
If
JENIS_36110044.Text.Length = 0 Then
MsgBox("Anda
Harus Masukkan Jenis Transaksinya")
Exit
Sub
End If
If
dt.Rows.Count = 0 Then
MsgBox("Datanya
Belum Ada, Masukkan Kode Barang, Unit dan harganya")
Exit
Sub
End If
Dim
Periksa As New
ByIskandar.CariKeDataBaseByIskandar
Periksa.AturPencarianDataBase("MASTERTRANSAKSI", "NOTRANS", NO_36110044.Text, 1, tiya)
If
Periksa.JumlanBaris > 0 Then
MsgBox("No
Transaksi Sudah Ada, Masukkan No Transaksi yang Lain")
Exit
Sub
End If
Dim
truckRio As New
OleDb.OleDbCommand
truckRio = New
OleDb.OleDbCommand("Insert Into
MASTERTRANSAKSI (NOTRANS, TANGGALTRANSAKSI, JENISTRANSAKSI) " &
_
"Values
('" & NO_36110044.Text & "',
#" & DTP_36110044.Value.Month & "/"
& DTP_36110044.Value.Day & "/"
& DTP_36110044.Value.Year & "#,
'" & JENIS_36110044.Text & "')",
tiya)
tiya.Open()
truckRio.ExecuteNonQuery()
tiya.Close()
For Each row As DataRow In dt.Rows
truckRio = New
OleDb.OleDbCommand("Insert Into
DETAILTRANSAKSI (NOTRANS, KODEBARANG, UNIT, HARGA) " & _
"Values
('" & NO_36110044.Text & "',
'" & row("KODEBARANG")
& "', " & row("UNIT") & ",
" & row("HARGA")
& ")", tiya)
tiya.Open()
truckRio.ExecuteNonQuery()
tiya.Close()
Next
truckRio.Dispose()
NO_36110044.Text = ""
JENIS_36110044.Text = ""
dt.Rows.Clear()
Hitung()
End Sub
End Class
7. Jalankan program dengan menggunakan “start debugging”
Tidak ada komentar:
Posting Komentar