Jumat, 26 Oktober 2012

Deskripsi dan Prosedur Latihan_40b_36110039



*Deskripsi Form Latihan_40b_36110039

Terdapat enam object yaitu :

1.      Object Label
Terdapat empat object label yang bertuliskan no.transaksi, tanggal, jenis transaksi, dan total.

2.      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_36110039.

3.      Object Button
Terdapat satu object button yaitu 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_36110039.

4.      Object Textbox
Terdapat tiga object 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.


5.      Object DateTimePicker
Terdapat satu object datetimepicker yang digunakan untuk menentukan tanggal transaksi.


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



*   Script Unique
Scriptnya ada pada Prosedur Latihan_40b_36110039 dibawah ini.

*   Even
SelectData()
Latihan_40B_36110039_Load
Hitung()
dgv_36110039_CellEndEdit
Simpan_36110039_Click




Prosedur menjalankan Latihan_40b_36110039:
1.      Klik Start dan pilih Microsoft Visual Studio 2008.
 

2.      Klik menu file dan pilih New Project.
 

3.      Ketik nama dan pilih lokasi yang diinginkan pada masing-masing tempat yang tersedia, klik Ok.

4.      Klik menu view dan pilih toolbox.
 


5.      Kemudian buatlah form seperti kolom dibawah ini:

6.      Berikut ini adalah rumus untuk menjalankan form di atas:
Public Class Latihan_40b_36110039

    Dim bridgehld As New OleDb.OleDbConnection(" Provider = microsoft.ace.oledb.12.0; data source = " & Application.StartupPath & "\DataMajemuk.accdb;jet oledb:database password=2301")
    Dim tabelhld As New DataTable

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

        truckhld = 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 = '" & notrans_36110039.Text & "'", bridgehld)

        tabelhld.Rows.Clear()

        truckhld.Fill(tabelhld)

        truckhld.Dispose()
    End Sub

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

        dgv_36110039.DataSource = tabelhld
    End Sub

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

    Private Sub DGV_36110048_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgv_36110039.CellEndEdit

    End Sub



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

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

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

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

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

            Hitung()
        End If
    End Sub

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

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

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

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

        notrans_36110039.Text = ""
        Jtrans_36110039.Text = ""

        tabelhld.Clear()

        Latihan_40a_36110039.Isi()

        Hitung()
    End Sub
End Class

7.       Untuk melihat apakah program yang anda telah buat sudah benar atau belum tepat maka klik icon Start Debugging atau tekan F5.