Deskripsi Penyelesaian
Latihan_39_36110041
A. Objek dalam Form Latihan_39:
Dalam form latihan ini terdapat lima object yaitu Label, TextBox,
DateTimePicker, DataGridView, dan buttom.
1. Object Label
Terdapat empat label (yang bertuliskan no transaksi, tanggal, jenis
transaksi, dan total).
2. Object Textbox
Terdapat tiga textbox (dua status input dan sat status readonly). Status
input digunakan untuk memasukkan nilai no transaksi dan jenis transaksi. Status
readonly digunakan untuk menampilkan 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. Dan juga digunakan untuk menginput kode
barang.
5. Object Button
Terdapat satu object button (Simpan). 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 yang diinput tidak ada, maka akan muncul
form Latihan_383940_36110041.
B. Script Unique
Untuk scriptnya akan ditampilkan
secara keseluruhan dalam prosedur
Latihan_39_36110041_Load
C.
Even
latihan_39_36110041_Load
rizka_36110041_CellContentClick
Simpan_36110041_Click
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_39_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_39_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
rizka_36110041_CellContentClick(ByVal sender As System.Object, ByVal
e As
System.Windows.Forms.DataGridViewCellEventArgs)
If
rizka_36110041.Columns(e.ColumnIndex).Name = "KODEBARANG"
Then
rizka_36110041.CurrentRow.Cells("NAMABARANG").Value = ""
rizka_36110041.CurrentRow.Cells("UNIT").Value = 0
rizka_36110041.CurrentRow.Cells("HARGA").Value = 0
rizka_36110041.CurrentRow.Cells("JUMLAH").Value = 0
conect.AturPencarianDataBase("barang", "kodebarang",
rizka_36110041.CurrentRow.Cells("KODEBARANG").Value,
1, azisah)
If
conect.JumlanBaris > 0 Then
rizka_36110041.CurrentRow.Cells("NAMABARANG").Value
= conect.DataTablenya.Rows(0).Item("NAMABARANG")
Else
rizka_36110041.CurrentRow.Cells("NAMABARANG").Value = ""
If
latihan_38_39_40_36110041.ShowDialog = Windows.Forms.DialogResult.OK Then
rizka_36110041.CurrentRow.Cells("KODEBARANG").Value
= latihan_38_39_40_36110041.rizka_36110041.CurrentRow.Cells("KODEBARANG").Value
rizka_36110041.CurrentRow.Cells("NAMABARANG").Value
= latihan_38_39_40_36110041.rizka_36110041.CurrentRow.Cells("NAMABARANG").Value
End
If
End
If
ElseIf
rizka_36110041.Columns(e.ColumnIndex).Name = "UNIT"
Or rizka_36110041.Columns(e.ColumnIndex).Name =
"HARGA" Then
rizka_36110041.CurrentRow.Cells("JUMLAH").Value =
rizka_36110041.CurrentRow.Cells("UNIT").Value
* rizka_36110041.CurrentRow.Cells("HARGA").Value
sis()
End If
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
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 = ""
Total_36110041.Text = ""
rizka.Rows.Clear()
sis()
End Sub
End Class
5.
Kemudian jalanka perintahnya
Tidak ada komentar:
Posting Komentar