Deskripsi Penyelesaian
Latihan_40b_36110041
A. Objek dalam Form Latihan_40b:
Dalam form latihan ini terdapat enam object yaitu Label, TextBox,
DateTimePicker, DataGridView, Buttom, dan StatusStrip.
1. Object Label
Terdapat empat object Label yang bertuliskan No. Transaksi, Tanggal, Jenis
Transaksi dan Total.
2. Object TextBox
Terdapat tiga textbox (dua status input dan satu status read only). Status input digunakan untuk memasukkan data No. Transaksi dan Jenis Transaksi. Status Read Only digunakan untuk menampilkan Total.
3. Object DateTimePicker
Terdapat satu object DateTimePicker yang digunakan dalam memfilter
data tabel yang ada di datagridview.
4. Object DataGridView
Terdapat
satu object datagridview yang digunakan untuk menampilkan data yang akan diedit
atau ditambah ke dalam database. Data yang akan diedit merupakan data yang
sudah dipilih pada form Latihan_40a_36110041.
5. 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.
6. Object StatusStrip
Terdapat
satu object statustrip yang memiliki dua label (yang bertuliskan no transaksi
dan -).
B. Script Unique
Untuk scriptnya akan ditampilkan
secara keseluruhan dalam prosedur
Latihan_40b_36110041
C.
Even
sis2()
sis3()
sis4()
tambah()
edit()
latihan_40b_36110041_Load
rizka_36110041_Cellendedit
Simpan_36110041_Click
Prosedur penyelesaian
1. Buka Project yang telah dibuat
sebelumnya klik Add New Item ==> Add Windows Form
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_40b_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")
Public Sub
sis2()
Dim a As
New OleDb.OleDbDataAdapter
a = New OleDb.OleDbDataAdapter("select barang.KODEBARANG, barang.NAMABARANG,
detailtransaksi.UNIT, detailtransaksi.HARGA, detailtransaksi.unit *
detailtransaksi.harga as JUMLAH from barang inner join detailtransaksi on
barang.kodebarang = detailtransaksi.kodebarang where notrans = '"
& NT_36110041.Text & "'",
azisah)
rizka.Rows.Clear()
a.Fill(rizka)
End Sub
Public Sub
sis3()
Dim sis31 As
Integer = 0
For Each
anra32 As DataRow In
rizka.Rows
sis31 += anra32("JUMLAH")
Next
Total_36110041.Text = sis31
End Sub
Private Sub
sis4()
If NT_36110041.Text.Length = 0 Then
MsgBox("no
transaksi harus terisi")
Exit
Sub
End If
If JT_36110041.Text.Length = 0 Then
MsgBox("jenis
transaksi harus terisi")
Exit
Sub
End If
If rizka.Rows.Count = 0 Then
MsgBox("Isi
datatable")
Exit
Sub
End If
End Sub
Private Sub
tambah()
sis4()
conect.AturPencarianDataBase("mastertransaksi",
"notrans", NT_36110041.Text, 1,
azisah)
If conect.JumlanBaris > 0 Then
MsgBox("Adami
notrans seperti itu..")
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 & "#,
'" & TGL_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 = ""
kode_36110041.Text = "-"
rizka.Rows.Clear()
latihan_40a_36110041.sis1()
End Sub
Public Sub
edit()
sis4()
If NT_36110041.Text <>
kode_36110041.Text Then
conect.AturPencarianDataBase("mastertransaksi", "notrans", NT_36110041.Text, 1, azisah)
If
conect.JumlanBaris > 0 Then
MsgBox("no
transaksi telah ada")
Exit
Sub
End
If
End If
cari = New OleDb.OleDbCommand("delete * from mastertransaksi where notrans =
'" & kode_36110041.Text & "'",
azisah)
azisah.Open()
cari.ExecuteNonQuery()
azisah.Close()
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()
cari = New OleDb.OleDbCommand("delete * from detailtransaksi where notrans =
'" & kode_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 = ""
kode_36110041 = "-"
rizka.Rows.Clear()
latihan_40a_36110041.sis1()
End Sub
Private Sub
latihan_40b_36110041_Load(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
MyBase.Load
sis2()
Dim dc(1) As
DataColumn
dc(0) = rizka.Columns("kodebarang")
rizka.PrimaryKey = dc
rizka.Columns("unit").DefaultValue
= 0
rizka.Columns("harga").DefaultValue
= 0
rizka.Columns("jumlah").DefaultValue
= 0
rizka_36110041.DataSource = rizka
End Sub
Private Sub
rizka_36110041_Cellendedit(ByVal sender As System.Object, ByVal
e As
System.Windows.Forms.DataGridViewCellEventArgs) Handles
rizka_36110041.CellEndEdit
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
sis3()
End If
End Sub
Private Sub
Simpan_36110041_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
Simpan_36110041.Click
If kode_36110041.Text = "-" Then
tambah()
Else
edit()
End If
End Sub
End Class
5.
Kemudian jalanka perintahnya
Tidak ada komentar:
Posting Komentar