Senin, 29 Oktober 2012

LATIHAN_40B_36110043


DESKRIPSI LATIHAN 40B

Terdapat enam object yaitu Label, Textbox, Button, DateTimePicker, DataGridView, dan StatusStrip

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 satu object button (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_36110044

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

DataGridView
Terdapat 1 DataGridView untuk menampilkan data transaksi

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



Script Unique


Even
Public Sub ADY2()
latihan_40B_36110043_Load
tambah()
dgv_36110043_Cellendedit
SIMPAN_36110043_Click

Property
TextBox==>ReadOnly==>True

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._40B_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_40B_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")
    Public Sub ADY2()
        Dim ADAPTER As New OleDb.OleDbDataAdapter
        ADAPTER = New OleDb.OleDbDataAdapter("select barang.KODEBARANG, barang.NAMABARANG, detailtransaksi.UNIT, detailtransaksi.HARGA, detailtransaksi.unit * detailtransaksi.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)
    End Sub
    Public Sub ADY3()
        Dim anra31 As Integer = 0
        For Each anra32 As DataRow In TABEL.Rows
            anra31 += anra32("JUMLAH")
        Next
        TOTAL_36110043.Text = anra31
    End Sub

    Private Sub ADY4()
        If NT_36110043.Text.Length = 0 Then
            MsgBox("no transaksi harus terisi")
            Exit Sub
        End If

        If JT_36110043.Text.Length = 0 Then
            MsgBox("jenis transaksi harus terisi")
            Exit Sub
        End If

        If TABEL.Rows.Count = 0 Then
            MsgBox("Isi datatable")
            Exit Sub
        End If
    End Sub

    Private Sub tambah()
        ADY4()
        PENCARI.AturPencarianDataBase("mastertransaksi", "notrans", NT_36110043.Text, 1, CONECT)
        If PENCARI.JumlanBaris > 0 Then
            MsgBox("Adami notrans seperti itu..")
            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 & "#, '" & TGL_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 = ""
        kode_36109003.Text = "-"

        TABEL.Rows.Clear()
        latihan_40A_36110043.ADY()
    End Sub

    Public Sub edit()
        ADY4()
        If NT_36110043.Text <> kode_36109003.Text Then
            PENCARI.AturPencarianDataBase("mastertransaksi", "notrans", NT_36110043.Text, 1, CONECT)
            If PENCARI.JumlanBaris > 0 Then
                MsgBox("no transaksi telah ada")
                Exit Sub
            End If
        End If

        COMAND = New OleDb.OleDbCommand("delete * from mastertransaksi where notrans = '" & kode_36109003.Text & "'", CONECT)
        CONECT.Open()
        COMAND.ExecuteNonQuery()
        CONECT.Close()

        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()

        COMAND = New OleDb.OleDbCommand("delete * from detailtransaksi where notrans = '" & kode_36109003.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 = ""
        kode_36109003.Text = "-"

        TABEL.Rows.Clear()
        latihan_40A_36110043.ADY()
    End Sub
    Private Sub latihan_40B_36110043_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ADY2()

        Dim dc(1) As DataColumn
        dc(0) = TABEL.Columns("kodebarang")
        TABEL.PrimaryKey = dc

        TABEL.Columns("unit").DefaultValue = 0
        TABEL.Columns("harga").DefaultValue = 0
        TABEL.Columns("jumlah").DefaultValue = 0

        dgv_36110043.DataSource = TABEL
    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
            ADY3()
        End If
    End Sub

    Private Sub SIMPAN_36110043_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SIMPAN_36110043.Click
        If kode_36109003.Text = "-" Then
            tambah()
        Else
            edit()
        End If
    End Sub

End Class

Next … save dan untuk menjalankan klik star debugging

Tidak ada komentar:

Posting Komentar