Deskripsi Penyelesaian
Latihan_37_36110041
A. Objek dalam Form Latihan_37:
Dalam form latihan ini terdapat lima object yaitu Label, TextBox,
DateTimePicker, DataGridView, dan Buttom.
1. Object Label
Terdapat sembilan object Label yang bertuliskan No. Transaksi, Tanggal,
Jenis Transaksi, Kode Barang, Nama Barang, Unit, dan Jumlah, Harga, dan Total.
2. Object TextBox
Terdapat delapan textbox (lima status input dan tiga status read only). Status input digunakan untuk memasukkan data No. Transaksi, Jenis Transaksi, Kode Barang, Unit,
Jumlah. Status Read Only digunakan untuk
menampilkan Nama Barang
dan Harga.
3. Object DateTimePicker
Terdapat satu object DateTimePicker yang digunakan dalam memfilter
data tabel yang ada di datagridview.
4. Object DataGridView
5. Terdapat satu object DataGridView yang digunakan untuk menampilkan hasil pengimputan data berupa Kode Barang, Unit, dan Jumlah yang telah diinput pada textbox.
6. Object Buttom
Terdapat dua object (Tambah dan
Simpan), dimana Tambah digunakan untuk menambah data Kode Barang, Unit, dan Jumlah dalam DataGridView, sedangakan Simpan digunakan untuk menyimpan hasil pengimputan dari data Kode
Barang, Unit, dan Jumlah kedalam DetailTransaksi.
B. Script Unique
Untuk Buttom "Tambah"
Tambah_36110041_Click
Untuk Buttom
"Simpan"
Simpan_36110041_Click
C.
Even
Tambah_36110041_Click
Latihan_37_36110041_Load
Simpan_36110041
Prosedur penyelesaian
1. Buka Project yang telah dibuat
sebelumnya klik Add New Item => Add Windows Form
2.
Kemudian beri nama
dan klik Add
3.
buat form seperti di bawah ini
dengan menggunakan toolbox yang saya tunjukkan pada postingan sebelumnya.
4.
Berikut
ini adalah rumus untuk menjalankan form di atas
Public Class latihan_37_36110041
Dim cari As
New OleDb.OleDbCommand
Dim conect As
New ByIskandar.CariKeDataBaseByIskandar
Dim rizka As
New DataTable
Dim azisah As
New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data
Source=" & Application.StartupPath & "\DataMajemuk.accdb;Jet OLEDB:Database
Password=008")
Private Sub
latihan_37_36110041_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_36110041.Text
& "'", azisah)
rizka.Rows.Clear()
r.Fill(rizka)
r.Dispose()
rizka_36110041.DataSource = rizka
Dim sudar(1) As
DataColumn
sudar(0) = rizka.Columns("kodebarang")
rizka.PrimaryKey = sudar
End Sub
Private Sub
sis()
Dim sis1 As
Integer = 0
For Each
sis2 As DataRow In
rizka.Rows
sis1 += sis2("JUMLAH")
Next
Total_36110041.Text = sis1
End Sub
Private Sub
KB_36110041_leave(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
KB_36110041.Leave
If KB_36110041.Text.Length = 0 Then
Exit
Sub
End If
conect.AturPencarianDataBase("barang",
"kodebarang", KB_36110041.Text, 1,
azisah)
If conect.JumlanBaris > 0 Then
KB_36110041.Text =
conect.DataTablenya.Rows(0).Item("KODEBARANG")
NB_36110041.Text =
conect.DataTablenya.Rows(0).Item("NAMABARANG")
Else
MsgBox("Kode
barang tidak terdaftar")
Exit
Sub
End If
End Sub
Private Sub
KB_36110041_TextChanged(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
KB_36110041.TextChanged
NB_36110041.Text = ""
Unit_36110041.Text = ""
Harga_36110041.Text = ""
End Sub
Private Sub
Tambah_36110041_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
Tambah_36110041.Click
If KB_36110041.Text.Length = 0 Then
MsgBox("kode
barang tidak terisi")
ElseIf Val(Unit_36110041.Text) = 0 Then
MsgBox("unit
tidak terisi")
ElseIf Val(Harga_36110041.Text) = 0 Then
MsgBox("harga
barang tidak terisi")
Exit
Sub
End If
Dim dt As
DataRow
dt = rizka.Rows.Find(KB_36110041.Text)
If dt Is
Nothing Then
dt = rizka.NewRow
dt("KODEBARANG")
= KB_36110041.Text
dt("NAMABARANG")
= NB_36110041.Text
dt("UNIT")
= Unit_36110041.Text
dt("HARGA")
= Harga_36110041.Text
dt("JUMLAH")
= Val(Jumlah_36110041.Text)
rizka.Rows.Add(dt)
KB_36110041.Text = ""
Unit_36110041.Text = ""
Harga_36110041.Text = ""
Else
MsgBox("kode
barang telah terdaftar,")
End If
sis()
End Sub
Private Sub
Simpan_36110041_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
Simpan_36110041.Click
If NT_36110041.Text.Length = 0 Then
MsgBox("nomor
transaksi harus terisi")
ElseIf JT_36110041.Text.Length = 0 Then
MsgBox("Isi
rong Jenis Transaksi na..")
ElseIf rizka.Rows.Count = 0 Then
MsgBox("data
table tidak boleh kosong")
Exit
Sub
End If
conect.AturPencarianDataBase("mastertransaksi",
"notrans", NT_36110041.Text, 1,
azisah)
If conect.JumlanBaris > 0 Then
MsgBox("nomor
transaksi telah ada")
Exit
Sub
End If
cari = New OleDb.OleDbCommand("insert into mastertransaksi(notrans,
tanggaltransaksi, jenistransaksi) values ('" & NT_36110041.Text
& "',#" &
TGL_36110041.Value.Month & "/"
& TGL_36110041.Value.Day & "/"
& TGL_36110041.Value.Year & "#,'"
& JT_36110041.Text & "')",
azisah)
azisah.Open()
cari.ExecuteNonQuery()
azisah.Close()
For Each
x As DataRow In
rizka.Rows
cari = New
OleDb.OleDbCommand("insert into
detailtransaksi(notrans, kodebarang, unit, harga) values ('" &
NT_36110041.Text & "','" &
x("kodebarang") & "','" & x("unit")
& "','" & x("harga") & "')",
azisah)
azisah.Open()
cari.ExecuteNonQuery()
azisah.Close()
Next
cari.Dispose()
NT_36110041.Text = ""
JT_36110041.Text = ""
rizka.Rows.Clear()
sis()
End Sub
Private Sub
Unit_36110041_TextChanged(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
Unit_36110041.TextChanged
Jumlah_36110041.Text = Val(Unit_36110041.Text) *
Val(Harga_36110041.Text)
End Sub
Private Sub
Harga_36110041_TextChanged(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
Harga_36110041.TextChanged
Jumlah_36110041.Text = Val(Unit_36110041.Text) *
Val(Harga_36110041.Text)
End Sub
End Class
5.
Kemudian jalanka perintahnya
Tidak ada komentar:
Posting Komentar