Deskripsi Penyelesaian
Latihan_38_36110041
A. Objek dalam Form Latihan_38:
Dalam form latihan ini terdapat lima object yaitu Label, TextBox,
DateTimePicker, DataGridView, dan buttom.
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 DateTimePicker
Terdapat satu object datetimepicker yang digunakan untuk menentukan tanggal
transaksi.
4. Object DataGridView
Terdapat satu object datagridview yang digunakan untuk menampilkan data
yang telah diinput pada textbox.
5. 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_383940_36110041.
B. Script Unique
Untuk scriptnya akan ditampilkan
secara keseluruhan dalam prosedur
Latihan_38_36110041_Load
C.
Even
latihan_38_36110041_Load
KB_36110041_leave
KB_36110041_TextChanged
Tambah_36110041_Click
Simpan_36110041_Click
Unit_36110041_TextChanged
Harga_36110041_TextChanged
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_38_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_38_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")
If
latihan_38_39_40_36110041.ShowDialog = Windows.Forms.DialogResult.OK Then
KB_36110041.Text =
latihan_38_39_40_36110041.rizka_36110041.CurrentRow.Cells("kodebarang").Value
NB_36110041.Text =
latihan_38_39_40_36110041.rizka_36110041.CurrentRow.Cells("namabarang").Value
Else
KB_36110041.Text = ""
End
If
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_36110041.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