Public Class Latihan_40a_46110021
Dim go As New
OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data
Source =" & Application.StartupPath & "\Datamajemuk.ACCDB")
Dim
dtdetail As New
DataTable
Dim
dtmaster As New
DataTable
Dim atur2 As New DataSet
Dim
bsdetail As New
BindingSource
Dim
bsmaster As New
BindingSource
Public Sub grabdata()
'proses
pengosongan dan pengisian data tabel
dtdetail.Rows.Clear()
dtmaster.Rows.Clear()
Dim
master As New
OleDb.OleDbDataAdapter
master = New
OleDb.OleDbDataAdapter("select* from
mastertransaksi", go)
master.Fill(dtmaster)
master.Dispose()
Dim
detail As New
OleDb.OleDbDataAdapter
detail = New
OleDb.OleDbDataAdapter("select* from
detailtransaksi", go)
detail.Fill(dtdetail)
detail.Dispose()
End Sub
Private Sub
Latihan40a_083_Load(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
MyBase.Load
grabdata()
'memasukkan
datatabel ke dalam dataset
dtmaster.TableName = "idung"
dtdetail.TableName = "kake"
Look1_46110021.DataSource = bsmaster
Look2_46110021.DataSource = bsdetail
atur2.Tables.Add(dtmaster)
atur2.Tables.Add(dtdetail)
atur2.Relations.Add(New DataRelation("relasi",
atur2.Tables("idung").Columns("notrans"), atur2.Tables("kake").Columns("notrans")))
'menampilkan
datatabel ke dGV dg menggunakan binding
bsmaster.DataSource = atur2
bsmaster.DataMember = "idung"
bsdetail.DataSource = bsmaster
bsdetail.DataMember = "relasi"
End Sub
Private Sub Ganti_Click(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles Ganti_46110021.Click
Latihan_40b_46110021.Show()
Latihan_40b_46110021.replace_46110021.Text =
Look1_46110021.CurrentRow.Cells("notrans").Value
Latihan_40b_46110021.NT_46110021.Text =
Look1_46110021.CurrentRow.Cells("notrans").Value
Latihan_40b_46110021.DTP_46110021.Text
= Look1_46110021.CurrentRow.Cells("tanggaltransaksi").Value
Latihan_40b_46110021.JT_46110021.Text =
Look1_46110021.CurrentRow.Cells("jenistransaksi").Value
Latihan_40b_46110021.makecolumn()
Latihan_40b_46110021.botto()
End Sub
Private Sub tambah_46110021_Click(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles Tambah_46110021.Click
Latihan_40b_46110021.Show()
Latihan_40b_46110021.NT_46110021.Text =
""
Latihan_40b_46110021.JT_46110021.Text =
""
Latihan_40b_46110021.replace_46110021.Text = "-"
Latihan_40b_46110021.makecolumn()
End Sub
Private Sub hapus_46110021_Click(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles Hapus_46110021.Click
If
MsgBox("seriously want to delete the
record???", MsgBoxStyle.YesNo) = MsgBoxResult.No Then
Exit
Sub
End If
Dim
bojel As New
OleDb.OleDbCommand
bojel = New
OleDb.OleDbCommand("delete* from
mastertransaksi where notrans='" &
Look1_46110021.CurrentRow.Cells("notrans").Value
& "'", go)
go.Open()
bojel.ExecuteNonQuery()
go.Close()
bojel = New
OleDb.OleDbCommand("delete* from
detailtransaksi where notrans='" &
Look1_46110021.CurrentRow.Cells("notrans").Value
& "'", go)
go.Open()
bojel.ExecuteNonQuery()
go.Close()
grabdata()
End Sub
End Class
untuk form 40b , codenya adalah:
Public Class Latihan_40b_46110021
Dim Jalan As New
OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data
Source =" & Application.StartupPath & "\Datamajemuk.ACCDB")
Dim gitik As New DataTable
Dim baru(1)
As DataColumn
Public Sub botto()
Dim
ttotal_46110021 As Integer
For Each hasil As DataRow
In gitik.Rows
ttotal_46110021 += hasil("Jumlah")
Next
Total_46110021.Text = ttotal_46110021
End Sub
Public Sub makecolumn()
'mendeklarasikan
kendaraan
Dim
bojel As New
OleDb.OleDbDataAdapter
'Mengatur
data yang akan di angkut
bojel = New
OleDb.OleDbDataAdapter("SELECT
detailtransaksi.kodebarang,barang.namabarang,detailtransaksi.unit,detailtransaksi.harga,
detailtransaksi.unit * detailtransaksi.harga as jumlah FROM DETAILTRANSAKSI
inner join barang on detailtransaksi.kodebarang=barang.kodebarang where detailtransaksi.notrans='"
& NT_46110021.Text & "'",
Jalan)
'bersihkan
data
gitik.Rows.Clear()
'untuk
memasukkan data yg telah di angkut ke dalam datatable
bojel.Fill(gitik)
bojel.Dispose()
'untuk
menampilkan isi datatable ke data grid view
gitik.Columns("Kodebarang").DefaultValue
= ""
gitik.Columns("NamaBarang").DefaultValue
= ""
gitik.Columns("unit").DefaultValue
= 0
gitik.Columns("harga").DefaultValue
= 0
gitik.Columns("jumlah").DefaultValue
= 0
gitik.Columns("NamaBarang").ReadOnly
= True
baru(0) = gitik.Columns("kodebarang")
gitik.PrimaryKey = baru
Showme_46110021.DataSource = gitik
End Sub
Private Sub Latihan40b_083_Load(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
makecolumn()
End Sub
Private Sub showme_46110021_CellEndEdit(ByVal sender As
System.Object, ByVal e As
System.Windows.Forms.DataGridViewCellEventArgs) Handles
Showme_46110021.CellEndEdit
'mengosongkan
data
If
e.ColumnIndex = 0 Then
Showme_46110021.CurrentRow.Cells("NamaBarang").Value = ""
Showme_46110021.CurrentRow.Cells("Unit").Value = 0
Showme_46110021.CurrentRow.Cells("harga").Value = 0
Showme_46110021.CurrentRow.Cells("Jumlah").Value = 0
'mencari
data yang ada di tabel
Dim
Pencari As New
ByIskandar.CariKeDataBaseByIskandar
Pencari.AturPencarianDataBase("barang", "kodebarang",
Showme_46110021.CurrentRow.Cells("kodebarang").Value,
1, Jalan)
If
Pencari.JumlanBaris > 0 Then
Showme_46110021.CurrentRow.Cells("kodebarang").Value
= Pencari.DataTablenya.Rows(0).Item(0)
Showme_46110021.CurrentRow.Cells("namabarang").Value =
Pencari.DataTablenya.Rows(0).Item(1)
Else
MsgBox("the
data is not found")
If
Latihan_383940_46110021.ShowDialog = Windows.Forms.DialogResult.OK Then
Showme_46110021.CurrentRow.Cells("kodebarang").Value =
Latihan_383940_46110021.view_46110021.CurrentRow.Cells("KodeBarang").Value
Showme_46110021.CurrentRow.Cells("Namabarang").Value
= Latihan_383940_46110021.view_46110021.CurrentRow.Cells("namabarang").Value
End
If
End
If
'mengitung
jumlah dan total_46110021
ElseIf
e.ColumnIndex = 2 Or e.ColumnIndex = 3 Then
Showme_46110021.CurrentRow.Cells("jumlah").Value =
Showme_46110021.CurrentRow.Cells("unit").Value
* Showme_46110021.CurrentRow.Cells("harga").Value
botto()
End If
End Sub
Private Sub Simpan_Click(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles Simpan_46110021.Click
'Memeriksa
isi textbox
If
NT_46110021.Text.Length = 0 Then
MsgBox("Please,
insert the Number of the transaction")
Exit
Sub
End If
If
JT_46110021.Text.Length = 0 Then
MsgBox("Please,
insert the type of the transaction")
Exit
Sub
End If
If
gitik.Rows.Count = 0 Then
MsgBox("the
data is none")
Exit
Sub
End If
'Memeriksa
nomor transaksi pd master transaksi
If
replace_46110021.Text <> NT_46110021.Text Then
Dim
PENCARI As New
ByIskandar.CariKeDataBaseByIskandar
PENCARI.AturPencarianDataBase("mastertransaksi", "notrans", NT_46110021.Text, 1, Jalan)
If
PENCARI.JumlanBaris > 0 Then
MsgBox("The
data has been exist please insert new data")
Exit
Sub
End
If
End If
'Proses
delete dan Penyimpanan ke tabel master transaksi
Dim
data As Integer
= Val(replace_46110021.Text)
Dim
kacci As New
OleDb.OleDbCommand
kacci = New
OleDb.OleDbCommand("delete * from
mastertransaksi where notrans='" & replace_46110021.Text & "'", Jalan)
Jalan.Open()
kacci.ExecuteNonQuery()
Jalan.Close()
kacci = New
OleDb.OleDbCommand("delete * from
detailtransaksi where notrans='" & replace_46110021.Text & "'", Jalan)
Jalan.Open()
kacci.ExecuteNonQuery()
Jalan.Close()
kacci = New
OleDb.OleDbCommand("insert into
mastertransaksi (notrans,tanggaltransaksi,jenistransaksi) values ('"
& NT_46110021.Text & "',#"
& DTP_46110021.Value.Month & "/"
& DTP_46110021.Value.Day & "/"
& DTP_46110021.Value.Year & "#,'"
& JT_46110021.Text & "')",
Jalan)
Jalan.Open()
kacci.ExecuteNonQuery()
Jalan.Close()
'penyimpanan
isi datatable ke detail transaksi
For Each nhana As DataRow
In gitik.Rows
kacci = New
OleDb.OleDbCommand("insert into
detailtransaksi (notrans,kodebarang,unit,harga) values ('" &
NT_46110021.Text & "','" &
nhana("kodebarang") & "'," & nhana("unit") & ","
& nhana("harga") & ")", Jalan)
Jalan.Open()
kacci.ExecuteNonQuery()
Jalan.Close()
Next
kacci.Dispose()
'Mengosongkan
isi text box
NT_46110021.Text = ""
JT_46110021.Text = ""
'Mengosongkan
baris datatable
gitik.Rows.Clear()
'mengambildata
Latihan_40a_46110021.grabdata()
'menutup form
Me.Close()
End Sub
End Class
LANGKAH UNTUK MENJALANKAN FORM
Untuk memudahkan pakailah navigator
A. Pilih tombol start debugging lalu pilih form Latihan_40_46110021, maka jendela Latihan_40a_46110021 akan muncul.
B. tekan Tambah, hapus atau ganti