Jumat, 26 Oktober 2012

Latihan_37_36110038



Deskripsi Latihan_37_36110038
Form Latihan_37 terdapat lima object yaitu Label, Textbox, Button, DateTimePicker dan DataGridView:

Object Label
Terdapat sembilan label (No. Transaksi, Tanggal, jenis Transaksi, Kode Barang, Nama Barang,  Unit, Harga, jumlah dan total)

Object Text Box
Terdapat delapan textbox (lima status input dan 3 status readonly). Status input digunakan untuk memasukkan nilai/text No. Transaksi, jenis Transaksi, Kode Barang, Unit dan Harga. Sedangkan status ReadOnly digunakan untuk menampilkan Nama Barang sesuai kode barang yang telah diinput, Jumlah(hasil perkalian unit dan harga), dan Total dari jumlah.

Object Button
Terdapat dua object button (Tambah dan Simpan). Tombol Tambah  digunakan untuk menambah data pada objek datagridview. Tombol Simpan digunakan untuk menyimpan data yang ada pada datagridview ke dalam table yang ada pada access Data Majemuk.

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

Script Unique 
Button "Tambah" (tambah_36110038)
If kobar_36110038.Text.Length = 0 Then
            MsgBox("Anda Harus Masukkan Kode Barangnya")
            Exit Sub
        End If
Button "simpan" (simpan_36110038)
If no_36110038.Text.Length = 0 Then
            MsgBox("Anda Harus Masukkan No Transaksinya")
            Exit Sub
        End If

Even
tambah_36110038.Click
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_37_36110038 sesuai form dibawah ini.
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_37

Public Class Latihan_37_36110038
    Dim connec As New OleDb.OleDbConnection(" Provider = microsoft.ace.oledb.12.0; data source = " & Application.StartupPath & "\DataMajemuk.accdb")
    Dim tabel As New DataTable

    Private Sub perhitungan()
        Dim Jumlah As Integer = 0
        For Each row As DataRow In tabel.Rows
            Jumlah = Jumlah + row("Jumlah")
        Next
        ttl_36110038.Text = Jumlah
    End Sub

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

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

        dgv_36110038.DataSource = tabel
    End Sub

    Private Sub unit_36110038_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles unit_36110038.TextChanged, hrg_36110038.TextChanged
        jml_36110038.Text = Val(unit_36110038.Text) * Val(hrg_36110038.Text)
    End Sub

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

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

        nabar_36110038.Text = cari.DataTablenya.Rows(0).Item("NAMABARANG")
    End Sub

    Private Sub Tambah_36110038_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tambah_36110038.Click
        If kobar_36110038.Text.Length = 0 Then
            MsgBox("Anda Harus Masukkan Kode Barangnya")
            Exit Sub
        End If
        If nabar_36110038.Text.Length = 0 Then
            MsgBox("Anda Harus Masukkan Nama Barangnya")
            Exit Sub
        End If
        If Val(unit_36110038.Text) = 0 Then
            MsgBox("Anda Harus Masukkan Unit Barangnya")
            Exit Sub
        End If
        If Val(hrg_36110038.Text) = 0 Then
            MsgBox("Anda Harus Masukkan Harga Barangnya")
            Exit Sub
        End If

        If tabel.Rows.Find(kobar_36110038.Text) Is Nothing Then
            tabel.Rows.Add(kobar_36110038.Text, nabar_36110038.Text, Val(unit_36110038.Text), Val(hrg_36110038.Text), Val(jml_36110038.Text))
        Else
            MsgBox("Kode Barang Sudah Ada, Masukkan Kode Barang yang Lain!")
            Exit Sub
        End If

        kobar_36110038.Text = ""
        unit_36110038.Text = ""
        hrg_36110038.Text = ""

        perhitungan()
    End Sub

    Private Sub Simpan_36110038_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Simpan_36110038.Click
        If no_36110038.Text.Length = 0 Then
            MsgBox("Anda Harus Masukkan No Transaksinya")
            Exit Sub
        End If
        If jns_36110038.Text.Length = 0 Then
            MsgBox("Anda Harus Masukkan Jenis Transaksinya")
            Exit Sub
        End If

        If tabel.Rows.Count = 0 Then
            MsgBox("Datanya Belum Ada, Masukkan Kode Barang, Unit dan harganya")
            Exit Sub
        End If

        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

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

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

        no_36110038.Text = ""
        jns_36110038.Text = ""

        tabel.Rows.Clear()

        perhitungan()
    End Sub

    Private Sub kobar_36110038_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles kobar_36110038.TextChanged
        nabar_36110038.Text = ""
        unit_36110038.Text = ""
        hrg_36110038.Text = ""
    End Sub
End Class
6.      Tekan F5 pada keyboard untuk menjalankan form.


Tidak ada komentar:

Posting Komentar