A. Object-object dalam
Latihan_40b_46110001
Deskripsi Form Latihan_40B_46110001
Form
Latihan_40B_46110001 terdapat Enam object yaitu Label, Textbox, Button, data
time picker, Data Grid View, dan StatusStrip.
Object Label
Terdapat Sembilan object label yang bertuliskan “no. transaksi”, “tanggal”, “jenis transaksi”, dan "total".
Object TextBox
Terdapat dua object textbox yang berstatus
input dan satu berstatus ReadOnly.
Object Button
Terdapat Satu object button yaitu Button
"save" digunakan untuk menyimpan data yang telah diinput atau diedit.
Object Date Time Picker
Dalam latihan ini terdapat
sebuah date time picker yeng terdapat pada "Tanggal"
Object DataGridView
Terdapat sebuah object data grid view yang
berguna untuk menampilkan detail data yang telah diinput
Object StatusStrip
Terdapat sebuah object StatusStrip yang berguna
untuk menampilkan no.transaksi data yang di edit
Property :
Property TextBox ==> ReadOnly=True
B. Even
click
load
C. Prosedur
Penyelesaian
Langkah
pertama
dalam membuat form/ latihan 40b ialah, pada desktop anda, pilih microsoft visual studio 2008.seperti pada langkah dibawah ini
·
Setelah
itu pilih file kemudian New setelah itu pilih project, maka akan muncul
tampilan seperti dibawah ini
·
Setelah
langkah ke dua selesai maka langkah selanjutnya adalah, pada tampilan project tersebut
silahkan anda mengganti nama form sesuai dengan yang anda inginkan
·
atau
jika anda pernah membuat form sebelumnya, maka langkah selanjutnya yang perlu anda lakukan adalah hanya dengan
membuat buat form baru dengan memilih project kemudian pilih add windows form, seperti pada gambar dibawah
ini.
·
Buatlah form seperti
gambar dibawah ini,
·
Berikut
ini adalah rumus untuk menjalankan form di atas
Public Class Latihan_40B_46110001
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 As Integer
For Each hasil As DataRow In gitik.Rows
ttotal += hasil("Jumlah")
Next
Total_46110001.Text = ttotal
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_46110001.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_46110001.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_CellEndEdit(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles Showme_46110001.CellEndEdit
'mengosongkan data
If e.ColumnIndex = 0 Then
Showme_46110001.CurrentRow.Cells("NamaBarang").Value = ""
Showme_46110001.CurrentRow.Cells("Unit").Value = 0
Showme_46110001.CurrentRow.Cells("harga").Value = 0
Showme_46110001.CurrentRow.Cells("Jumlah").Value = 0
'mencari data yang ada di tabel
Dim Pencari As New ByIskandar.CariKeDataBaseByIskandar
Pencari.AturPencarianDataBase("barang", "kodebarang", Showme_46110001.CurrentRow.Cells("kodebarang").Value, 1, Jalan)
If Pencari.JumlanBaris > 0 Then
Showme_46110001.CurrentRow.Cells("kodebarang").Value = Pencari.DataTablenya.Rows(0).Item(0)
Showme_46110001.CurrentRow.Cells("namabarang").Value = Pencari.DataTablenya.Rows(0).Item(1)
Else
MsgBox("the data is not found")
If Latihan_38_39_40_46110001.ShowDialog = Windows.Forms.DialogResult.OK Then
Showme_46110001.CurrentRow.Cells("kodebarang").Value = Latihan_38_39_40_46110001.view_46110001.CurrentRow.Cells("KodeBarang").Value
Showme_46110001.CurrentRow.Cells("Namabarang").Value = Latihan_38_39_40_46110001.view_46110001.CurrentRow.Cells("namabarang").Value
End If
End If
'mengitung jumlah dan total
ElseIf e.ColumnIndex = 2 Or e.ColumnIndex = 3 Then
Showme_46110001.CurrentRow.Cells("jumlah").Value = Showme_46110001.CurrentRow.Cells("unit").Value * Showme_46110001.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_46110001.Click
'Memeriksa isi textbox
If NT_46110001.Text.Length = 0 Then
MsgBox("Please, insert the Number of the transaction")
Exit Sub
End If
If JT_46110001.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.Text <> NT_46110001.Text Then
Dim PENCARI As New ByIskandar.CariKeDataBaseByIskandar
PENCARI.AturPencarianDataBase("mastertransaksi", "notrans", NT_46110001.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.Text)
Dim kacci As New OleDb.OleDbCommand
kacci = New OleDb.OleDbCommand("delete * from mastertransaksi where notrans='" & replace.Text & "'", Jalan)
Jalan.Open()
kacci.ExecuteNonQuery()
Jalan.Close()
kacci = New OleDb.OleDbCommand("delete * from detailtransaksi where notrans='" & replace.Text & "'", Jalan)
Jalan.Open()
kacci.ExecuteNonQuery()
Jalan.Close()
kacci = New OleDb.OleDbCommand("insert into mastertransaksi (notrans,tanggaltransaksi,jenistransaksi) values ('" & NT_46110001.Text & "',#" & DTP_46110001.Value.Month & "/" & DTP_46110001.Value.Day & "/" & DTP_46110001.Value.Year & "#,'" & JT_46110001.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_46110001.Text & "','" & nhana("kodebarang") & "'," & nhana("unit") & "," & nhana("harga") & ")", Jalan)
Jalan.Open()
kacci.ExecuteNonQuery()
Jalan.Close()
Next
kacci.Dispose()
'Mengosongkan isi text box
NT_46110001.Text = ""
JT_46110001.Text = ""
'Mengosongkan baris datatable
gitik.Rows.Clear()
'mengambildata
Latihan_40A_46110001.grabdata()
'menutup form
Me.Close()
End Sub
End Class
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 As Integer
For Each hasil As DataRow In gitik.Rows
ttotal += hasil("Jumlah")
Next
Total_46110001.Text = ttotal
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_46110001.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_46110001.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_CellEndEdit(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles Showme_46110001.CellEndEdit
'mengosongkan data
If e.ColumnIndex = 0 Then
Showme_46110001.CurrentRow.Cells("NamaBarang").Value = ""
Showme_46110001.CurrentRow.Cells("Unit").Value = 0
Showme_46110001.CurrentRow.Cells("harga").Value = 0
Showme_46110001.CurrentRow.Cells("Jumlah").Value = 0
'mencari data yang ada di tabel
Dim Pencari As New ByIskandar.CariKeDataBaseByIskandar
Pencari.AturPencarianDataBase("barang", "kodebarang", Showme_46110001.CurrentRow.Cells("kodebarang").Value, 1, Jalan)
If Pencari.JumlanBaris > 0 Then
Showme_46110001.CurrentRow.Cells("kodebarang").Value = Pencari.DataTablenya.Rows(0).Item(0)
Showme_46110001.CurrentRow.Cells("namabarang").Value = Pencari.DataTablenya.Rows(0).Item(1)
Else
MsgBox("the data is not found")
If Latihan_38_39_40_46110001.ShowDialog = Windows.Forms.DialogResult.OK Then
Showme_46110001.CurrentRow.Cells("kodebarang").Value = Latihan_38_39_40_46110001.view_46110001.CurrentRow.Cells("KodeBarang").Value
Showme_46110001.CurrentRow.Cells("Namabarang").Value = Latihan_38_39_40_46110001.view_46110001.CurrentRow.Cells("namabarang").Value
End If
End If
'mengitung jumlah dan total
ElseIf e.ColumnIndex = 2 Or e.ColumnIndex = 3 Then
Showme_46110001.CurrentRow.Cells("jumlah").Value = Showme_46110001.CurrentRow.Cells("unit").Value * Showme_46110001.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_46110001.Click
'Memeriksa isi textbox
If NT_46110001.Text.Length = 0 Then
MsgBox("Please, insert the Number of the transaction")
Exit Sub
End If
If JT_46110001.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.Text <> NT_46110001.Text Then
Dim PENCARI As New ByIskandar.CariKeDataBaseByIskandar
PENCARI.AturPencarianDataBase("mastertransaksi", "notrans", NT_46110001.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.Text)
Dim kacci As New OleDb.OleDbCommand
kacci = New OleDb.OleDbCommand("delete * from mastertransaksi where notrans='" & replace.Text & "'", Jalan)
Jalan.Open()
kacci.ExecuteNonQuery()
Jalan.Close()
kacci = New OleDb.OleDbCommand("delete * from detailtransaksi where notrans='" & replace.Text & "'", Jalan)
Jalan.Open()
kacci.ExecuteNonQuery()
Jalan.Close()
kacci = New OleDb.OleDbCommand("insert into mastertransaksi (notrans,tanggaltransaksi,jenistransaksi) values ('" & NT_46110001.Text & "',#" & DTP_46110001.Value.Month & "/" & DTP_46110001.Value.Day & "/" & DTP_46110001.Value.Year & "#,'" & JT_46110001.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_46110001.Text & "','" & nhana("kodebarang") & "'," & nhana("unit") & "," & nhana("harga") & ")", Jalan)
Jalan.Open()
kacci.ExecuteNonQuery()
Jalan.Close()
Next
kacci.Dispose()
'Mengosongkan isi text box
NT_46110001.Text = ""
JT_46110001.Text = ""
'Mengosongkan baris datatable
gitik.Rows.Clear()
'mengambildata
Latihan_40A_46110001.grabdata()
'menutup form
Me.Close()
End Sub
End Class
·
langkah
selanjutnya Jalankan program dengan cara klik kanan pada project, lalu
pilih Kumpulan_Latihan 46110001 properties, kemudian akan muncul tampilan
seperti gambar dibawah ini:
·
Setelah mengatur startup form/ jika anda
memiliki form navigator maka langkah yang perlu anda lakukan adalah ganti nama
startup dengan nama navigator yang telah anda buat setelah itu, klik start debug untuk
menjalankan form latihan 40 b seperti dibawah ini :
·
Setelah menekan tombol debug maka tampilan
latihan 40b sebagai berikut : catatan :untuk memperbesar gambar klik 2 kali pada gambar
·
Jika terdapat kesalahan, maka program akan
menunjukkan letak kesalahannya dengan menampilkan jumlah error atau tampilan
peringatan.





0 komentar:
Posting Komentar