Minggu, 28 Oktober 2012

LATIHAN_37_36110043


DESKRIPSI LATIHAN 37

Terdapat lima object yaitu Label, Textbox, Button, DateTimePicker dan DataGridView

Object Label
Terdapat sembilan object Label (yang bertuliskan No. Transaksi, Tanggal, Jenis Transaksi, Kode Barang, Nama Barang, Unit,  Harga, Jumlah dan Total)

Object Textbox
Terdapat delapan object textbox (lima berstatus input dan tiga berstatus ReadOnly).
Status input digunakan untuk memasukkan angka.
Statua ReadOnly untuk menampilkan hasil perhitungan.

Object Button
Terdapat dua object button yaitu TAMBAH dan SIMPAN 

Date TimePicker

Terdapat satu object DateTimePicker yang digunakan untuk memasukkan tanggal terjadinya transaksi.

DataGridView

Terdapat satu DataGridView untuk menampilkan data transaksi.


Script Unique
Private Sub TAMBAH_36110043_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TAMBAH_36110043.Click
        If KB_36110043.Text.Length = 0 Then
            MsgBox("kode barang tidak terisi")

Even
latihan_37_36110043_Load
kb_36110043_leave
kb_36110043_TextChanged
TAMBAH_36110043_Click
SIMPAN_36110043_Click

LANGKAH-LANGKAH

1.      BUKA  Microsoft Visual Studio 2008 dengan Klik star lalu pilih Microsoft Visual Studio 2008
2.      Click icon "Add new Item
3.       pilih Windows Form, lalu isi Name dengan Nama Latihan._37_36110043 dan click add
4.      Buat design Form sesuai dengan Form diatas {gunakan object-object di dalam ToolBox dan lihat deskripsi latihan ini.}
5.       Ganti nama setiap object kecuali Label menggunakan "Properties Window"
6.       Klik 2x pada design form yang telah dibuat  untuk membuka lembar Scripnya.
Masukkkan Scrip di bawah ini..


Public Class latihan_37_36110043
    Dim pencari As New ByIskandar.CariKeDataBaseByIskandar
    Dim TABEL As New DataTable
    Dim COMAND As New OleDb.OleDbCommand
    Dim CONECT As New OleDb.OleDbConnection("provider=microsoft.ace.oledb.12.0;data source=  M:\Apkom4\LATIHAN 35-40 DATA MAJEMUK\DATAMAJEMUK.accdb;Jet OLEDB:Database Password=43")

    Private Sub latihan_37_36110043_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, detailtransaksi.UNIT, detailtransaksi.HARGA, detailtransaksi.unit*harga as JUMLAH from barang inner join detailtransaksi on barang.kodebarang = detailtransaksi.kodebarang where notrans ='" & NT_36110043.Text & "'", CONECT)
        TABEL.Rows.Clear()
        ADAPTER.Fill(TABEL)
        ADAPTER.Dispose()

        dgv_36110043.DataSource = TABEL

        Dim sudar(1) As DataColumn
        sudar(0) = TABEL.Columns("kodebarang")
        TABEL.PrimaryKey = sudar
    End Sub
    Private Sub TOTAL()
        Dim anra1 As Integer = 0
        For Each anra2 As DataRow In TABEL.Rows
            anra1 += anra2("JUMLAH")
        Next
        TOTAL_36110043.Text = anra1
    End Sub

    Private Sub kb_36110043_leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KB_36110043.Leave
        If KB_36110043.Text.Length = 0 Then
            Exit Sub
        End If
        pencari.AturPencarianDataBase("barang", "kodebarang", KB_36110043.Text, 1, CONECT)
        If pencari.JumlanBaris > 0 Then
            KB_36110043.Text = pencari.DataTablenya.Rows(0).Item("KODEBARANG")
            NB_36110043.Text = pencari.DataTablenya.Rows(0).Item("NAMABARANG")
        Else
            MsgBox("Kode barang tidak terdaftar")
            Exit Sub
        End If
    End Sub

    Private Sub kb_36110043_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KB_36110043.TextChanged
        NB_36110043.Text = ""
        UNIT_36110043.Text = ""
        HARGA_36110043.Text = ""
    End Sub

    Private Sub TAMBAH_36110043_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TAMBAH_36110043.Click
        If KB_36110043.Text.Length = 0 Then
            MsgBox("kode barang tidak terisi")
        ElseIf Val(UNIT_36110043.Text) = 0 Then
            MsgBox("unit tidak terisi")
        ElseIf Val(HARGA_36110043.Text) = 0 Then
            MsgBox("harga barang tidak terisi")
            Exit Sub
        End If

        Dim BARIS As DataRow
        BARIS = TABEL.Rows.Find(KB_36110043.Text)
        If BARIS Is Nothing Then
            BARIS = TABEL.NewRow
            BARIS("KODEBARANG") = KB_36110043.Text
            BARIS("NAMABARANG") = NB_36110043.Text
            BARIS("UNIT") = UNIT_36110043.Text
            BARIS("HARGA") = HARGA_36110043.Text
            BARIS("JUMLAH") = Val(JUMLAH_36110043.Text)

            TABEL.Rows.Add(BARIS)

            KB_36110043.Text = ""
            UNIT_36110043.Text = ""
            HARGA_36110043.Text = ""
        Else
            MsgBox("kode barang telah terdaftar,")
        End If
        TOTAL()
    End Sub

    Private Sub SIMPAN_36110043_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SIMPAN_36110043.Click
        If NT_36110043.Text.Length = 0 Then
            MsgBox("nomor transaksi harus terisi")
        ElseIf JT_36110043.Text.Length = 0 Then
            MsgBox("Isi rong Jenis Transaksi na..")
        ElseIf TABEL.Rows.Count = 0 Then
            MsgBox("data table tidak boleh kosong")
            Exit Sub
        End If

        pencari.AturPencarianDataBase("mastertransaksi", "notrans", NT_36110043.Text, 1, CONECT)
        If pencari.JumlanBaris > 0 Then
            MsgBox("nomor transaksi telah ada")
            Exit Sub
        End If

        COMAND = New OleDb.OleDbCommand("insert into mastertransaksi(notrans, tanggaltransaksi, jenistransaksi) values ('" & NT_36110043.Text & "',#" & TGL_361110043.Value.Month & "/" & TGL_361110043.Value.Day & "/" & TGL_361110043.Value.Year & "#,'" & JT_36110043.Text & "')", CONECT)
        CONECT.Open()
        COMAND.ExecuteNonQuery()
        CONECT.Close()

        For Each x As DataRow In TABEL.Rows
            COMAND = New OleDb.OleDbCommand("insert into detailtransaksi(notrans, kodebarang, unit, harga) values ('" & NT_36110043.Text & "','" & x("kodebarang") & "','" & x("unit") & "','" & x("harga") & "')", CONECT)
            CONECT.Open()
            COMAND.ExecuteNonQuery()
            CONECT.Close()
        Next
        COMAND.Dispose()

        NT_36110043.Text = ""
        JT_36110043.Text = ""

        TABEL.Rows.Clear()
        TOTAL()
    End Sub

    Private Sub UNIT_36110043_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles UNIT_36110043.TextChanged, HARGA_36110043.TextChanged
        JUMLAH_36110043.Text = Val(UNIT_36110043.Text) * Val(HARGA_36110043.Text)
    End Sub
   
End Class 

Next … save dan untuk menjalankan klik star debugging



Tidak ada komentar:

Posting Komentar