Senin, 05 November 2012

latihan_39_46110023


Deskripsi Form Latihan_39_46110023

Form Latihan_39_46110023 terdapat Lima object yaitu Label, Textbox, Button, data time picker, dan Data Grid View.

Object Label
Terdapat Sembilan object label yang bertuliskan “no. transaksi”, “tanggal”, “jenis transaksi”, dan "total".

Object TextBox
Terdapat dua object textbox yang berstatus input dan satu yang berstatus ReadOnly

Object Button
Terdapat Dua object button yaitu Button "insert" yang digunakan untuk menginput data textbox ke tabel yang ada pada data grid view. Sedangkan button "save" digunakan untuk menyimpan data yang diinput ke database.

Object Date Time Picker
Dalam latihan ini terdapat sebuah date time picker yeng terdapat pada "Tanggal" 

Object DataGridView
Terdapat sebuah object data grid view yang berguna untuk menampilkan detail data yang telah diinput

Even
click
load

Property :
Property TextBox ==> ReadOnly=True

Prosedur Penyelesaiaan
  1. Buka project yang telah dibuat 
  2. pilih menu project yang ada pada menubar lalu pilih add windows form
  3. Ganti nama form sesuai dengan nama latihan
  4. Buatlah form seperti gambar ini                                                                                                    
  5. Ganti nama pada semua objek kecuali objek label
  6. Masukkan rumus berikut : Public Class LATIHAN_39_46110023
        Dim DIAN As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source =" & Application.StartupPath & "\Datamajemuk.ACCDB")
        Dim AYU As New DataTable
        Private Sub BATU()
            Dim TTOTAL As Integer
            For Each hasil As DataRow In AYU.Rows
                TTOTAL += hasil("Jumlah")
            Next
            Total_46110023.Text = TTOTAL
        End Sub

        Private Sub Latihan_39_46110023_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            'mendeklarasikan kendaraan
            Dim RINDU As New OleDb.OleDbDataAdapter

            'Mengatur data yang akan di angkut
            RINDU = New OleDb.OleDbDataAdapter("SELECT detailtransaksi.kodebarang,barang.namabarang,detailtransaksi.unit,detailtransaksi.harga, detailtransaksi.unit * detailtransaksi.harga as jumlah FROM DETAILTRANSAKSI inner join barang on detailtransaksi.kodebarang=barang.kodebarang where detailtransaksi.notrans='" & NT_46110023.Text & "'", DIAN)

            'bersihkan data
            AYU.Rows.Clear()

            'untuk memasukkan data yg telah di angkut ke dalam datatable
            RINDU.Fill(AYU)
            RINDU.Dispose()

            'untuk menampilkan isi datatable ke data grid view
            AYU.Columns("Kodebarang").DefaultValue = ""
            AYU.Columns("NamaBarang").DefaultValue = ""
            AYU.Columns("unit").DefaultValue = 0
            AYU.Columns("harga").DefaultValue = 0
            AYU.Columns("jumlah").DefaultValue = 0

            AYU.Columns("NamaBarang").ReadOnly = True


            DGV_46110023.DataSource = AYU

            'perintah primarykey
            Dim MEGA(2) As DataColumn
            MEGA(0) = AYU.Columns("Kodebarang")
            AYU.PrimaryKey = MEGA
        End Sub

        Private Sub DGV_46110023_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGV_46110023.CellContentClick
            'mengosongkan data
            If e.ColumnIndex = 0 Then
                DGV_46110023.CurrentRow.Cells("NamaBarang").Value = ""
                DGV_46110023.CurrentRow.Cells("Unit").Value = 0
                DGV_46110023.CurrentRow.Cells("harga").Value = 0
                DGV_46110023.CurrentRow.Cells("Jumlah").Value = 0

                'mencari data yang ada di tabel
                Dim Pencari As New ByIskandar.CariKeDataBaseByIskandar
                Pencari.AturPencarianDataBase("barang", "kodebarang", DGV_46110023.CurrentRow.Cells("kodebarang").Value, 1, DIAN)
                If Pencari.JumlanBaris > 0 Then
                    DGV_46110023.CurrentRow.Cells("kodebarang").Value = Pencari.DataTablenya.Rows(0).Item(0)
                    DGV_46110023.CurrentRow.Cells("namabarang").Value = Pencari.DataTablenya.Rows(0).Item(1)
                Else
                    MsgBox("the data is not found")
                    If LATIHAN_383940_46110023.ShowDialog = Windows.Forms.DialogResult.OK Then
                        DGV_46110023.CurrentRow.Cells("kodebarang").Value = LATIHAN_383940_46110023.DGV_46110023.CurrentRow.Cells("KodeBarang").Value
                        DGV_46110023.CurrentRow.Cells("Namabarang").Value = LATIHAN_383940_46110023.DGV_46110023.CurrentRow.Cells("namabarang").Value
                    End If
                End If

                'mengitung jumlah dan total
            ElseIf e.ColumnIndex = 2 Or e.ColumnIndex = 3 Then
                DGV_46110023.CurrentRow.Cells("jumlah").Value = DGV_46110023.CurrentRow.Cells("unit").Value * DGV_46110023.CurrentRow.Cells("harga").Value
                BATU()
            End If
        End Sub

        Private Sub Simpan_46110023_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Simpan_46110023.Click
            'Memeriksa isi textbox
            If NT_46110023.Text.Length = 0 Then
                MsgBox("Please, insert the Number of the transaction")
                Exit Sub
            End If

            If JT_46110023.Text.Length = 0 Then
                MsgBox("Please, insert the type of the transaction")
                Exit Sub
            End If

            If AYU.Rows.Count = 0 Then
                MsgBox("the data is none")
                Exit Sub
            End If

            'Memeriksa nomor transaksi pd master transaksi
            Dim search As New ByIskandar.CariKeDataBaseByIskandar
            search.AturPencarianDataBase("mastertransaksi", "notrans", NT_46110023.Text, 1, DIAN)
            If search.JumlanBaris > 0 Then
                MsgBox("the code has been exist")
                Exit Sub
            End If

            'Proses Penyimpanan ke tabel master transaksi
            Dim SABAR As New OleDb.OleDbCommand
            SABAR = New OleDb.OleDbCommand("insert into mastertransaksi (notrans,tanggaltransaksi,jenistransaksi) values ('" & NT_46110023.Text & "',#" & DTP_46110023.Value.Month & "/" & DTP_46110023.Value.Day & "/" & DTP_46110023.Value.Year & "#,'" & JT_46110023.Text & "')", DIAN)
            DIAN.Open()
            SABAR.ExecuteNonQuery()
            DIAN.Close()

            'penyimpanan isi datatable ke detail transaksi
            For Each YUYU As DataRow In AYU.Rows
                SABAR = New OleDb.OleDbCommand("insert into detailtransaksi (notrans,kodebarang,unit,harga) values ('" & NT_46110023.Text & "','" & YUYU("kodebarang") & "'," & YUYU("unit") & "," & YUYU("harga") & ")", DIAN)
                DIAN.Open()
                SABAR.ExecuteNonQuery()
                DIAN.Close()

            Next
            SABAR.Dispose()

            'Mengosongkan isi text box
            NT_46110023.Text = ""
            JT_46110023.Text = ""

            'Mengosongkan baris datatable
            AYU.Rows.Clear()

            'menutup form
            Me.Close()
        End Sub
    End Class
     
  7. Uji program dengan mengklik debugging
  8. Selesai

Tidak ada komentar:

Posting Komentar