v Tahap
Penyelesaian Latihan_38_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_38_36110040
4. Buat Form Latihan_38 dibawah ini:
5. Berikut
ini Rumus untuk menjalankan Form diatas:
Public Class Latihan_38_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 Latihan38042_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
membuat primary key
Dim
KolomPrimary(1) As DataColumn
KolomPrimary(0) = Table.Columns("KodeBarang")
Table.PrimaryKey = KolomPrimary
'Perintah
menampilkan datatable ke datagridview
DataGridView1.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
DataRow In Table.Rows
Jumlah = Jumlah + BarisX("Jumlah")
Next
Total36110040.Text = Jumlah
End Sub
Private Sub Unit_TextChanged(ByVal
sender As Object,
ByVal e As
System.EventArgs) Handles
Unit36110040.TextChanged, Harga36110040.TextChanged
'Proses
perhitungan jumlah
Jumlah36110040.Text =
Val(Unit36110040.Text) * Val(Harga36110040.Text)
End Sub
Private Sub Kode_Leave(ByVal
sender As Object,
ByVal e As
System.EventArgs) Handles Kode36110040.Leave
'Proses
memeriksa textbox yang masih kosong
If
Kode36110040.Text.Length = 0 Then
Exit
Sub
End If
'Perintah
memeriksa keberadaan kodebarang pada table Barang
Dim
Pencari As New
ByIskandar.CariKeDataBaseByIskandar
Pencari.AturPencarianDataBase("Barang", "KodeBarang",
Kode36110040.Text, 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
Kode36110040.Text =
Latihan_383940.DataGridView1.CurrentRow.Cells("KodeBarang").Value
Nama36110040.Text =
Pencari.DataTablenya.Rows(0).Item("NamaBarang")
Else
Kode36110040.Text = ""
End
If
Exit
Sub
End If
'Perintah
mengisi nama barang pada textbox
Nama36110040.Text =
Pencari.DataTablenya.Rows(0).Item("NamaBarang")
End Sub
Private Sub Kode_TextChanged(ByVal
sender As Object,
ByVal e As
System.EventArgs) Handles
Kode36110040.TextChanged
'Mengosongkan
kembali isi textbox
Nama36110040.Text = ""
Unit36110040.Text = ""
Harga36110040.Text = ""
End Sub
Private Sub Tambah_Click(ByVal
sender As Object,
ByVal e As
System.EventArgs) Handles Tambah.Click
'Proses
memeriksa textbox yang masih kosong
If
Kode36110040.Text.Length = 0 Then
MsgBox("Anda
Harus Masukkan Kode Barangnya")
Exit
Sub
End If
If
Nama36110040.Text.Length = 0 Then
MsgBox("Anda
Harus Masukkan Nama Barangnya")
Exit
Sub
End If
If
Val(Unit36110040.Text) = 0 Then
MsgBox("Anda
Harus Masukkan Unit Barangnya")
Exit
Sub
End If
If
Val(Harga36110040.Text) = 0 Then
MsgBox("Anda
Harus Masukkan Harga Barangnya")
Exit
Sub
End If
'Perintah
memeriksa keberadaan primary key
If
Table.Rows.Find(Kode36110040.Text) Is Nothing Then
'Perintah
menambahkan data baris pada table
Table.Rows.Add(Kode36110040.Text,
Nama36110040.Text, Val(Unit36110040.Text), Val(Harga36110040.Text),
Val(Jumlah36110040.Text))
Else
'Perintah
ketika primary key sudah ada
MsgBox("Kode
Barang Sudah Ada, Masukkan Kode Barang yang Lain!")
Exit
Sub
End If
'Mengosongkan
kembali isi textbox
Kode36110040.Text = ""
Unit36110040.Text = ""
Harga36110040.Text = ""
'Perintah
menjalankan prosedur tanpa parameter
Hitung()
End Sub
Private Sub Simpan_Click(ByVal
sender As Object,
ByVal e As
System.EventArgs) Handles Simpan.Click
'Proses
memeriksa textbox yang masih kosong
If
Notrans36110040.Text.Length = 0 Then
MsgBox("Anda
Harus Masukkan No Transaksinya")
Exit
Sub
End If
If
Jenis36110040.Text.Length = 0 Then
MsgBox("Anda
Harus Masukkan Jenis Transaksinya")
Exit
Sub
End If
'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
v Tahap
Penyelesaian Latihan_38_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_38_36110040
4. Buat Form Latihan_38 dibawah ini:
5. Berikut
ini Rumus untuk menjalankan Form diatas:
Public Class Latihan_38_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 Latihan38042_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
membuat primary key
Dim
KolomPrimary(1) As DataColumn
KolomPrimary(0) = Table.Columns("KodeBarang")
Table.PrimaryKey = KolomPrimary
'Perintah
menampilkan datatable ke datagridview
DataGridView1.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
DataRow In Table.Rows
Jumlah = Jumlah + BarisX("Jumlah")
Next
Total36110040.Text = Jumlah
End Sub
Private Sub Unit_TextChanged(ByVal
sender As Object,
ByVal e As
System.EventArgs) Handles
Unit36110040.TextChanged, Harga36110040.TextChanged
'Proses
perhitungan jumlah
Jumlah36110040.Text =
Val(Unit36110040.Text) * Val(Harga36110040.Text)
End Sub
Private Sub Kode_Leave(ByVal
sender As Object,
ByVal e As
System.EventArgs) Handles Kode36110040.Leave
'Proses
memeriksa textbox yang masih kosong
If
Kode36110040.Text.Length = 0 Then
Exit
Sub
End If
'Perintah
memeriksa keberadaan kodebarang pada table Barang
Dim
Pencari As New
ByIskandar.CariKeDataBaseByIskandar
Pencari.AturPencarianDataBase("Barang", "KodeBarang",
Kode36110040.Text, 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
Kode36110040.Text =
Latihan_383940.DataGridView1.CurrentRow.Cells("KodeBarang").Value
Nama36110040.Text =
Pencari.DataTablenya.Rows(0).Item("NamaBarang")
Else
Kode36110040.Text = ""
End
If
Exit
Sub
End If
'Perintah
mengisi nama barang pada textbox
Nama36110040.Text =
Pencari.DataTablenya.Rows(0).Item("NamaBarang")
End Sub
Private Sub Kode_TextChanged(ByVal
sender As Object,
ByVal e As
System.EventArgs) Handles
Kode36110040.TextChanged
'Mengosongkan
kembali isi textbox
Nama36110040.Text = ""
Unit36110040.Text = ""
Harga36110040.Text = ""
End Sub
Private Sub Tambah_Click(ByVal
sender As Object,
ByVal e As
System.EventArgs) Handles Tambah.Click
'Proses
memeriksa textbox yang masih kosong
If
Kode36110040.Text.Length = 0 Then
MsgBox("Anda
Harus Masukkan Kode Barangnya")
Exit
Sub
End If
If
Nama36110040.Text.Length = 0 Then
MsgBox("Anda
Harus Masukkan Nama Barangnya")
Exit
Sub
End If
If
Val(Unit36110040.Text) = 0 Then
MsgBox("Anda
Harus Masukkan Unit Barangnya")
Exit
Sub
End If
If
Val(Harga36110040.Text) = 0 Then
MsgBox("Anda
Harus Masukkan Harga Barangnya")
Exit
Sub
End If
'Perintah
memeriksa keberadaan primary key
If
Table.Rows.Find(Kode36110040.Text) Is Nothing Then
'Perintah
menambahkan data baris pada table
Table.Rows.Add(Kode36110040.Text,
Nama36110040.Text, Val(Unit36110040.Text), Val(Harga36110040.Text),
Val(Jumlah36110040.Text))
Else
'Perintah
ketika primary key sudah ada
MsgBox("Kode
Barang Sudah Ada, Masukkan Kode Barang yang Lain!")
Exit
Sub
End If
'Mengosongkan
kembali isi textbox
Kode36110040.Text = ""
Unit36110040.Text = ""
Harga36110040.Text = ""
'Perintah
menjalankan prosedur tanpa parameter
Hitung()
End Sub
Private Sub Simpan_Click(ByVal
sender As Object,
ByVal e As
System.EventArgs) Handles Simpan.Click
'Proses
memeriksa textbox yang masih kosong
If
Notrans36110040.Text.Length = 0 Then
MsgBox("Anda
Harus Masukkan No Transaksinya")
Exit
Sub
End If
If
Jenis36110040.Text.Length = 0 Then
MsgBox("Anda
Harus Masukkan Jenis Transaksinya")
Exit
Sub
End If
'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