Deskripsi
penyelesaian
Form
Latihan_40B_36110034
terdapat dua object yaitu DataGreatView ,button, lebel, textbox, dan datetimepeker
:
Object lebel
Terdapat empat objek lebel yang
bertuliskan ( No.transaksi, tanggal, jenis transaksi,dan total).
Object textbox
Terdapat tiga textbox, satu textbox
bertstatus readonly yaitu total dan dua
yang berstatus input yaitu no transaksi, jenis transaksi, yang digunakan untuk
memasukkan data dan memunculkan data.
Object datetimepeker
Terdapat satu objek datetimepeker yang berfungsi sebagai penyedia tanggal
secara kalender.
Object statusstrip.
Terdapat dua objek statusstrip yaitu lebel yang bertuliskan no transaksi
dan satu objek yang dibuat kosong dan hanya border yang ditampilkan.
Object DataGreatview
Terdapat satu object datagreatview yang akan menampilkan table yang kolomnya
berasal dari datamajemuk, yang dimana kolom-kolom dalam table digabungkan dari
berbagai data, seperti data barang, detail transaksi , dan master transaksi.
Object Button
Terdapat satu objek button yang bertuliskan SIMPAN. tombol tambah jika di klik akan menambah data pada table
yang terdapat dalam datagreatview yang sebelumnya telah di input di setiap
textbox, sedangkan tombol simpan jika di klik akan menyimpan perubahan terjadi
pada form tersebut seperti penambahan data pada table.
Script Unique
Buttom
"Simpan”
Property
Property
Datagreatview => name => ok
Prosedur penyelesaian
1.
buka project yang telah dibuat
sebelumnya klik add new item => add windows form => ganti nama project
=> add.
2.
membuat
form dengan menggunakan
DataGreatView,button, lebel, textbox, dan datetimepeker yang
ada dalam "Toolbox”.
3.
ganti nama textbox dan
button menggunakan "Properties Window".
4. membuka lembar vb Masukkan rumus berikut untuk menyelesaikan
latihan_40A_36110034.
Public Class latihan_40B_36110034
Dim andini As
New ByIskandar.CariKeDataBaseByIskandar
Dim dini As
New DataTable
Dim ardian As
New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data
Source=" & Application.StartupPath & "\DataMajemuk.accdb;jet oledb:database
password=2304")
Dim dian As
New OleDb.OleDbCommand
Public Sub
rumus2()
Dim adp As
New OleDb.OleDbDataAdapter
adp = 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_36110034.Text & "'",
ardian)
dini.Rows.Clear()
adp.Fill(dini)
End Sub
Public Sub
rumus3()
Dim rumus31 As
Integer = 0
For Each
rumus32 As DataRow In
dini.Rows
rumus31 += rumus32("JUMLAH")
Next
TOT_36110034.Text = rumus31
End Sub
Public Sub
rumus4()
If NT_36110034.Text.Length = 0 Then
MsgBox("nomor
transaksi harus terisi")
Exit
Sub
End If
If JT_36110034.Text.Length = 0 Then
MsgBox("jumlah
transaksi harus terisi")
Exit
Sub
End If
If dini.Rows.Count = 0 Then
MsgBox("isi
table")
Exit
Sub
End If
End Sub
Private Sub
tambah()
rumus4()
andini.AturPencarianDataBase("mastertransaksi",
"notrans", NT_36110034.Text, 1,
ardian)
If andini.JumlanBaris > 0 Then
MsgBox("nomor
transaksi telah ada")
Exit
Sub
End If
dian = New OleDb.OleDbCommand("insert into mastertransaksi(notrans,
tanggaltransaksi, jenistransaksi) value ('" & NT_36110034.Text
& "',#" &
DTP_36110034.Value.Month & "/"
& DTP_36110034.Value.Day & "/"
& DTP_36110034.Value.Year & "#,'"
& JT_36110034.Text & "')",
ardian)
ardian.Open()
dian.ExecuteNonQuery()
ardian.Close()
For Each
x As DataRow In
dini.Rows
dian = New
OleDb.OleDbCommand("insert into
detailtransaksi(notrans, kodebarang, unit, harga) values ('" &
NT_36110034.Text & "','" &
x("unit") & "','" & x("harga")
& "')", ardian)
ardian.Open()
dian.ExecuteNonQuery()
ardian.Close()
Next
dian.Dispose()
NT_36110034.Text = ""
JT_36110034.Text = ""
TOT_36110034.Text = ""
NOTRANS_36110034.Text = ""
dini.Rows.Clear()
latihan_40A_36110034.rumus()
End Sub
Private Sub
edit()
rumus4()
If NT_36110034.Text <>
NOTRANS_36110034.Text Then
andini.AturPencarianDataBase("mastertransaksi", "notrans", NT_36110034.Text, 1, ardian)
If
andini.JumlanBaris > 0 Then
MsgBox("no
transaksi telah ada")
Exit
Sub
End
If
End If
dian = New OleDb.OleDbCommand("delete * from mastertransaksi where notrans =
'" & kode_36109003.Text & "'",
ndut)
ardian.Open()
dian.ExecuteNonQuery()
ardian.Close()
dian = New OleDb.OleDbCommand("insert into mastertransaksi(notrans,
tanggaltransaksi, jenistransaksi) values ('" & NT_36110034.Text
& "',#" &
DTP_36110034.Value.Month & "/"
& DTP_36110034.Value.Day & "/"
& DTP_36110034.Value.Year & "#,
'" & JT_36110034.Text & "')",
ardian)
ardian.Open()
dian.ExecuteNonQuery()
ardian.Close()
dian = New OleDb.OleDbCommand("delete * from detailtransaksi where notrans =
'" & NOTRANS_36110034.Text & "'",
ardian)
ardian.Open()
dian.ExecuteNonQuery()
ardian.Close()
For Each
x As DataRow In
dini.Rows
dian = New
OleDb.OleDbCommand("insert into
detailtransaksi(notrans, kodebarang, unit, harga) values ('" &
NT_36110034.Text & "', '"
& x("kodebarang") & "', '" & x("unit")
& "', '" & x("harga") & "')",
ardian)
ardian.Open()
dian.ExecuteNonQuery()
ardian.Close()
Next
dian.Dispose()
NT_36110034.Text = ""
JT_36110034.Text = ""
TOT_36110034.Text = ""
NOTRANS_36110034.Text = "-"
dini.Rows.Clear()
latihan_40A_36110034.rumus()
End Sub
Private Sub
latihan_40B_36110034_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Load
rumus2()
Dim dc(1) As
DataColumn
dc(0) = dini.Columns("kodebarang")
dini.PrimaryKey = dc
dini.Columns("unit").DefaultValue
= 0
dini.Columns("harga").DefaultValue
= 0
dini.Columns("jumlah").DefaultValue
= 0
DGV_36110034.DataSource = dini
End Sub
Private Sub
DGV_36110034_CellEndEdit(ByVal sender As Object, ByVal e As
System.Windows.Forms.DataGridViewCellEventArgs) Handles
DGV_36110034.CellEndEdit
If
DGV_36110034.Columns(e.ColumnIndex).Name = ("KODEBARANG")
Then
DGV_36110034.CurrentRow.Cells("NAMABARANG").Value = ""
DGV_36110034.CurrentRow.Cells("UNIT").Value = 0
DGV_36110034.CurrentRow.Cells("HARGA").Value = 0
DGV_36110034.CurrentRow.Cells("JUMLAH").Value = 0
andini.AturPencarianDataBase("BARANG", "KODEBARANG",
DGV_36110034.CurrentRow.Cells("KODEBARANG").Value,
1, dian)
If
andini.JumlanBaris > 0 Then
DGV_36110034.CurrentRow.Cells("NAMABARANG").Value =
andini.DataTablenya.Rows(0).Item("NAMABARANG")
Else
DGV_36110034.CurrentRow.Cells("NAMABARANG").Value = ""
If
latihan383940_36110034.ShowDialog = Windows.Forms.DialogResult.OK Then
DGV_36110034.CurrentRow.Cells("KODEBARANG").Value
= latihan383940_36110034.dgv_36110034.CurrentRow.Cells("KODEBARANG").Value
DGV_36110034.CurrentRow.Cells("NAMABARANG").Value
= latihan383940_36110034.dgv_36110034.CurrentRow.Cells("NAMABARANG").Value
End
If
End
If
ElseIf
DGV_36110034.Columns(e.ColumnIndex).Name = "UNIT"
Or DGV_36110034.Columns(e.ColumnIndex).Name = "HARGA" Then
DGV_36110034.CurrentRow.Cells("JUMLAH").Value =
DGV_36110034.CurrentRow.Cells("UNIT").Value
* DGV_36110034.CurrentRow.Cells("HARGA").Value
rumus3()
End If
End Sub
Private Sub
SIM_36110034_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles SIM_36110034.Click
If NOTRANS_36110034.Text = "-" Then
tambah()
Else
edit()
End If
End Sub
End Class
5. Jalankan program dengan
“start debugging”.
Tidak ada komentar:
Posting Komentar