Jumat, 26 Oktober 2012

Deskripsi dan Prosedur Latihan_37_36110039



*   Deskripsi Form Latihan_37_36110039


Terdapat lima object yaitu :

1.      Object Label
Terdapat sembilan object label yang bertuliskan no.transaksi, tanggal, jenis transaksi, kode barang, nama barang, unit, harga, jumlah, dan total

2.      Object Datagridview
Terdapat satu object datagridview.

3.      Object Button
Terdapat dua object button yaitu Tambah dan Simpan. Tombol tambah digunakan untuk menyimpan data yang telah diinput pada textbox ke dalam datatabel (yang ditampilkan pada datagridview). Tombol simpan digunakan untuk menyimpan data yang telah diinput ke dalam database (DATA MAJEMUK). Pada latihan ini, 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.

4.      Object Textbox
Terdapat delapan object textbox (lima status input dan tiga status readonly). Status input digunakan untuk memasukkan nilai: no transaksi, jenis transaksi, kode barang, unit, dan harga. Status readonly digunakan untuk menampilkan nama barang, jumlah, dan total.

5.      Object DateTimePicker
Terdapat satu object datetimepicker.



*   Script Unique
Scriptnya ada pada Prosedur Latihan_37_36110039 dibawah ini.

*   Even
Latihan_37_36110039_Load
Hitung()
unit_36110039_TextChanged
kobar_36110039_Leave
kobar_36110039_TextChanged
tambah_36110039_Click
Simpan_36110039_Click

*      Property
Property TextBox ==> ReadOnly=True




Prosedur menjalankan Latihan_37_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_37_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

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

        Dim KolomPrimary(1) As DataColumn
        KolomPrimary(0) = tabelhld.Columns("KODEBARANG")
        tabelhld.PrimaryKey = KolomPrimary

        dgv_36110039.DataSource = tabelhld
    End Sub

    Private Sub Hitung()
        Dim Jumlah As Integer = 0
        For Each row As DataRow In tabelhld.Rows
            Jumlah = Jumlah + row("Jumlah")
        Next
        total_36110039.Text = Jumlah
    End Sub

  
    Private Sub unit_36110039_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles unit_36110039.TextChanged
        Jumlah_36110039.Text = Val(unit_36110039.Text) * Val(Harga_36110039.Text)
    End Sub

    Private Sub kobar_36110039_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles kobar_36110039.Leave
        If kobar_36110039.Text.Length = 0 Then
            Exit Sub
        End If

        Dim Pencari As New ByIskandar.CariKeDataBaseByIskandar
        Pencari.AturPencarianDataBase("BARANG", "KODEBARANG", kobar_36110039.Text, 1, bridgehld)
        If Pencari.JumlanBaris = 0 Then
            MsgBox("Kode barang tersebut tidak ada")
            Exit Sub
        End If

        nabar_36110039.Text = Pencari.DataTablenya.Rows(0).Item("NAMABARANG")
    End Sub

    Private Sub kobar_36110039_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles kobar_36110039.TextChanged
        nabar_36110039.Text = ""
        unit_36110039.Text = ""
        Harga_36110039.Text = ""
    End Sub

    Private Sub tambah_36110039_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tambah_36110039.Click
        If kobar_36110039.Text.Length = 0 Then
            MsgBox("Anda Harus Masukkan Kode Barangnya")
            Exit Sub
        End If
        If nabar_36110039.Text.Length = 0 Then
            MsgBox("Anda Harus Masukkan Nama Barangnya")
            Exit Sub
        End If
        If Val(unit_36110039.Text) = 0 Then
            MsgBox("Anda Harus Masukkan Unit Barangnya")
            Exit Sub
        End If
        If Val(Harga_36110039.Text) = 0 Then
            MsgBox("Anda Harus Masukkan Harga Barangnya")
            Exit Sub
        End If

        If tabelhld.Rows.Find(kobar_36110039.Text) Is Nothing Then
            tabelhld.Rows.Add(kobar_36110039.Text, nabar_36110039.Text, Val(unit_36110039.Text), Val(Harga_36110039.Text), Val(Jumlah_36110039.Text))
        Else
            MsgBox("Kode Barang Sudah Ada, Masukkan Kode Barang yang Lain!")
            Exit Sub
        End If

        kobar_36110039.Text = ""
        unit_36110039.Text = ""
        Harga_36110039.Text = ""

        Hitung()
    End Sub

    Private Sub Simpan_36110039_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Simpan_36110039.Click
        If notrans_36110039.Text.Length = 0 Then
            MsgBox("Anda Harus Masukkan No Transaksinya")
            Exit Sub
        End If
        If Jtrans_36110039.Text.Length = 0 Then
            MsgBox("Anda Harus Masukkan Jenis Transaksinya")
            Exit Sub
        End If

        If tabelhld.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", notrans_36110039.Text, 1, bridgehld)
        If Periksa.JumlanBaris > 0 Then
            MsgBox("No Transaksi Sudah Ada, Masukkan No Transaksi yang Lain")
            Exit Sub
        End If

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

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

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

        tabelhld.Rows.Clear()

        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.
 
 



Tidak ada komentar:

Posting Komentar