A. Object-object dalam Latihan_38_36110051
:
1. Object Label
Terdapat
sembilan label (yang bertuliskan no transaksi, tanggal, jenis transaksi, kode
barang, namabarang, unit, harga, jumlah, dan total).
2. Object Textbox
Terdapat
delapan textbox (lima status input dan tiga status readonly). Status input digunakan
untuk memasukkan nilai: no transaksi, jenis transaksi, kode barang, unit, dan
harga. Status readonly digunakan untuk menampilkan nama barang, jumlah, dan
total.
3. Object Button
Terdapat dua
object button (Tambah dan Simpan). Tombol tambah digunakan untuk menyimpan data
yang telah diinput pada textbox ke dalam datatabel (yang ditampilkan pada
datagridview). Tombol simpan digunakan untuk menyimpan data yang telah diinput
ke dalam database (DATA MAJEMUK). Kode barang yang diinput harus merupakan kode
barang yang sudah ada pada tabel kode barang karena nama barang akan
ditampilkan pada textbox readonly sesuai dengan kode barang yang diinput. Jika
kode barang tidak ada, maka akan muncul
form Latihan_38_39_40_36110051.
4. Object DateTimePicker
Terdapat
satu object datetimepicker yang digunakan untuk menentukan tanggal transaksi.
5. Object DataGridView
Terdapat satu object datagridview
yang digunakan untuk menampilkan data yang telah diinput pada textbox.
B. Script Unique
C. Even
TAMBAH_36110051_Click
Latihan_38_36110051_Load
SIMPAN_36110051_Click
Hitung()
UNIT_36110051_TextChanged
HARGA_36110051.TextChanged
D. Property
Property TextBox ==> ReadOnly=True
PROSEDUR :
1. Klik Start dan pilih Microsoft
Visual Studio 2008.
2. Klik menu file dan pilih New Project.
3. Ketik nama dan pilih lokasi yang
diinginkan pada masing-masing tempat yang tersedia, klik Ok.
4. Klik menu view dan pilih toolbox dan
buatlah desain kolom seperti kolom dibawah ini:
5.
Berikut ini adalah rumus untuk menjalankan form di atas:
Public NotInheritable Class
Latihan_38_36110051
Dim MELISSA
As New
ByIskandar.CariKeDataBaseByIskandar
Dim ACI As New DataTable
Dim ISA As New
OleDb.OleDbCommand
Dim RANTE As New
OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data
Source='" & Application.StartupPath & "\DataMajemuk.accdb'")
Private Sub Latihan_38_36109003_Load(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Dim r As New OleDb.OleDbDataAdapter
r = New
OleDb.OleDbDataAdapter("select
barang.KODEBARANG, barang.NAMABARANG, detailtransaksi.UNIT,
detailtransaksi.HARGA, detailtransaksi.unit*harga as JUMLAH from barang inner
join detailtransaksi on barang.kodebarang = detailtransaksi.kodebarang where
notrans ='" & nt_36110051.Text & "'",
RANTE)
ACI.Rows.Clear()
r.Fill(ACI)
r.Dispose()
dgv_36110051.DataSource = ACI
Dim
sudar(1) As DataColumn
sudar(0) = ACI.Columns("kodebarang")
ACI.PrimaryKey = sudar
End Sub
Private Sub anra()
Dim
anra1 As Integer
= 0
For Each anra2 As DataRow
In ACI.Rows
anra1 += anra2("JUMLAH")
Next
total_36110051.Text = anra1
End Sub
Private Sub kb_36109003_leave(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles kb_36110051.Leave
If
kb_36110051.Text.Length = 0 Then
Exit
Sub
End If
MELISSA.AturPencarianDataBase("barang", "kodebarang",
kb_36110051.Text, 1, RANTE)
If
MELISSA.JumlanBaris > 0 Then
kb_36110051.Text =
MELISSA.DataTablenya.Rows(0).Item("KODEBARANG")
nb_36110051.Text =
MELISSA.DataTablenya.Rows(0).Item("NAMABARANG")
Else
MsgBox("Kode
barang tidak terdaftar")
If
Latihan_38_39_40_36110051.ShowDialog = Windows.Forms.DialogResult.OK Then
kb_36110051.Text =
Latihan_38_39_40_36110051.dgv_36110051.CurrentRow.Cells("kodebarang").Value
nb_36110051.Text =
Latihan_38_39_40_36110051.dgv_36110051.CurrentRow.Cells("namabarang").Value
Else
kb_36110051.Text = ""
End
If
End If
End Sub
Private Sub kb_36110051_TextChanged(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles
kb_36110051.TextChanged
nb_36110051.Text = ""
unit_36110051.Text = ""
harga_36110051.Text = ""
End Sub
Private Sub tambah_36110051_Click(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles tambah_36110051.Click
If
kb_36110051.Text.Length = 0 Then
MsgBox("kode
barang tidak terisi")
ElseIf
Val(unit_36110051.Text) = 0 Then
MsgBox("unit
tidak terisi")
ElseIf
Val(harga_36110051.Text) = 0 Then
MsgBox("harga
barang tidak terisi")
Exit
Sub
End If
Dim dt As DataRow
dt = ACI.Rows.Find(kb_36110051.Text)
If dt Is Nothing Then
dt = ACI.NewRow
dt("KODEBARANG")
= kb_36110051.Text
dt("NAMABARANG")
= nb_36110051.Text
dt("UNIT")
= unit_36110051.Text
dt("HARGA")
= harga_36110051.Text
dt("JUMLAH")
= Val(jumlah_36110051.Text)
ACI.Rows.Add(dt)
kb_36110051.Text = ""
unit_36110051.Text = ""
harga_36110051.Text = ""
Else
MsgBox("kode
barang telah terdaftar,")
End If
anra()
End Sub
Private Sub simpan_36110051_Click(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles simpan_36110051.Click
If
nt_36110051.Text.Length = 0 Then
MsgBox("nomor
transaksi harus terisi")
ElseIf
jt_36110051.Text.Length = 0 Then
MsgBox("Isi
rong Jenis Transaksi na..")
ElseIf
ACI.Rows.Count = 0 Then
MsgBox("data
table tidak boleh kosong")
Exit
Sub
End If
MELISSA.AturPencarianDataBase("mastertransaksi", "notrans", nt_36110051.Text, 1, RANTE)
If
MELISSA.JumlanBaris > 0 Then
MsgBox("nomor
transaksi telah ada")
Exit
Sub
End If
ISA = New
OleDb.OleDbCommand("insert into
mastertransaksi(notrans, tanggaltransaksi, jenistransaksi) values ('"
& nt_36110051.Text & "',#"
& tgl_36110051.Value.Month & "/"
& tgl_36110051.Value.Day & "/"
& tgl_36110051.Value.Year & "#,'"
& jt_36110051.Text & "')",
RANTE)
RANTE.Open()
ISA.ExecuteNonQuery()
RANTE.Close()
For Each x As DataRow In ACI.Rows
ISA = New
OleDb.OleDbCommand("insert into
detailtransaksi(notrans, kodebarang, unit, harga) values ('" &
nt_36110051.Text & "','" &
x("kodebarang") & "','" & x("unit")
& "','" & x("harga") & "')",
RANTE)
RANTE.Open()
ISA.ExecuteNonQuery()
RANTE.Close()
Next
ISA.Dispose()
nt_36110051.Text = ""
jt_36110051.Text = ""
ACI.Rows.Clear()
anra()
End Sub
Private Sub unit_36110051_TextChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles
unit_36110051.TextChanged
jumlah_36110051.Text =
Val(unit_36110051.Text) * Val(harga_36110051.Text)
End Sub
Private Sub harga_36110051_TextChanged(ByVal sender As
System.Object, ByVal e As
System.EventArgs) Handles
harga_36110051.TextChanged
jumlah_36110051.Text =
Val(unit_36110051.Text) * Val(harga_36110051.Text)
End Sub
End Class
6. Uji program
dengan mengklik icon Start Debugging.
Tidak ada komentar:
Posting Komentar