Latihan_40b _36110052
A. Object-object dalam Latihan_40B_36110052 :
1. Object Label
Terdapat
empat label (yang bertuliskan no transaksi, tanggal, jenis transaksi, dan
total).
2.
Object Textbox
Terdapat
tiga textbox (dua status input dan sat status readonly). Status input digunakan
untuk memasukkan nilai no transaksi dan jenis transaksi. Status readonly
digunakan untuk menampilkan total.
3.
Object Button
Terdapat
satu object button (Simpan). Tombol simpan digunakan untuk menyimpan data yang
telah diinput ke dalam database (DATA MAJEMUK). Kode barang yang diinput harus
merupakan kode barang yang sudah ada pada tabel kode barang karena nama barang
akan ditampilkan pada textbox readonly sesuai dengan kode barang yang diinput.
Jika kode barang yang diinput tidak ada, maka akan muncul form Latihan_38_39_40_36110052.
4.
Object DateTimePicker
Terdapat
satu object datetimepicker yang digunakan untuk menentukan tanggal transaksi.
5.
Object DataGridView
Terdapat
satu object datagridview yang digunakan untuk menampilkan data yang akan diedit
atau ditambah ke dalam database. Data yang akan diedit merupakan data yang sudah
dipilih pada form Latihan_40_36110052.
6.
Object StatusStrip
Terdapat satu object statustrip yang memiliki
dua label (yang bertuliskan no transaksi)
B. Script Unique
Untuk script, silahkan lihat
selengkapnya pada Langkah-langkah kerja latihan_40b_36110052
C. Even
Anra2()
Latihan_40B_36110052_Load
Anra3()
Anra4()
Tambah()
Edit()
DGV_36110052_CellEndEdit
SIMPAN_36110052_Click
Langkah-langkah
kerja latihan_40b_36110052
1. Buat
new windows form dengan cara ketik project àadd windows
form pada project yang telah dibuat dan
berikan nama form yang diinginkan
Contoh: latihan_40b_36110052
3. Setiap
tools yang diambil pada textbox dapat diubah propertiesnya seperti nama dan
teksnya dengan cara klik kanan-properties
4. Buat
form dengan bentuk seperti ini:
5. Setelah
selesai form, masuk ke lembar Vb dan masukkan script
Public Class LATIHAN_40B_36110052
Dim veve As
New ByIskandar.CariKeDataBaseByIskandar
Dim tabel As
New DataTable
Dim via As
New OleDb.OleDbCommand
Dim vee As
New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data
Source='" & Application.StartupPath & "\DataMajemuk.accdb'")
Public Sub
anra2()
Dim a As New
OleDb.OleDbDataAdapter
a = New
OleDb.OleDbDataAdapter("select
barang.KODEBARANG, barang.NAMABARANG, detailtransaksi.UNIT,
detailtransaksi.HARGA, detailtransaksi.unit * detailtransaksi.harga as JUMLAH
from barang inner join detailtransaksi on barang.kodebarang =
detailtransaksi.kodebarang where notrans = '" &
nt_36110052.Text & "'", vee)
tabel.Rows.Clear()
a.Fill(tabel)
End Sub
Public Sub
anra3()
Dim
anra31 As Integer
= 0
For Each anra32 As
DataRow In tabel.Rows
anra31 += anra32("JUMLAH")
Next
total_36110052.Text = anra31
End Sub
Private Sub
anra4()
If
nt_36110052.Text.Length = 0 Then
MsgBox("no
transaksi harus terisi")
Exit
Sub
End If
If
jt_36110052.Text.Length = 0 Then
MsgBox("jenis
transaksi harus terisi")
Exit
Sub
End If
If
tabel.Rows.Count = 0 Then
MsgBox("Isi
datatable")
Exit
Sub
End If
End Sub
Private Sub
tambah()
anra4()
veve.AturPencarianDataBase("mastertransaksi", "notrans", nt_36110052.Text, 1, vee)
If
veve.JumlanBaris > 0 Then
MsgBox("Adami
notrans seperti itu..")
Exit
Sub
End If
via = New
OleDb.OleDbCommand("insert into
mastertransaksi (notrans, tanggaltransaksi, jenistransaksi) values ('"
& nt_36110052.Text & "',#"
& tgl_36110052.Value.Month & "/"
& tgl_36110052.Value.Day & "/"
& tgl_36110052.Value.Year & "#,
'" & tgl_36110052.Text & "')",
vee)
vee.Open()
via.ExecuteNonQuery()
vee.Close()
For Each x As DataRow In tabel.Rows
via = New
OleDb.OleDbCommand("insert into
detailtransaksi (notrans, kodebarang, unit, harga) values ('" &
nt_36110052.Text & "', '"
& x("kodebarang") & "', '" & x("unit")
& "', '" & x("harga") & "')
", vee)
vee.Open()
via.ExecuteNonQuery()
vee.Close()
Next
via.Dispose()
nt_36110052.Text = ""
jt_36110052.Text = ""
total_36110052.Text = ""
kode_36110052.Text = "-"
tabel.Rows.Clear()
LATIHAN_40_36110052.anra1()
End Sub
Public Sub
edit()
anra4()
If
nt_36110052.Text <> kode_36110052.Text Then
veve.AturPencarianDataBase("mastertransaksi", "notrans", nt_36110052.Text, 1, vee)
If
veve.JumlanBaris > 0 Then
MsgBox("no
transaksi telah ada")
Exit
Sub
End
If
End If
via = New
OleDb.OleDbCommand("delete * from
mastertransaksi where notrans = '" & kode_36110052.Text & "'", vee)
vee.Open()
via.ExecuteNonQuery()
vee.Close()
via = New
OleDb.OleDbCommand("insert into
mastertransaksi(notrans, tanggaltransaksi, jenistransaksi) values ('"
& nt_36110052.Text & "',#"
& tgl_36110052.Value.Month & "/"
& tgl_36110052.Value.Day & "/"
& tgl_36110052.Value.Year & "#,
'" & jt_36110052.Text & "')",
vee)
vee.Open()
via.ExecuteNonQuery()
vee.Close()
via = New
OleDb.OleDbCommand("delete * from detailtransaksi
where notrans = '" & kode_36110052.Text & "'", vee)
vee.Open()
via.ExecuteNonQuery()
vee.Close()
For Each x As DataRow In tabel.Rows
via = New
OleDb.OleDbCommand("insert into detailtransaksi(notrans,
kodebarang, unit, harga) values ('" & nt_36110052.Text & "', '" & x("kodebarang")
& "', '" & x("unit") & "',
'" & x("harga")
& "')", vee)
vee.Open()
via.ExecuteNonQuery()
vee.Close()
Next
vee.Dispose()
nt_36110052.Text = ""
jt_36110052.Text = ""
total_36110052.Text = ""
kode_36110052.Text = "-"
tabel.Rows.Clear()
LATIHAN_40_36110052.anra1()
End Sub
Private Sub
latihan_40b_36110052_Load(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
MyBase.Load
anra2()
Dim
dc(1) As DataColumn
dc(0) = tabel.Columns("kodebarang")
tabel.PrimaryKey = dc
tabel.Columns("unit").DefaultValue
= 0
tabel.Columns("harga").DefaultValue
= 0
tabel.Columns("jumlah").DefaultValue
= 0
dgv_36110052.DataSource = tabel
End Sub
Private Sub
dgv_36110052_Cellendedit(ByVal sender As System.Object, ByVal
e As
System.Windows.Forms.DataGridViewCellEventArgs) Handles
dgv_36110052.CellEndEdit
If
dgv_36110052.Columns(e.ColumnIndex).Name = "KODEBARANG"
Then
dgv_36110052.CurrentRow.Cells("NAMABARANG").Value = ""
dgv_36110052.CurrentRow.Cells("UNIT").Value = 0
dgv_36110052.CurrentRow.Cells("HARGA").Value = 0
dgv_36110052.CurrentRow.Cells("JUMLAH").Value = 0
veve.AturPencarianDataBase("barang", "kodebarang",
dgv_36110052.CurrentRow.Cells("KODEBARANG").Value,
1, vee)
If
veve.JumlanBaris > 0 Then
dgv_36110052.CurrentRow.Cells("NAMABARANG").Value =
veve.DataTablenya.Rows(0).Item("NAMABARANG")
Else
dgv_36110052.CurrentRow.Cells("NAMABARANG").Value = ""
If
LATIHAN_38_39_40_36110052.ShowDialog = Windows.Forms.DialogResult.OK Then
dgv_36110052.CurrentRow.Cells("KODEBARANG").Value
= LATIHAN_38_39_40_36110052.dgv_36110052.CurrentRow.Cells("KODEBARANG").Value
dgv_36110052.CurrentRow.Cells("NAMABARANG").Value
= LATIHAN_38_39_40_36110052.dgv_36110052.CurrentRow.Cells("NAMABARANG").Value
End
If
End
If
ElseIf
dgv_36110052.Columns(e.ColumnIndex).Name = "UNIT"
Or dgv_36110052.Columns(e.ColumnIndex).Name = "HARGA" Then
dgv_36110052.CurrentRow.Cells("JUMLAH").Value =
dgv_36110052.CurrentRow.Cells("UNIT").Value
* dgv_36110052.CurrentRow.Cells("HARGA").Value
anra3()
End If
End Sub
Private Sub
simpan_36110052_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
simpan_36110052.Click
If
kode_36110052.Text = "-" Then
tambah()
Else
edit()
End If
End Sub
End Class
6.
Uji program dengan mengklik “Start Debbuging” dan save program dengan mengklik
“Save”.
7.
SELESAI

Tidak ada komentar:
Posting Komentar