Senin, 05 November 2012

latihan_40B_46110023


Deskripsi Form Latihan_40B_46110023

Form Latihan_40B_46110023 terdapat Enam object yaitu Label, Textbox, Button, data time picker, Data Grid View, dan StatusStrip.

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 berstatus ReadOnly.

Object Button
Terdapat Satu object button yaitu Button "save" digunakan untuk menyimpan data yang telah diinput atau diedit.

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

Object StatusStrip
Terdapat sebuah object StatusStrip yang berguna untuk menampilkan no.transaksi data yang di edit

Even
click
load
Property :
Property TextBox ==> ReadOnly=True
 Prosedur Penyelesaiaan
  1. Buka project yang telah dibuat
  2. pilih project pada menu bar, 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_40B_46110023
        Dim DIAN As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source =" & Application.StartupPath & "\Datamajemuk.ACCDB")
        Dim AYU As New DataTable
        Dim baru(1) As DataColumn

        Public Sub YUYU()
            Dim TTOTAL As Integer
            For Each hasil As DataRow In AYU.Rows
                TTOTAL += hasil("Jumlah")
            Next
            Total_46110023.Text = TTOTAL
        End Sub
        Public Sub makecolumn()
            'mendeklarasikan kendaraan
            Dim BUBU As New OleDb.OleDbDataAdapter

            'Mengatur data yang akan di angkut
            BUBU = 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
            BUBU.Fill(AYU)
            BUBU.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


            baru(0) = AYU.Columns("kodebarang")
            AYU.PrimaryKey = baru
            DGV_46110023.DataSource = AYU

        End Sub


        Private Sub Latihan_40B_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            makecolumn()
        End Sub

        Private Sub DGV_46110023_CellEndEdit(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGV_46110023.CellEndEdit
            '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
                YUYU()
            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
            If replace_46110023.Text <> NT_46110023.Text Then
                Dim PENCARI As New ByIskandar.CariKeDataBaseByIskandar
                PENCARI.AturPencarianDataBase("mastertransaksi", "notrans", NT_46110023.Text, 1, DIAN)

                If PENCARI.JumlanBaris > 0 Then
                    MsgBox("The data has been exist please insert new data")
                    Exit Sub
                End If
            End If

            'Proses delete dan Penyimpanan ke tabel master transaksi
            Dim data As Integer = Val(replace_46110023.Text)
            Dim FUFU As New OleDb.OleDbCommand
            FUFU = New OleDb.OleDbCommand("delete * from mastertransaksi where notrans='" & replace_46110023.Text & "'", DIAN)
            DIAN.Open()
            FUFU.ExecuteNonQuery()
            DIAN.Close()

            FUFU = New OleDb.OleDbCommand("delete * from detailtransaksi where notrans='" & replace_46110023.Text & "'", DIAN)
            DIAN.Open()
            FUFU.ExecuteNonQuery()
            DIAN.Close()

            FUFU = 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()
            FUFU.ExecuteNonQuery()
            DIAN.Close()

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

            Next
            FUFU.Dispose()

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

            'Mengosongkan baris datatable
            AYU.Rows.Clear()

            'mengambildata
            LATIHAN_40A_46110023.grabdata()

            'menutup form
            Me.Close()

        End Sub
    End Class

  7. Latihan ini akan jalan bersamaan dengan form Latihan_40A_46110023
  8. Selesai

Tidak ada komentar:

Posting Komentar