Deskripsi
penyelesaian
Form
Latihan_39_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 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”
If NT_36110034.Text.Length = 0 Then
MsgBox("nomor
transaksi harus terisi")
ElseIf
JT_36110034.Text.Length = 0 Then
MsgBox("jenis
transaksi harus terisi")
ElseIf
dini.Rows.Count = 0 Then
MsgBox("data
table tidak boleh kosong")
Exit
Sub
End If
andini.AturPencarianDataBase("MASTERTRANSAKSI", "NOTRANS", NT_36110034.Text, 1, dian)
If
andini.JumlanBaris > 0 Then
MsgBox("nomor
transaksi telah ada")
Exit
Sub
End If
ardian = 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 & "')",
dian)
dian.Open()
ardian.ExecuteNonQuery()
dian.Close()
For Each X As DataRow In dini.Rows
ardian = New
OleDb.OleDbCommand("insert into
DETAILTRANSAKSI( NOTRANS,KODEBARANG, UNIT, HARGA) values ('" &
NT_36110034.Text & "','" &
X("KODEBARANG") & "','" & X("UNIT")
& "','" & X("HARGA") & "')",
dian)
dian.Open()
ardian.ExecuteNonQuery()
dian.Close()
Next
ardian.Dispose()
NT_36110034.Text = ""
JT_36110034.Text = ""
dini.Rows.Clear()
rumus()
End Sub
End Class
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_39_36110034.
Public Class latihan_39_36110034
Dim andini As
New ByIskandar.CariKeDataBaseByIskandar
Dim dini As
New DataTable
Dim ardian As
New OleDb.OleDbCommand
Dim dian As
New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data
Source=" & Application.StartupPath & "\DataMajemuk.accdb;jet oledb:database
password=2304")
Private Sub
latihan_39_36110034_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Load
Dim adapter As
New OleDb.OleDbDataAdapter
adapter = 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_36110034.Text & "'", dian)
dini.Rows.Clear()
adapter.Fill(dini)
adapter.Dispose()
DGV_36110034.DataSource = dini
Dim awz(1) As
DataColumn
awz(0) = dini.Columns("KODEBARANG")
dini.PrimaryKey = awz
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
rumus()
End If
End Sub
Private Sub
rumus()
Dim rumus1 As
Integer = 0
For Each
rumus2 As DataRow In
dini.Rows
rumus1 += rumus2("JUMLAH")
Next
TOT_36110034.Text = rumus1
End Sub
Private Sub
SIM_36110034_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles SIM_36110034.Click
If NT_36110034.Text.Length = 0 Then
MsgBox("nomor
transaksi harus terisi")
ElseIf JT_36110034.Text.Length = 0 Then
MsgBox("jenis
transaksi harus terisi")
ElseIf dini.Rows.Count = 0 Then
MsgBox("data
table tidak boleh kosong")
Exit
Sub
End If
andini.AturPencarianDataBase("MASTERTRANSAKSI",
"NOTRANS", NT_36110034.Text, 1,
dian)
If andini.JumlanBaris > 0 Then
MsgBox("nomor
transaksi telah ada")
Exit
Sub
End If
ardian = 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 & "')",
dian)
dian.Open()
ardian.ExecuteNonQuery()
dian.Close()
For Each
X As DataRow In
dini.Rows
ardian = New
OleDb.OleDbCommand("insert into
DETAILTRANSAKSI( NOTRANS,KODEBARANG, UNIT, HARGA) values ('" &
NT_36110034.Text & "','" &
X("KODEBARANG") & "','" & X("UNIT")
& "','" & X("HARGA") & "')",
dian)
dian.Open()
ardian.ExecuteNonQuery()
dian.Close()
Next
ardian.Dispose()
NT_36110034.Text = ""
JT_36110034.Text = ""
dini.Rows.Clear()
rumus()
End Sub
End Class
5. Jalankan program dengan
“start debugging”.
Tidak ada komentar:
Posting Komentar