Jumat, 26 Oktober 2012
Latihan_40B_36110038
Deskripsi Latihan_40B_36110038
Form Latihan_40B terdapat enam
object yaitu Label, Textbox, Button, DateTimePicker, DataGridView dan
StatusStrip:
Object Label
Terdapat empat label (No. Transaksi,
Tanggal, jenis Transaksi dan total)
Object Text Box
Terdapat tiga textbox (dua status
input dan satu status readonly). Status input digunakan untuk memasukkan nilai/text
No. Transaksi dan jenis Transaksi. Sedangkan status ReadOnly digunakan untuk
menampilkan Total harga dari semua data yang ada pada objek DataGridView.
Object Button
Terdapat satu object button (Simpan).
Tombol Simpan digunakan untuk menyimpan data yang ingin ditambahkan atau
dirubah pada Latihan_40A_36110038 ke objek DataGridView.
Object Date TimePicker
Terdapat
satu datetimepicker yang digunakan untuk memasukkan date/tanggal.
Object Data GridView
Terdapat satu data gridview yang
digunakan untuk menampilkan data yang diinput.
Script Unique 
Button "simpan" (simpan_36110038)
If
tabel.Rows.Count = 0 Then
            MsgBox("Datanya
Belum Ada, Masukkan Kode Barang, Unit dan harganya")
            Exit
Sub
        End If
Even
simpan_36110038.Click
Proprety
ReadOnly è True
Prosedur penyelesaian
1.     
Buka Project_36110038 yang telah
dibuat sebelumnya.
2.     
Buka visual basic Kumpulan_Latihan_36110038
yang telah dibuat sebelumnya
3.     
Buat form baru dengan nama
Latihan_40B_36110038 sesuai form dibawah in
4.      Ganti
semua nama objek yang ada selain label menggunakan "Properties
Window" sesuai dengan yang diinginkan dengan menambahkan stambuk
dibelakang nama obyek.
5.      Klik
2x pada kotak design untuk membuka lembar VB untuk menuliskan rumusnya. Masukkan
rumus berikut untuk menyelesaikan Latihan_40B
Public Class Latihan_40B_36110038
    Dim connec As New
OleDb.OleDbConnection(" Provider =
microsoft.ace.oledb.12.0; data source = " &
Application.StartupPath & "\DataMajemuk.accdb")
    Dim tabel As New DataTable
    Public Sub SelectData()
        Dim
adapter As New
OleDb.OleDbDataAdapter
        adapter = 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 = '" & no_36110038.Text & "'", connec)
        tabel.Rows.Clear()
        adapter.Fill(tabel)
        adapter.Dispose()
    End Sub
    Public Sub Hitung()
        Dim
Jumlah As Integer
= 0
        For Each row As
DataGridViewRow In dgv_36110038.Rows
            Jumlah = Jumlah + row.Cells("Jumlah").Value
        Next
        ttl_36110038.Text = Jumlah
    End Sub
    Private Sub Latihan_40B_36110038_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
        SelectData()
        dgv_36110038.DataSource = tabel
    End Sub
    Private Sub dgv_36110038_CellContentClick(ByVal sender As
System.Object, ByVal e As
System.Windows.Forms.DataGridViewCellEventArgs) Handles
dgv_36110038.CellContentClick
    End Sub
    Private Sub dgv_36110038_CellEndEdit(ByVal
sender As Object,
ByVal e As
System.Windows.Forms.DataGridViewCellEventArgs) Handles
dgv_36110038.CellEndEdit
        If
e.ColumnIndex = 0 Then
            dgv_36110038.CurrentRow.Cells("NAMABARANG").Value = ""
            dgv_36110038.CurrentRow.Cells("UNIT").Value = 0
            dgv_36110038.CurrentRow.Cells("HARGA").Value = 0
            dgv_36110038.CurrentRow.Cells("JUMLAH").Value = 0
            Dim
Pencari As New
ByIskandar.CariKeDataBaseByIskandar
            Pencari.AturPencarianDataBase("BARANG", "KODEBARANG",
dgv_36110038.CurrentRow.Cells("KODEBARANG").Value,
1, connec)
            If
Pencari.JumlanBaris = 0 Then
                MsgBox("Kode
barang tersebut tidak ada")
                If
Latihan_383940_36110038.ShowDialog = Windows.Forms.DialogResult.OK Then
                   
dgv_36110038.CurrentRow.Cells("KODEBARANG").Value
= Latihan_383940_36110038.dgv_36110038.CurrentRow.Cells("KODEBARANG").Value
                   
dgv_36110038.CurrentRow.Cells("NAMABARANG").Value
= Latihan_383940_36110038.dgv_36110038.CurrentRow.Cells("NAMABARANG").Value
                Else
                   
dgv_36110038.CurrentRow.Cells("KODEBARANG").Value
= ""
                End
If
                Exit
Sub
            End
If
            dgv_36110038.CurrentRow.Cells("NAMABARANG").Value =
Pencari.DataTablenya.Rows(0).Item("NAMABARANG")
        ElseIf
e.ColumnIndex = 2 Or e.ColumnIndex = 3 Then
            dgv_36110038.CurrentRow.Cells("JUMLAH").Value =
dgv_36110038.CurrentRow.Cells("UNIT").Value
* dgv_36110038.CurrentRow.Cells("HARGA").Value
            Hitung()
        End If
    End Sub
    Private Sub Simpan_36110038_Click(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles Simpan_36110038.Click
        If
tabel.Rows.Count = 0 Then
            MsgBox("Datanya
Belum Ada, Masukkan Kode Barang, Unit dan harganya")
            Exit
Sub
        End If
        If
no_36110038.Text <> nolama_36110038.Text Then
            Dim
cari As New
ByIskandar.CariKeDataBaseByIskandar
            cari.AturPencarianDataBase("MASTERTRANSAKSI", "NOTRANS", no_36110038.Text, 1, connec)
            If
cari.JumlanBaris > 0 Then
                MsgBox("No
Transaksi Sudah Ada, Masukkan No Transaksi yang Lain")
                Exit
Sub
            End
If
        End If
        Dim
Hapus As New
OleDb.OleDbCommand
        Hapus = New
OleDb.OleDbCommand("Delete * From
MASTERTRANSAKSI Where NOTRANS = '" & nolama_36110038.Text &
"'", connec)
        connec.Open()
        Hapus.ExecuteNonQuery()
        connec.Close()
        Hapus = New
OleDb.OleDbCommand("Delete * From
DETAILTRANSAKSI Where NOTRANS = '" & nolama_36110038.Text &
"'", connec)
        connec.Open()
        Hapus.ExecuteNonQuery()
        connec.Close()
        Dim
Ambil As New
OleDb.OleDbCommand
        Ambil = New
OleDb.OleDbCommand("Insert Into
MASTERTRANSAKSI (NOTRANS, TANGGALTRANSAKSI, JENISTRANSAKSI) " &
_
        "Values
('" & no_36110038.Text & "',
#" & tgl_36110038.Value.Month & "/"
& tgl_36110038.Value.Day & "/"
& tgl_36110038.Value.Year & "#,
'" & jns_36110038.Text & "')",
connec)
        connec.Open()
        Ambil.ExecuteNonQuery()
        connec.Close()
        Ambil.Dispose()
        For Each BarisX As
DataRow In tabel.Rows
            Dim
Simpan As New
OleDb.OleDbCommand
            Simpan = New
OleDb.OleDbCommand("Insert Into
DETAILTRANSAKSI (NOTRANS, KODEBARANG, UNIT, HARAGA) " & _
            "Values
('" & no_36110038.Text & "',
'" & BarisX("KODEBARANG")
& "', " & BarisX("UNIT") & ",
" & BarisX("HARGA")
& ")", connec)
            connec.Open()
            Simpan.ExecuteNonQuery()
            connec.Close()
            Simpan.Dispose()
        Next
        no_36110038.Text = ""
        jns_36110038.Text = ""
        tabel.Clear()
        Latihan_40A_36110038.Isi()
        Hitung()
    End Sub
End Class
6.     
Tekan
F5 pada keyboard untuk menjalankan form.
Langganan:
Komentar (Atom)
