Jumat, 26 Oktober 2012

LATIHAN_40B_36110042


Deskripsi Latihan_40B_36110042

A.   Object-object dalam Latihan_40B_36110042:

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_383940_36110042.

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_40A_36110042.

6.   Object StatusStrip
Terdapat satu object statustrip yang memiliki dua label (yang bertuliskan no transaksi dan -).

B.   Script Unique

Untuk script, silahkan lihat selengkapnya pada Langkah-Langkah Latihan_40B_36110042.

C.   Even

SelectData()
Latihan_40B_36110042_Load
Hitung()
DGV_36110042_CellEndEdit
SIMPAN_36110042_Click

Langkah-Langkah Latihan_40B_36110042
1.    Klik Start lalu pilih Microsoft Visual Studio 2008.

2.    Lalu akan muncul Start Page Microsoft Visual Studio 2008.

3.    Pilih Recent Project “Kumpulan_Latihan_36110042

4.     Setelah terbuka, pilih icon Add New Item atau Ctrl+Shift+A

5.    Akan terbuka jendela Add New Item seperti di bawah ini, pilih template “Windows Form dan beri nama “Latihan_40B_36110042

6.    Kemudian buat form sesuai dengan form di bawah ini.

7.     Berikut ini adalah rumus untuk menjalankan form di atas.

Public Class Latihan_40B_36110042

    Dim bridgeRara As New OleDb.OleDbConnection("provider=microsoft.ace.oledb.12.0;data source= " & Application.StartupPath & "\datamajemuk.accdb;Jet OLEDB:Database Password=26")

    Dim tabelRara As New DataTable

    Public Sub SelectData()
        Dim truckRara As New OleDb.OleDbDataAdapter

        truckRara = 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_36110042.Text & "'", bridgeRara)

        tabelRara.Rows.Clear()

        truckRara.Fill(tabelRara)

        truckRara.Dispose()
    End Sub

    Private Sub Latihan_40B_36110042_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        SelectData()

        DGV_36110042.DataSource = tabelRara
    End Sub

    Public Sub Hitung()
        Dim Jumlah As Integer = 0
        For Each row As DataGridViewRow In DGV_36110042.Rows
            Jumlah = Jumlah + row.Cells("Jumlah").Value
        Next
        TOTAL_36110042.Text = Jumlah
    End Sub

    Private Sub DGV_36110042_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGV_36110042.CellEndEdit
        If e.ColumnIndex = 0 Then
            DGV_36110042.CurrentRow.Cells("NAMABARANG").Value = ""
            DGV_36110042.CurrentRow.Cells("UNIT").Value = 0
            DGV_36110042.CurrentRow.Cells("HARGA").Value = 0
            DGV_36110042.CurrentRow.Cells("JUMLAH").Value = 0

            Dim Pencari As New ByIskandar.CariKeDataBaseByIskandar
            Pencari.AturPencarianDataBase("BARANG", "KODEBARANG", DGV_36110042.CurrentRow.Cells("KODEBARANG").Value, 1, bridgeRara)

            If Pencari.JumlanBaris = 0 Then
                MsgBox("Kode barang tersebut tidak ada")
                If Latihan_383940_36110042.ShowDialog = Windows.Forms.DialogResult.OK Then
                    DGV_36110042.CurrentRow.Cells("KODEBARANG").Value = Latihan_383940_36110042.DGV_36110042.CurrentRow.Cells("KODEBARANG").Value
                    DGV_36110042.CurrentRow.Cells("NAMABARANG").Value = Latihan_383940_36110042.DGV_36110042.CurrentRow.Cells("NAMABARANG").Value
                Else
                    DGV_36110042.CurrentRow.Cells("KODEBARANG").Value = ""
                End If
                Exit Sub
            End If

            DGV_36110042.CurrentRow.Cells("NAMABARANG").Value = Pencari.DataTablenya.Rows(0).Item("NAMABARANG")

        ElseIf e.ColumnIndex = 2 Or e.ColumnIndex = 3 Then
            DGV_36110042.CurrentRow.Cells("JUMLAH").Value = DGV_36110042.CurrentRow.Cells("UNIT").Value * DGV_36110042.CurrentRow.Cells("HARGA").Value

            Hitung()
        End If
    End Sub

    Private Sub SIMPAN_36110042_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles SIMPAN_36110042.Click
        If tabelRara.Rows.Count = 0 Then
            MsgBox("Datanya Belum Ada, Masukkan Kode Barang, Unit dan harganya")
            Exit Sub
        End If

        If NO_36110042.Text <> NOLAMA_36110042.Text Then
            Dim Periksa As New ByIskandar.CariKeDataBaseByIskandar
            Periksa.AturPencarianDataBase("MASTERTRANSAKSI", "NOTRANS", NO_36110042.Text, 1, bridgeRara)
            If Periksa.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_36110042.Text & "'", bridgeRara)
        bridgeRara.Open()
        Hapus.ExecuteNonQuery()
        bridgeRara.Close()
        Hapus = New OleDb.OleDbCommand("Delete * From DETAILTRANSAKSI Where NOTRANS = '" & NOLAMA_36110042.Text & "'", bridgeRara)
        bridgeRara.Open()
        Hapus.ExecuteNonQuery()
        bridgeRara.Close()

        Dim Ambil As New OleDb.OleDbCommand
        Ambil = New OleDb.OleDbCommand("Insert Into MASTERTRANSAKSI (NOTRANS, TANGGALTRANSAKSI, JENISTRANSAKSI) " & _
        "Values ('" & NO_36110042.Text & "', #" & DATE_36110042.Value.Month & "/" & DATE_36110042.Value.Day & "/" & DATE_36110042.Value.Year & "#, '" & JENIS_36110042.Text & "')", bridgeRara)
        bridgeRara.Open()
        Ambil.ExecuteNonQuery()
        bridgeRara.Close()
        Ambil.Dispose()

        For Each BarisX As DataRow In tabelRara.Rows
            Dim Simpan As New OleDb.OleDbCommand
            Simpan = New OleDb.OleDbCommand("Insert Into DETAILTRANSAKSI (NOTRANS, KODEBARANG, UNIT, HARAGA) " & _
            "Values ('" & NO_36110042.Text & "', '" & BarisX("KODEBARANG") & "', " & BarisX("UNIT") & ", " & BarisX("HARGA") & ")", bridgeRara)
            bridgeRara.Open()
            Simpan.ExecuteNonQuery()
            bridgeRara.Close()
            Simpan.Dispose()
        Next

        NO_36110042.Text = ""
        JENIS_36110042.Text = ""

        tabelRara.Clear()

        Latihan_40A_36110042.Isi()

        Hitung()
    End Sub
End Class

8.    Setelah itu, jalankan programnya dengan klik Icon Start Debugging kemudian akan mucul form navigator dan klik Latihan 40.





Tidak ada komentar:

Posting Komentar