Minggu, 28 Oktober 2012

LATIHAN_39_36110043


DESKRIPSI LATIHAN 39

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

Object Label
Terdapat empat object Label (yang bertuliskan No. Transaksi, Tanggal, Jenis Transaksi dan Total)

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

Object Button
Terdapat object button yaitu SIMPAN 

Date TimePicker
Terdapat 1 object DateTimePicker yang digunakan untuk memasukkan tanggal terjadinya transaksi.

DataGridView
Terdapat 1 DataGridView untuk menampilkan data transaksi

Script Unique
    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


Even
latihan_39_36110043_Load
dgv_36110043_Cellendedit
TOTAL()
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._39_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_39_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_39_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 dgv_36110043_Cellendedit(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgv_36110043.CellEndEdit
        If dgv_36110043.Columns(e.ColumnIndex).Name = "KODEBARANG" Then

            dgv_36110043.CurrentRow.Cells("NAMABARANG").Value = ""
            dgv_36110043.CurrentRow.Cells("UNIT").Value = 0
            dgv_36110043.CurrentRow.Cells("HARGA").Value = 0
            dgv_36110043.CurrentRow.Cells("JUMLAH").Value = 0

            PENCARI.AturPencarianDataBase("barang", "kodebarang", dgv_36110043.CurrentRow.Cells("KODEBARANG").Value, 1, CONECT)
            If PENCARI.JumlanBaris > 0 Then
                dgv_36110043.CurrentRow.Cells("NAMABARANG").Value = PENCARI.DataTablenya.Rows(0).Item("NAMABARANG")
            Else
                dgv_36110043.CurrentRow.Cells("NAMABARANG").Value = ""
                If latihan_38_39_40_36110043.ShowDialog = Windows.Forms.DialogResult.OK Then
                    dgv_36110043.CurrentRow.Cells("KODEBARANG").Value = latihan_38_39_40_36110043.dgv_361110043.CurrentRow.Cells("KODEBARANG").Value
                    dgv_36110043.CurrentRow.Cells("NAMABARANG").Value = latihan_38_39_40_36110043.dgv_361110043.CurrentRow.Cells("NAMABARANG").Value
                End If
            End If

        ElseIf dgv_36110043.Columns(e.ColumnIndex).Name = "UNIT" Or dgv_36110043.Columns(e.ColumnIndex).Name = "HARGA" Then
            dgv_36110043.CurrentRow.Cells("JUMLAH").Value = dgv_36110043.CurrentRow.Cells("UNIT").Value * dgv_36110043.CurrentRow.Cells("HARGA").Value
            TOTAL()
        End If
    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 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_36110043.Value.Month & "/" & TGL_36110043.Value.Day & "/" & TGL_36110043.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 = ""
        TOTAL_36110043.Text = ""

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


Next … save dan untuk menjalankan klik star debugging

Tidak ada komentar:

Posting Komentar