Deskripsi
penyelesaian
Form
Latihan_37_36110034
terdapat dua object yaitu DataGreatView ,button, lebel, textbox, dan datetimepeker
:
Object lebel
Terdapat sembilan objek lebel yang
bertuliskan ( No.transaksi, tanggal, jenis transaksi, kode barang, nama barang,
unit, harga, jumlah, dan total).
Object textbox
Terdapat delapan textbox, duatextbox
bertstatus readonly yaitu nama barang dan total dan tujuh yang berstatus input
yaitu no transaksi, jenis transaksi, kodebarang, unit, harga , jumlah 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 dua objek button yang bertuliskan TAMBAH dan 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
"Tambah”
If KB_36110034.Text.Length = 0 Then
MsgBox("kode
barang tidak terisi")
ElseIf
Val(UN_36110034.Text) Then
MsgBox("unit
tidak terisi")
ElseIf
Val(HAR_36110034.Text) Then
MsgBox("harga
barang tidak terisi")
Exit
Sub
End If
Dim dr As DataRow
dr = dini.Rows.Find(KB_36110034.Text)
If dr Is Nothing Then
dr = dini.NewRow
dr("KODEBARANG")
= KB_36110034.Text
dr("NAMABARANG")
= NB_36110034.Text
dr("UNIT")
= UN_36110034.Text
dr("HARGA")
= HAR_36110034.Text
dr("JUMLAH")
= Val(JUM_36110034.Text)
dini.Rows.Add(dr)
KB_36110034.Text = ""
UN_36110034.Text = ""
HAR_36110034.Text = ""
Else
MsgBox("kodebarang
telah terdaftar,")
End If
rumus()
End Sub
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
kusuma = 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()
kusuma.ExecuteNonQuery()
dian.Close()
For Each X As DataRow In dini.Rows
kusuma = New
OleDb.OleDbCommand("insert into
DETAILTRANSAKSI( NOTRANS,KODEBARANG, UNIT, HARGA) values ('" &
NT_36110034.Text & "','" &
X("KODEBARANG") & "','" & X("UNIT")
& "','" & X("HARGA") & "')",
dian)
dian.Open()
kusuma.ExecuteNonQuery()
dian.Close()
Next
kusuma.Dispose()
NT_36110034.Text = ""
JT_36110034.Text = ""
dini.Rows.Clear()
rumus()
End Sub
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_37_36110034.
Public Class latihan_37_36110034
Dim andini As
New ByIskandar.CariKeDataBaseByIskandar
Dim dini As
New DataTable
Dim dian As
New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data
Source=" & Application.StartupPath & "\DataMajemuk.accdb;jet oledb:database
password=2304")
Dim kusuma As
New OleDb.OleDbCommand
Private Sub
latihan_37_36110034_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Click
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
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
KB_36110034_Leave(ByVal sender As Object, ByVal e As
System.EventArgs) Handles KB_36110034.Leave
If KB_36110034.Text.Length = 0 Then
Exit
Sub
End If
andini.AturPencarianDataBase("BARANG",
"KODEBARANG", KB_36110034.Text, 1,
dian)
If andini.JumlanBaris > 0 Then
KB_36110034.Text =
andini.DataTablenya.Rows(0).Item("KODEBARANG")
NB_36110034.Text =
andini.DataTablenya.Rows(0).Item("NAMABARANG")
Else
MsgBox("kode
barang tidak terdaftar")
Exit
Sub
End If
End Sub
Private Sub
KB_36110034_TextChanged(ByVal sender As Object, ByVal e As
System.EventArgs) Handles
KB_36110034.TextChanged
NB_36110034.Text = ""
UN_36110034.Text = ""
HAR_36110034.Text = ""
End Sub
Private Sub
TAMBAH_36110034_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles TAMBAH_36110034.Click
If KB_36110034.Text.Length = 0 Then
MsgBox("kode
barang tidak terisi")
ElseIf Val(UN_36110034.Text) Then
MsgBox("unit
tidak terisi")
ElseIf Val(HAR_36110034.Text) Then
MsgBox("harga
barang tidak terisi")
Exit
Sub
End If
Dim dr As
DataRow
dr = dini.Rows.Find(KB_36110034.Text)
If dr Is
Nothing Then
dr = dini.NewRow
dr("KODEBARANG")
= KB_36110034.Text
dr("NAMABARANG")
= NB_36110034.Text
dr("UNIT")
= UN_36110034.Text
dr("HARGA")
= HAR_36110034.Text
dr("JUMLAH")
= Val(JUM_36110034.Text)
dini.Rows.Add(dr)
KB_36110034.Text = ""
UN_36110034.Text = ""
HAR_36110034.Text = ""
Else
MsgBox("kodebarang
telah terdaftar,")
End If
rumus()
End Sub
Private Sub
SIMPAN_36110034_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles SIMPAN_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
kusuma = 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()
kusuma.ExecuteNonQuery()
dian.Close()
For Each
X As DataRow In
dini.Rows
kusuma = New
OleDb.OleDbCommand("insert into
DETAILTRANSAKSI( NOTRANS,KODEBARANG, UNIT, HARGA) values ('" &
NT_36110034.Text & "','" &
X("KODEBARANG") & "','" & X("UNIT")
& "','" & X("HARGA") & "')",
dian)
dian.Open()
kusuma.ExecuteNonQuery()
dian.Close()
Next
kusuma.Dispose()
NT_36110034.Text = ""
JT_36110034.Text = ""
dini.Rows.Clear()
rumus()
End Sub
Private Sub
UN_36110034_TextChanged(ByVal sender As Object, ByVal e As
System.EventArgs) Handles
UN_36110034.TextChanged
JUM_36110034.Text = Val(UN_36110034.Text) * Val(HAR_36110034.Text)
End Sub
Private Sub
HAR_36110034_TextChanged(ByVal sender As Object, ByVal e As
System.EventArgs) Handles HAR_36110034.TextChanged
JUM_36110034.Text = Val(UN_36110034.Text) * Val(HAR_36110034.Text)
End Sub
End Class
5.
Jalankan program dengan “start debugging”.
Tidak ada komentar:
Posting Komentar