Deskripsi Form Latihan 40A
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.
Even
Load
ButtonClick
Script Unique
Lebih lengkap dan jelasnya silahkan dilihat pada script di bawah.
· Buka project yang telah dibuat sebelumnya.
· Click project kemudian pilih add windows form, seperti pada gambar dibawah ini
· Ketik nama form
"Latihan_40A_46110002" pada name kemudian click add
· Buat form seperti berikut
·
Setelah
itu beri teks pada button dan label.
·
Kemudian
beri nama pada semua objek kecuali label.
· Setelah form selesai masukkan rumus seperti
dibawah ini
Public Class Latihan_40A_46110002
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 Latihan_40A_46110002_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
grabdata()
'memasukkan datatabel ke dalam dataset
dtmaster.TableName = "CINTA"
dtdetail.TableName = "SAYANG"
DGV_46110002.DataSource = bsmaster
DGV1_46110002.DataSource = bsdetail
atur2.Tables.Add(dtmaster)
atur2.Tables.Add(dtdetail)
atur2.Relations.Add(New DataRelation("relasi", atur2.Tables("CINTA").Columns("notrans"), atur2.Tables("SAYANG").Columns("notrans")))
'menampilkan datatabel ke dGV dg menggunakan binding
bsmaster.DataSource = atur2
bsmaster.DataMember = "CINTA"
bsdetail.DataSource = bsmaster
bsdetail.DataMember = "relasi"
End Sub
Private Sub EDIT_46110002_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EDIT_46110002.Click
Latihan_40B_46110002.Show()
Latihan_40B_46110002.replace_46110002.Text = DGV_46110002.CurrentRow.Cells("notrans").Value
Latihan_40B_46110002.NT.Text = DGV_46110002.CurrentRow.Cells("notrans").Value
Latihan_40B_46110002.DTP_46110002.Text = DGV_46110002.CurrentRow.Cells("tanggaltransaksi").Value
Latihan_40B_46110002.JT_46110002.Text = DGV_46110002.CurrentRow.Cells("jenistransaksi").Value
Latihan_40B_46110002.makecolumn()
Latihan_40B_46110002.YUYU()
End Sub
Private Sub TAMBAH_46110002_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TAMBAH_46110002.Click
Latihan_40B_46110002.Show()
Latihan_40B_46110002.NT.Text = ""
Latihan_40B_46110002.JT_46110002.Text = ""
Latihan_40B_46110002.replace_46110002.Text = "-"
Latihan_40B_46110002.makecolumn()
End Sub
Private Sub HAPUS_46110002_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles HAPUS_46110002.Click
If MsgBox("seriously want to delete the record???", MsgBoxStyle.YesNo) = MsgBoxResult.No Then
Exit Sub
End If
Dim GUGU As New OleDb.OleDbCommand
GUGU = New OleDb.OleDbCommand("delete* from mastertransaksi where notrans='" & DGV_46110002.CurrentRow.Cells("notrans").Value & "'", go)
go.Open()
GUGU.ExecuteNonQuery()
go.Close()
GUGU = New OleDb.OleDbCommand("delete* from detailtransaksi where notrans='" & DGV_46110002.CurrentRow.Cells("notrans").Value & "'", go)
go.Open()
GUGU.ExecuteNonQuery()
go.Close()
grabdata()
End Sub
End Class
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 Latihan_40A_46110002_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
grabdata()
'memasukkan datatabel ke dalam dataset
dtmaster.TableName = "CINTA"
dtdetail.TableName = "SAYANG"
DGV_46110002.DataSource = bsmaster
DGV1_46110002.DataSource = bsdetail
atur2.Tables.Add(dtmaster)
atur2.Tables.Add(dtdetail)
atur2.Relations.Add(New DataRelation("relasi", atur2.Tables("CINTA").Columns("notrans"), atur2.Tables("SAYANG").Columns("notrans")))
'menampilkan datatabel ke dGV dg menggunakan binding
bsmaster.DataSource = atur2
bsmaster.DataMember = "CINTA"
bsdetail.DataSource = bsmaster
bsdetail.DataMember = "relasi"
End Sub
Private Sub EDIT_46110002_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EDIT_46110002.Click
Latihan_40B_46110002.Show()
Latihan_40B_46110002.replace_46110002.Text = DGV_46110002.CurrentRow.Cells("notrans").Value
Latihan_40B_46110002.NT.Text = DGV_46110002.CurrentRow.Cells("notrans").Value
Latihan_40B_46110002.DTP_46110002.Text = DGV_46110002.CurrentRow.Cells("tanggaltransaksi").Value
Latihan_40B_46110002.JT_46110002.Text = DGV_46110002.CurrentRow.Cells("jenistransaksi").Value
Latihan_40B_46110002.makecolumn()
Latihan_40B_46110002.YUYU()
End Sub
Private Sub TAMBAH_46110002_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TAMBAH_46110002.Click
Latihan_40B_46110002.Show()
Latihan_40B_46110002.NT.Text = ""
Latihan_40B_46110002.JT_46110002.Text = ""
Latihan_40B_46110002.replace_46110002.Text = "-"
Latihan_40B_46110002.makecolumn()
End Sub
Private Sub HAPUS_46110002_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles HAPUS_46110002.Click
If MsgBox("seriously want to delete the record???", MsgBoxStyle.YesNo) = MsgBoxResult.No Then
Exit Sub
End If
Dim GUGU As New OleDb.OleDbCommand
GUGU = New OleDb.OleDbCommand("delete* from mastertransaksi where notrans='" & DGV_46110002.CurrentRow.Cells("notrans").Value & "'", go)
go.Open()
GUGU.ExecuteNonQuery()
go.Close()
GUGU = New OleDb.OleDbCommand("delete* from detailtransaksi where notrans='" & DGV_46110002.CurrentRow.Cells("notrans").Value & "'", go)
go.Open()
GUGU.ExecuteNonQuery()
go.Close()
grabdata()
End Sub
End Class
Deskripsi Form Latihan 40B
Pada form latihan 40B ada 6 object
yang digunakan yaitu Label, Text Box, Button, Date Time
Picker, Status Strip dan Data Grid View.
Object Label
Pada form ini
label yang digunakan ada 4 (no. transaksi, tanggal, jenis transaksi dan total).
Object TextBox
Pada form ini
ada 3 textbox yang digunakan (2 status input dan 1 status readonly). Status
input digunakan untuk memasukkan data. Data yang dimasukkan yaitu “no.
transaksi dan jenis transaksi”.
Object
DateTimePicker
Pada latihan 40B
terdapat 1 datetimepicker. Datetimepicker digunakan dalam menginput data berupa
tahun, bulan dan tanggal.
Object
Button
Terdapat 1 object button (save).
Tombol “save” digunakan untuk menyimpan data yang telah ditambahkan ke “Data
Majemuk”.
Object DataGridView
Terdapat 1 object datagridview yang berfungsi
untuk menampilkan data tabel “Data Majemuk”.
Object
StatusStrip
Ada 2 statusstrip yang digunakan
(no transaksi dan -). “-“ nantinya akan menampilkan no transaksi.
Even
Load
ButtonClick
Script Unique
Lebih lengkap dan jelasnya silahkan dilihat pada script di bawah.
· setelah membuat desain latihan 40A lanjut kelatihan 40B.
· Click project kemudian pilih add windows form, seperti pada gambar dibawah ini
· Ketik nama form
"Latihan_40B_46110002" pada name kemudian click add
· Buat form seperti berikut
·
Setelah
itu beri teks pada button dan label.
·
Kemudian
beri nama pada semua objek kecuali label.
· Setelah form selesai masukkan rumus seperti
dibawah ini
Public Class Latihan_40B_46110002
Dim ILDA As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source =" & Application.StartupPath & "\Datamajemuk.ACCDB")
Dim YANI As New DataTable
Dim baru(1) As DataColumn
Public Sub YUYU()
Dim TTOTAL As Integer
For Each hasil As DataRow In YANI.Rows
TTOTAL += hasil("Jumlah")
Next
Total_46110002.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_46110002.Text & "'", ILDA)
'bersihkan data
YANI.Rows.Clear()
'untuk memasukkan data yg telah di angkut ke dalam datatable
BUBU.Fill(YANI)
BUBU.Dispose()
'untuk menampilkan isi datatable ke data grid view
YANI.Columns("Kodebarang").DefaultValue = ""
YANI.Columns("NamaBarang").DefaultValue = ""
YANI.Columns("unit").DefaultValue = 0
YANI.Columns("harga").DefaultValue = 0
YANI.Columns("jumlah").DefaultValue = 0
YANI.Columns("NamaBarang").ReadOnly = True
baru(0) = YANI.Columns("kodebarang")
YANI.PrimaryKey = baru
DGV_46110002.DataSource = YANI
End Sub
Private Sub Latihan_40B_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
makecolumn()
End Sub
Private Sub DGV_46110002_CellEndEdit(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGV_46110002.CellEndEdit
'mengosongkan data
If e.ColumnIndex = 0 Then
DGV_46110002.CurrentRow.Cells("NamaBarang").Value = ""
DGV_46110002.CurrentRow.Cells("Unit").Value = 0
DGV_46110002.CurrentRow.Cells("harga").Value = 0
DGV_46110002.CurrentRow.Cells("Jumlah").Value = 0
'mencari data yang ada di tabel
Dim Pencari As New ByIskandar.CariKeDataBaseByIskandar
Pencari.AturPencarianDataBase("barang", "kodebarang", DGV_46110002.CurrentRow.Cells("kodebarang").Value, 1, ILDA)
If Pencari.JumlanBaris > 0 Then
DGV_46110002.CurrentRow.Cells("kodebarang").Value = Pencari.DataTablenya.Rows(0).Item(0)
DGV_46110002.CurrentRow.Cells("namabarang").Value = Pencari.DataTablenya.Rows(0).Item(1)
Else
MsgBox("the data is not found")
If Latihan_383940_46110002.ShowDialog = Windows.Forms.DialogResult.OK Then
DGV_46110002.CurrentRow.Cells("kodebarang").Value = Latihan_383940_46110002.DGV_46110002.CurrentRow.Cells("KodeBarang").Value
DGV_46110002.CurrentRow.Cells("Namabarang").Value = Latihan_383940_46110002.DGV_46110002.CurrentRow.Cells("namabarang").Value
End If
End If
'mengitung jumlah dan total
ElseIf e.ColumnIndex = 2 Or e.ColumnIndex = 3 Then
DGV_46110002.CurrentRow.Cells("jumlah").Value = DGV_46110002.CurrentRow.Cells("unit").Value * DGV_46110002.CurrentRow.Cells("harga").Value
YUYU()
End If
End Sub
Private Sub Simpan_46110002_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Simpan_46110002.Click
'Memeriksa isi textbox
If NT_46110002.Text.Length = 0 Then
MsgBox("Please, insert the Number of the transaction")
Exit Sub
End If
If JT_46110002.Text.Length = 0 Then
MsgBox("Please, insert the type of the transaction")
Exit Sub
End If
If YANI.Rows.Count = 0 Then
MsgBox("the data is none")
Exit Sub
End If
'Memeriksa nomor transaksi pd master transaksi
If replace_46110002.Text <> NT.Text Then
Dim PENCARI As New ByIskandar.CariKeDataBaseByIskandar
PENCARI.AturPencarianDataBase("mastertransaksi", "notrans", NT_46110002.Text, 1, ILDA)
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_46110002.Text)
Dim FUFU As New OleDb.OleDbCommand
FUFU = New OleDb.OleDbCommand("delete * from mastertransaksi where notrans='" & replace_46110002.Text & "'", ILDA)
ILDA.Open()
FUFU.ExecuteNonQuery()
ILDA.Close()
FUFU = New OleDb.OleDbCommand("delete * from detailtransaksi where notrans='" & replace_46110002.Text & "'", ILDA)
ILDA.Open()
FUFU.ExecuteNonQuery()
ILDA.Close()
FUFU = New OleDb.OleDbCommand("insert into mastertransaksi (notrans,tanggaltransaksi,jenistransaksi) values ('" & NT_46110002.Text & "',#" & DTP_46110002.Value.Month & "/" & DTP_46110002.Value.Day & "/" & DTP_46110002.Value.Year & "#,'" & JT_46110002.Text & "')", ILDA)
ILDA.Open()
FUFU.ExecuteNonQuery()
ILDA.Close()
'penyimpanan isi datatable ke detail transaksi
For Each PAPA As DataRow In YANI.Rows
FUFU = New OleDb.OleDbCommand("insert into detailtransaksi (notrans,kodebarang,unit,harga) values ('" & NT_46110002.Text & "','" & PAPA("kodebarang") & "'," & PAPA("unit") & "," & PAPA("harga") & ")", ILDA)
ILDA.Open()
FUFU.ExecuteNonQuery()
ILDA.Close()
Next
FUFU.Dispose()
'Mengosongkan isi text box
NT_46110002.Text = ""
JT_46110002.Text = ""
'Mengosongkan baris datatable
YANI.Rows.Clear()
'mengambildata
Latihan_40A_46110002.grabdata()
'menutup form
Me.Close()
End Sub
End Class
Dim ILDA As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source =" & Application.StartupPath & "\Datamajemuk.ACCDB")
Dim YANI As New DataTable
Dim baru(1) As DataColumn
Public Sub YUYU()
Dim TTOTAL As Integer
For Each hasil As DataRow In YANI.Rows
TTOTAL += hasil("Jumlah")
Next
Total_46110002.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_46110002.Text & "'", ILDA)
'bersihkan data
YANI.Rows.Clear()
'untuk memasukkan data yg telah di angkut ke dalam datatable
BUBU.Fill(YANI)
BUBU.Dispose()
'untuk menampilkan isi datatable ke data grid view
YANI.Columns("Kodebarang").DefaultValue = ""
YANI.Columns("NamaBarang").DefaultValue = ""
YANI.Columns("unit").DefaultValue = 0
YANI.Columns("harga").DefaultValue = 0
YANI.Columns("jumlah").DefaultValue = 0
YANI.Columns("NamaBarang").ReadOnly = True
baru(0) = YANI.Columns("kodebarang")
YANI.PrimaryKey = baru
DGV_46110002.DataSource = YANI
End Sub
Private Sub Latihan_40B_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
makecolumn()
End Sub
Private Sub DGV_46110002_CellEndEdit(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGV_46110002.CellEndEdit
'mengosongkan data
If e.ColumnIndex = 0 Then
DGV_46110002.CurrentRow.Cells("NamaBarang").Value = ""
DGV_46110002.CurrentRow.Cells("Unit").Value = 0
DGV_46110002.CurrentRow.Cells("harga").Value = 0
DGV_46110002.CurrentRow.Cells("Jumlah").Value = 0
'mencari data yang ada di tabel
Dim Pencari As New ByIskandar.CariKeDataBaseByIskandar
Pencari.AturPencarianDataBase("barang", "kodebarang", DGV_46110002.CurrentRow.Cells("kodebarang").Value, 1, ILDA)
If Pencari.JumlanBaris > 0 Then
DGV_46110002.CurrentRow.Cells("kodebarang").Value = Pencari.DataTablenya.Rows(0).Item(0)
DGV_46110002.CurrentRow.Cells("namabarang").Value = Pencari.DataTablenya.Rows(0).Item(1)
Else
MsgBox("the data is not found")
If Latihan_383940_46110002.ShowDialog = Windows.Forms.DialogResult.OK Then
DGV_46110002.CurrentRow.Cells("kodebarang").Value = Latihan_383940_46110002.DGV_46110002.CurrentRow.Cells("KodeBarang").Value
DGV_46110002.CurrentRow.Cells("Namabarang").Value = Latihan_383940_46110002.DGV_46110002.CurrentRow.Cells("namabarang").Value
End If
End If
'mengitung jumlah dan total
ElseIf e.ColumnIndex = 2 Or e.ColumnIndex = 3 Then
DGV_46110002.CurrentRow.Cells("jumlah").Value = DGV_46110002.CurrentRow.Cells("unit").Value * DGV_46110002.CurrentRow.Cells("harga").Value
YUYU()
End If
End Sub
Private Sub Simpan_46110002_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Simpan_46110002.Click
'Memeriksa isi textbox
If NT_46110002.Text.Length = 0 Then
MsgBox("Please, insert the Number of the transaction")
Exit Sub
End If
If JT_46110002.Text.Length = 0 Then
MsgBox("Please, insert the type of the transaction")
Exit Sub
End If
If YANI.Rows.Count = 0 Then
MsgBox("the data is none")
Exit Sub
End If
'Memeriksa nomor transaksi pd master transaksi
If replace_46110002.Text <> NT.Text Then
Dim PENCARI As New ByIskandar.CariKeDataBaseByIskandar
PENCARI.AturPencarianDataBase("mastertransaksi", "notrans", NT_46110002.Text, 1, ILDA)
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_46110002.Text)
Dim FUFU As New OleDb.OleDbCommand
FUFU = New OleDb.OleDbCommand("delete * from mastertransaksi where notrans='" & replace_46110002.Text & "'", ILDA)
ILDA.Open()
FUFU.ExecuteNonQuery()
ILDA.Close()
FUFU = New OleDb.OleDbCommand("delete * from detailtransaksi where notrans='" & replace_46110002.Text & "'", ILDA)
ILDA.Open()
FUFU.ExecuteNonQuery()
ILDA.Close()
FUFU = New OleDb.OleDbCommand("insert into mastertransaksi (notrans,tanggaltransaksi,jenistransaksi) values ('" & NT_46110002.Text & "',#" & DTP_46110002.Value.Month & "/" & DTP_46110002.Value.Day & "/" & DTP_46110002.Value.Year & "#,'" & JT_46110002.Text & "')", ILDA)
ILDA.Open()
FUFU.ExecuteNonQuery()
ILDA.Close()
'penyimpanan isi datatable ke detail transaksi
For Each PAPA As DataRow In YANI.Rows
FUFU = New OleDb.OleDbCommand("insert into detailtransaksi (notrans,kodebarang,unit,harga) values ('" & NT_46110002.Text & "','" & PAPA("kodebarang") & "'," & PAPA("unit") & "," & PAPA("harga") & ")", ILDA)
ILDA.Open()
FUFU.ExecuteNonQuery()
ILDA.Close()
Next
FUFU.Dispose()
'Mengosongkan isi text box
NT_46110002.Text = ""
JT_46110002.Text = ""
'Mengosongkan baris datatable
YANI.Rows.Clear()
'mengambildata
Latihan_40A_46110002.grabdata()
'menutup form
Me.Close()
End Sub
End Class
Langkah-Langkah Menjalankan Form Latihan 40
1.
Klik start debugging lalu klik latihan 40
2.
Tentukan perintah apa yang akan anda jalankan.
3.
Jika ingin menghapus data, pilih data yang ingin
dihapus kemudian klik tombol “hapus”
4.
Jika ingin menambah data klik tombol “tambah”, maka
form Latihan_40B_46110002 akan muncul
5.
Jika ingin mengedit data klik tombol “edit”, maka form
Latihan_40B_46110007 akan muncul
6.
Setelah itu klik “save” untuk menyimpan hasil
edit/tambah data.
7.
Selamat mencoba.










0 komentar:
Posting Komentar