Sabtu, 10 November 2012

Deskripsi Penyelesaian Latihan_39_3611004



Deskripsi Penyelesaian
Latihan_39_36110041
A.     Objek dalam Form Latihan_39:
Dalam form latihan ini terdapat lima object yaitu Label, TextBox, DateTimePicker, DataGridView, dan buttom.
1.      Object Label
Terdapat empat label (yang bertuliskan no transaksi, tanggal, jenis transaksi, dan total).
2.      Object Textbox
Terdapat tiga textbox (dua status input dan sat status readonly). Status input digunakan untuk memasukkan nilai no transaksi dan jenis transaksi. Status readonly digunakan untuk menampilkan total.
3.      Object DateTimePicker
Terdapat satu object datetimepicker yang digunakan untuk menentukan tanggal transaksi.
4.      Object DataGridView
Terdapat satu object datagridview yang digunakan untuk menampilkan data yang telah diinput pada textbox. Dan juga digunakan untuk menginput kode barang.
5.      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_36110041.


B.     Script Unique
Untuk scriptnya akan ditampilkan secara keseluruhan dalam prosedur
Latihan_39_36110041_Load

C.     Even
latihan_39_36110041_Load
rizka_36110041_CellContentClick
Simpan_36110041_Click

Prosedur penyelesaian
1.   Buka Project yang telah dibuat sebelumnya klik Add New Item  ==>  Add Windows Form

 


2.      Kemudian beri nama dan klik Add


3.      buat form seperti di bawah ini dengan menggunakan toolbox yang saya tunjukkan pada postingan sebelumnya.


4.      Berikut ini adalah rumus untuk menjalankan form di atas
Public Class latihan_39_36110041
    Dim cari As New OleDb.OleDbCommand
    Dim conect As New ByIskandar.CariKeDataBaseByIskandar
    Dim rizka As New DataTable
    Dim azisah As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Application.StartupPath & "\DataMajemuk.accdb;Jet OLEDB:Database Password=008")
    Private Sub latihan_39_36110041_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim r As New OleDb.OleDbDataAdapter
        r = 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_36110041.Text & "'", azisah)
        rizka.Rows.Clear()
        r.Fill(rizka)
        r.Dispose()

        rizka_36110041.DataSource = rizka

        Dim sudar(1) As DataColumn
        sudar(0) = rizka.Columns("kodebarang")
        rizka.PrimaryKey = sudar
    End Sub

    Private Sub rizka_36110041_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs)
        If rizka_36110041.Columns(e.ColumnIndex).Name = "KODEBARANG" Then

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

            conect.AturPencarianDataBase("barang", "kodebarang", rizka_36110041.CurrentRow.Cells("KODEBARANG").Value, 1, azisah)
            If conect.JumlanBaris > 0 Then
                rizka_36110041.CurrentRow.Cells("NAMABARANG").Value = conect.DataTablenya.Rows(0).Item("NAMABARANG")
            Else
                rizka_36110041.CurrentRow.Cells("NAMABARANG").Value = ""
                If latihan_38_39_40_36110041.ShowDialog = Windows.Forms.DialogResult.OK Then
                    rizka_36110041.CurrentRow.Cells("KODEBARANG").Value = latihan_38_39_40_36110041.rizka_36110041.CurrentRow.Cells("KODEBARANG").Value
                    rizka_36110041.CurrentRow.Cells("NAMABARANG").Value = latihan_38_39_40_36110041.rizka_36110041.CurrentRow.Cells("NAMABARANG").Value
                End If
            End If

        ElseIf rizka_36110041.Columns(e.ColumnIndex).Name = "UNIT" Or rizka_36110041.Columns(e.ColumnIndex).Name = "HARGA" Then
            rizka_36110041.CurrentRow.Cells("JUMLAH").Value = rizka_36110041.CurrentRow.Cells("UNIT").Value * rizka_36110041.CurrentRow.Cells("HARGA").Value
            sis()
        End If
    End Sub
    Private Sub sis()
        Dim sis1 As Integer = 0
        For Each sis2 As DataRow In rizka.Rows
            sis1 += sis2("JUMLAH")
        Next
        Total_36110041.Text = sis1
    End Sub

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

        conect.AturPencarianDataBase("mastertransaksi", "notrans", NT_36110041.Text, 1, azisah)
        If conect.JumlanBaris > 0 Then
            MsgBox("nomor transaksi telah ada")
            Exit Sub
        End If

        cari = New OleDb.OleDbCommand("insert into mastertransaksi(notrans, tanggaltransaksi, jenistransaksi) values ('" & NT_36110041.Text & "',#" & TGL_36110041.Value.Month & "/" & TGL_36110041.Value.Day & "/" & TGL_36110041.Value.Year & "#,'" & JT_36110041.Text & "')", azisah)
        azisah.Open()
        cari.ExecuteNonQuery()
        azisah.Close()

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

        NT_36110041.Text = ""
        JT_36110041.Text = ""
        Total_36110041.Text = ""

        rizka.Rows.Clear()
        sis()

    End Sub
End Class  
5.      Kemudian jalanka perintahnya



Tidak ada komentar:

Posting Komentar