Jumat, 26 Oktober 2012

LATIHAN_39_36110042


Deskripsi Latihan_39_36110042

A.   Object-object dalam Latihan_39_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 telah diinput pada textbox. Dan juga digunakan untuk menginput kode barang.

B.   Script Unique

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

C.   Even

Latihan_39_36110042_Load(
Hitung()
DGV_36110042_CellEndEdit
SIMPAN_36110042_Click

D.   Property

Property TextBox ==> ReadOnly=True

Langkah-Langkah Latihan_39_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_39_36110042

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

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

Public Class Latihan_39_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

    Private Sub Latihan_39_36110042_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        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()

        DGV_36110042.DataSource = tabelRara
    End Sub

    Private 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

        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

        Dim truckRara As New OleDb.OleDbCommand
        truckRara = 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()
        truckRara.ExecuteNonQuery()
        bridgeRara.Close()

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

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

        tabelRara.Rows.Clear()

        Hitung()
    End Sub
End Class


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





Tidak ada komentar:

Posting Komentar