Pada form latihan 40A ada 3
object yang digunakan yaitu Label, Button, dan Data
Grid View.
Object Label
Pada form ini
label yang digunakan ada 1 (Data Transaksi).
Object Button
Terdapat 3 object button (hapus,
tambah dan edit). Tombol “hapus” digunakan untuk menghapus data yang telah
dipilih sebelumnya. Tombol “tambah” digunakan untuk menambah data. Tombol “edit”
digunakan untuk mengedit data yang telah ada sebelumnya.
Object DataGridView
Terdapat 2 object datagridview yang berfungsi
untuk menampilkan data tabel.
Script Unique
Lebih lengkap dapat dilihat pada script yang ada pada langkah-langkah membuat form pada poin ke 5 dibawah ini
Even
Load
ButtonClick
Langkah-Langkah membuat Form Latihan_40A
1. Buka Project yang telah dibuat sebelumnya , Pilih menu Project lalu klik add windows form
2. Ketik nama Latihan_40A yang akan dibuat pada kotak “NAME” lalu pilih “add”
3. Buatlah desain menggunakan toolbox
4. Masukkan rumus berikut:
Public Class Latihan_40B_46110045vb
Dim DINA As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source =" & Application.StartupPath & "\Datamajemuk.ACCDB")
Dim DYNA As New DataTable
Dim baru(1) As DataColumn
Public Sub YUYU()
Dim TTOTAL As Integer
For Each hasil As DataRow In DYNA.Rows
TTOTAL += hasil("Jumlah")
Next
Total_46110045.Text = TTOTAL
End Sub
Public Sub makecolumn()
'mendeklarasikan kendaraan
Dim BUBU As New OleDb.OleDbDataAdapter
'Mengatur data yang akan di angkut
BUBU = 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_46110045.Text & "'", DINA)
'bersihkan data
DYNA.Rows.Clear()
'untuk memasukkan data yg telah di angkut ke dalam datatable
BUBU.Fill(DYNA)
BUBU.Dispose()
'untuk menampilkan isi datatable ke data grid view
DYNA.Columns("Kodebarang").DefaultValue = ""
DYNA.Columns("NamaBarang").DefaultValue = ""
DYNA.Columns("unit").DefaultValue = 0
DYNA.Columns("harga").DefaultValue = 0
DYNA.Columns("jumlah").DefaultValue = 0
DYNA.Columns("NamaBarang").ReadOnly = True
baru(0) = DYNA.Columns("kodebarang")
DYNA.PrimaryKey = baru
DGV_46110045.DataSource = DYNA
End Sub
Private Sub Latihan_40B_46110045_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
makecolumn()
End Sub
Private Sub DGV_46110045_CellEndEdit(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGV_46110045.CellEndEdit
'mengosongkan data
If e.ColumnIndex = 0 Then
DGV_46110045.CurrentRow.Cells("NamaBarang").Value = ""
DGV_46110045.CurrentRow.Cells("Unit").Value = 0
DGV_46110045.CurrentRow.Cells("harga").Value = 0
DGV_46110045.CurrentRow.Cells("Jumlah").Value = 0
'mencari data yang ada di tabel
Dim Pencari As New ByIskandar.CariKeDataBaseByIskandar
Pencari.AturPencarianDataBase("barang", "kodebarang", DGV_46110045.CurrentRow.Cells("kodebarang").Value, 1, DINA)
If Pencari.JumlanBaris > 0 Then
DGV_46110045.CurrentRow.Cells("kodebarang").Value = Pencari.DataTablenya.Rows(0).Item(0)
DGV_46110045.CurrentRow.Cells("namabarang").Value = Pencari.DataTablenya.Rows(0).Item(1)
Else
MsgBox("the data is not found")
If Latihan_38B_46110045.ShowDialog = Windows.Forms.DialogResult.OK Then
DGV_46110045.CurrentRow.Cells("kodebarang").Value = Latihan_38B_46110045.DGV_46110045.CurrentRow.Cells("KodeBarang").Value
DGV_46110045.CurrentRow.Cells("Namabarang").Value = Latihan_38B_46110045.DGV_46110045.CurrentRow.Cells("namabarang").Value
End If
End If
'mengitung jumlah dan total
ElseIf e.ColumnIndex = 2 Or e.ColumnIndex = 3 Then
DGV_46110045.CurrentRow.Cells("jumlah").Value = DGV_46110045.CurrentRow.Cells("unit").Value * DGV_46110045.CurrentRow.Cells("harga").Value
YUYU()
End If
End Sub
Private Sub Simpan_46110045_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Simpan_46110045.Click
'Memeriksa isi textbox
If NT_46110045.Text.Length = 0 Then
MsgBox("Please, insert the Number of the transaction")
Exit Sub
End If
If JT_46110045.Text.Length = 0 Then
MsgBox("Please, insert the type of the transaction")
Exit Sub
End If
If DYNA.Rows.Count = 0 Then
MsgBox("the data is none")
Exit Sub
End If
'Memeriksa nomor transaksi pd master transaksi
If replace_46110045.Text <> NT.Text Then
Dim PENCARI As New ByIskandar.CariKeDataBaseByIskandar
PENCARI.AturPencarianDataBase("mastertransaksi", "notrans", NT_46110045.Text, 1, DINA)
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_46110045.Text)
Dim FUFU As New OleDb.OleDbCommand
FUFU = New OleDb.OleDbCommand("delete * from mastertransaksi where notrans='" & replace_46110045.Text & "'", DINA)
DINA.Open()
FUFU.ExecuteNonQuery()
DINA.Close()
FUFU = New OleDb.OleDbCommand("delete * from detailtransaksi where notrans='" & replace_46110045.Text & "'", DINA)
DINA.Open()
FUFU.ExecuteNonQuery()
DINA.Close()
FUFU = New OleDb.OleDbCommand("insert into mastertransaksi (notrans,tanggaltransaksi,jenistransaksi) values ('" & NT_46110045.Text & "',#" & DTP_46110045.Value.Month & "/" & DTP_46110045.Value.Day & "/" & DTP_46110045.Value.Year & "#,'" & JT_46110045.Text & "')", DINA)
DINA.Open()
FUFU.ExecuteNonQuery()
DINA.Close()
'penyimpanan isi datatable ke detail transaksi
For Each PAPA As DataRow In DYNA.Rows
FUFU = New OleDb.OleDbCommand("insert into detailtransaksi (notrans,kodebarang,unit,harga) values ('" & NT_46110045.Text & "','" & PAPA("kodebarang") & "'," & PAPA("unit") & "," & PAPA("harga") & ")", DINA)
DINA.Open()
FUFU.ExecuteNonQuery()
DINA.Close()
Next
FUFU.Dispose()
'Mengosongkan isi text box
NT_46110045.Text = ""
JT_46110045.Text = ""
'Mengosongkan baris datatable
DYNA.Rows.Clear()
'mengambildata
Latihan_40A_46110045.grabdata()
'menutup form
Me.Close()
End Sub
End Class
Dim DINA As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source =" & Application.StartupPath & "\Datamajemuk.ACCDB")
Dim DYNA As New DataTable
Dim baru(1) As DataColumn
Public Sub YUYU()
Dim TTOTAL As Integer
For Each hasil As DataRow In DYNA.Rows
TTOTAL += hasil("Jumlah")
Next
Total_46110045.Text = TTOTAL
End Sub
Public Sub makecolumn()
'mendeklarasikan kendaraan
Dim BUBU As New OleDb.OleDbDataAdapter
'Mengatur data yang akan di angkut
BUBU = 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_46110045.Text & "'", DINA)
'bersihkan data
DYNA.Rows.Clear()
'untuk memasukkan data yg telah di angkut ke dalam datatable
BUBU.Fill(DYNA)
BUBU.Dispose()
'untuk menampilkan isi datatable ke data grid view
DYNA.Columns("Kodebarang").DefaultValue = ""
DYNA.Columns("NamaBarang").DefaultValue = ""
DYNA.Columns("unit").DefaultValue = 0
DYNA.Columns("harga").DefaultValue = 0
DYNA.Columns("jumlah").DefaultValue = 0
DYNA.Columns("NamaBarang").ReadOnly = True
baru(0) = DYNA.Columns("kodebarang")
DYNA.PrimaryKey = baru
DGV_46110045.DataSource = DYNA
End Sub
Private Sub Latihan_40B_46110045_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
makecolumn()
End Sub
Private Sub DGV_46110045_CellEndEdit(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGV_46110045.CellEndEdit
'mengosongkan data
If e.ColumnIndex = 0 Then
DGV_46110045.CurrentRow.Cells("NamaBarang").Value = ""
DGV_46110045.CurrentRow.Cells("Unit").Value = 0
DGV_46110045.CurrentRow.Cells("harga").Value = 0
DGV_46110045.CurrentRow.Cells("Jumlah").Value = 0
'mencari data yang ada di tabel
Dim Pencari As New ByIskandar.CariKeDataBaseByIskandar
Pencari.AturPencarianDataBase("barang", "kodebarang", DGV_46110045.CurrentRow.Cells("kodebarang").Value, 1, DINA)
If Pencari.JumlanBaris > 0 Then
DGV_46110045.CurrentRow.Cells("kodebarang").Value = Pencari.DataTablenya.Rows(0).Item(0)
DGV_46110045.CurrentRow.Cells("namabarang").Value = Pencari.DataTablenya.Rows(0).Item(1)
Else
MsgBox("the data is not found")
If Latihan_38B_46110045.ShowDialog = Windows.Forms.DialogResult.OK Then
DGV_46110045.CurrentRow.Cells("kodebarang").Value = Latihan_38B_46110045.DGV_46110045.CurrentRow.Cells("KodeBarang").Value
DGV_46110045.CurrentRow.Cells("Namabarang").Value = Latihan_38B_46110045.DGV_46110045.CurrentRow.Cells("namabarang").Value
End If
End If
'mengitung jumlah dan total
ElseIf e.ColumnIndex = 2 Or e.ColumnIndex = 3 Then
DGV_46110045.CurrentRow.Cells("jumlah").Value = DGV_46110045.CurrentRow.Cells("unit").Value * DGV_46110045.CurrentRow.Cells("harga").Value
YUYU()
End If
End Sub
Private Sub Simpan_46110045_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Simpan_46110045.Click
'Memeriksa isi textbox
If NT_46110045.Text.Length = 0 Then
MsgBox("Please, insert the Number of the transaction")
Exit Sub
End If
If JT_46110045.Text.Length = 0 Then
MsgBox("Please, insert the type of the transaction")
Exit Sub
End If
If DYNA.Rows.Count = 0 Then
MsgBox("the data is none")
Exit Sub
End If
'Memeriksa nomor transaksi pd master transaksi
If replace_46110045.Text <> NT.Text Then
Dim PENCARI As New ByIskandar.CariKeDataBaseByIskandar
PENCARI.AturPencarianDataBase("mastertransaksi", "notrans", NT_46110045.Text, 1, DINA)
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_46110045.Text)
Dim FUFU As New OleDb.OleDbCommand
FUFU = New OleDb.OleDbCommand("delete * from mastertransaksi where notrans='" & replace_46110045.Text & "'", DINA)
DINA.Open()
FUFU.ExecuteNonQuery()
DINA.Close()
FUFU = New OleDb.OleDbCommand("delete * from detailtransaksi where notrans='" & replace_46110045.Text & "'", DINA)
DINA.Open()
FUFU.ExecuteNonQuery()
DINA.Close()
FUFU = New OleDb.OleDbCommand("insert into mastertransaksi (notrans,tanggaltransaksi,jenistransaksi) values ('" & NT_46110045.Text & "',#" & DTP_46110045.Value.Month & "/" & DTP_46110045.Value.Day & "/" & DTP_46110045.Value.Year & "#,'" & JT_46110045.Text & "')", DINA)
DINA.Open()
FUFU.ExecuteNonQuery()
DINA.Close()
'penyimpanan isi datatable ke detail transaksi
For Each PAPA As DataRow In DYNA.Rows
FUFU = New OleDb.OleDbCommand("insert into detailtransaksi (notrans,kodebarang,unit,harga) values ('" & NT_46110045.Text & "','" & PAPA("kodebarang") & "'," & PAPA("unit") & "," & PAPA("harga") & ")", DINA)
DINA.Open()
FUFU.ExecuteNonQuery()
DINA.Close()
Next
FUFU.Dispose()
'Mengosongkan isi text box
NT_46110045.Text = ""
JT_46110045.Text = ""
'Mengosongkan baris datatable
DYNA.Rows.Clear()
'mengambildata
Latihan_40A_46110045.grabdata()
'menutup form
Me.Close()
End Sub
End Class
Tidak ada komentar:
Posting Komentar