v Tahap
Penyelesaian Latihan_39_36110040
1. Buka Project yang telah dibuat, lalu buka solution Explorer
2. Setelah
itu klik kanan nama project, pilih add dan klik “new item”
3. Click Add New Item terbuka, pilih Windows Form, lalu isi Name
dengan Nama Latihan_39_36110040
4. Buat Form Latihan_39 dibawah ini:
5. Berikut
ini Rumus untuk menjalankan Form diatas:
Public Class Latihan_39_36110040
'Mendeklarasikan
object connection
Dim
Jembatan As New
OleDb.OleDbConnection(" Provider =
microsoft.ace.oledb.12.0; data source = " &
Application.StartupPath & "\DataMajemuk.accdb;
jet OLEDB:Database Password=040")
'Mendeklarasikan
datatable
Dim Table As New DataTable
Private Sub Latihan_39_36110040_Load(ByVal
sender As Object,
ByVal e As
System.EventArgs) Handles Me.Load
'Mendeklarasikan
adapter
Dim
Angkut As New
OleDb.OleDbDataAdapter
'Proses
mengambil data dari table
Angkut = New
OleDb.OleDbDataAdapter("select
Barang.KodeBarang, Barang.NamaBarang, Unit, Harga, Unit * Harga As Jumlah
" & _
"From
Detailtransaksi Inner join Barang on Detailtransaksi.Kodebarang =
Barang.Kodebarang where Notrans = '" & Notrans36110040.Text
& "'", Jembatan)
'Perintah
membersihkan datatable
Table.Rows.Clear()
'Perintah
mengisi datatable
Angkut.Fill(Table)
'Perintah
menghapus adapter
Angkut.Dispose()
'Perintah
menampilkan datatable ke datagridview
dgv36110040.DataSource = Table
End Sub
Private Sub Hitung()
'Proses
perhitungan total unit dan total menggunakan prosedur tanpa parameter
Dim
Jumlah As Integer
= 0
For Each BarisX As
DataGridViewRow In dgv36110040.Rows
Jumlah = Jumlah + BarisX.Cells("Jumlah").Value
Next
Total36110040.Text = Jumlah
End Sub
Private Sub DataGridView1_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgv36110040.CellEndEdit
If
e.ColumnIndex = 0 Then
dgv36110040.CurrentRow.Cells("NamaBarang").Value = ""
dgv36110040.CurrentRow.Cells("Unit").Value = 0
dgv36110040.CurrentRow.Cells("Harga").Value = 0
dgv36110040.CurrentRow.Cells("Jumlah").Value = 0
'Perintah
memeriksa keberadaan kodebarang pada table Barang
Dim
Pencari As New
ByIskandar.CariKeDataBaseByIskandar
Pencari.AturPencarianDataBase("Barang", "KodeBarang",
dgv36110040.CurrentRow.Cells("Kodebarang").Value,
1, Jembatan)
'Perintah
mengisi nama barang pada textbox
If
Pencari.JumlanBaris = 0 Then
MsgBox("Kode
barang tersebut tidak ada")
If
Latihan_383940.ShowDialog = Windows.Forms.DialogResult.OK Then
dgv36110040.CurrentRow.Cells("Kodebarang").Value
= Latihan_383940.DataGridView1.CurrentRow.Cells("KodeBarang").Value
dgv36110040.CurrentRow.Cells("NamaBarang").Value
= Latihan_383940.DataGridView1.CurrentRow.Cells("NamaBarang").Value
Else
dgv36110040.CurrentRow.Cells("Kodebarang").Value
= ""
End
If
Exit
Sub
End
If
'Perintah
mengisi nama barang pada textbox
dgv36110040.CurrentRow.Cells("NamaBarang").Value =
Pencari.DataTablenya.Rows(0).Item("NamaBarang")
ElseIf
e.ColumnIndex = 2 Or e.ColumnIndex = 3 Then
'Perintah
menghitung jumlah
dgv36110040.CurrentRow.Cells("Jumlah").Value =
dgv36110040.CurrentRow.Cells("Unit").Value
* dgv36110040.CurrentRow.Cells("Harga").Value
'Perintah
menjalankan prosedur tanpa parameter
Hitung()
End If
End Sub
Private Sub Simpan_Click(ByVal
sender As Object,
ByVal e As
System.EventArgs) Handles Simpan.Click
'Proses
memeriksa datagridview yang masih kosong
If
Table.Rows.Count = 0 Then
MsgBox("Datanya
Belum Ada, Masukkan Kode Barang, Unit dan harganya")
Exit
Sub
End If
'Perintah
memeriksa no. transaksi yang sama dengan table sumber
Dim
Periksa As New
ByIskandar.CariKeDataBaseByIskandar
Periksa.AturPencarianDataBase("MasterTransaksi", "Notrans", Notrans36110040.Text, 1,
Jembatan)
If
Periksa.JumlanBaris > 0 Then
MsgBox("No
Transaksi Sudah Ada, Masukkan No Transaksi yang Lain")
Exit
Sub
End If
'Proses
penyimpanan nomor, tanggal, dan jenis transaksi ke table sumber
Dim
Ambil As New
OleDb.OleDbCommand
Ambil = New
OleDb.OleDbCommand("Insert Into
MasterTransaksi (NoTrans, TanggalTransaksi, JenisTransaksi) " &
_
"Values
('" & Notrans36110040.Text & "',
#" & tanggal36110040.Value.Month & "/"
& tanggal36110040.Value.Day & "/"
& tanggal36110040.Value.Year & "#,
'" & Jenis36110040.Text & "')",
Jembatan)
Jembatan.Open()
Ambil.ExecuteNonQuery()
Jembatan.Close()
'Proses
penyimpanan isi datatable ke Detail Transaksi
For Each BarisX As
DataRow In Table.Rows
Ambil = New
OleDb.OleDbCommand("Insert Into
DetailTransaksi (NoTrans, Kodebarang, Unit, Harga) " & _
"Values
('" & Notrans36110040.Text & "',
'" & BarisX("Kodebarang")
& "', " & BarisX("Unit") & ",
" & BarisX("Harga")
& ")", Jembatan)
Jembatan.Open()
Ambil.ExecuteNonQuery()
Jembatan.Close()
Next
Ambil.Dispose()
'Mengosongkan
kembali isi textbox
Notrans36110040.Text = ""
Jenis36110040.Text = ""
'Mengosongkan
kembali isi data table
Table.Rows.Clear()
'Perintah
menjalankan prosedur tanpa parameter
Hitung()
End Sub
End Class
6. Setelah itu
jalankan Programnya dengan menekan “start debugging”
7. Kemudian simpan
file tersebut dengan menekan icon “save”
8. Selesai
Tidak ada komentar:
Posting Komentar