Sabtu, 26 Januari 2013

Latihan_40A_46110045

Pada form latihan 40A ada 3 object yang digunakan yaitu Label, Button, dan Data Grid View.

Object Label
Pada form ini label yang digunakan ada 1 (Data Transaksi).

Object Button                                                          
Terdapat 3 object button (hapus, tambah dan edit). Tombol “hapus” digunakan untuk menghapus data yang telah dipilih sebelumnya. Tombol “tambah” digunakan untuk menambah data. Tombol “edit” digunakan untuk mengedit data yang telah ada sebelumnya.

Object DataGridView
Terdapat 2 object datagridview yang berfungsi untuk menampilkan data tabel.


 Script Unique
Lebih lengkap dapat dilihat pada script yang ada pada langkah-langkah membuat form pada poin ke 5 dibawah ini

Even
Load
ButtonClick
 
Langkah-Langkah membuat Form Latihan_40A
1. Buka Project yang telah dibuat sebelumnya , Pilih menu Project lalu klik add windows form
2. Ketik nama Latihan_40A  yang akan dibuat pada kotak “NAME” lalu pilih “add”
3.  Buatlah desain menggunakan toolbox
4. Masukkan rumus berikut: 
 
Public Class Latihan_40B_46110045vb
    Dim DINA As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source =" & Application.StartupPath & "\Datamajemuk.ACCDB")
    Dim DYNA As New DataTable
    Dim baru(1) As DataColumn

    Public Sub YUYU()
        Dim TTOTAL As Integer
        For Each hasil As DataRow In DYNA.Rows
            TTOTAL += hasil("Jumlah")
        Next
        Total_46110045.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_46110045.Text & "'", DINA)

        'bersihkan data
        DYNA.Rows.Clear()

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

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

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


        baru(0) = DYNA.Columns("kodebarang")
        DYNA.PrimaryKey = baru
        DGV_46110045.DataSource = DYNA

    End Sub


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

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

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

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

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

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

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

        'Memeriksa nomor transaksi pd master transaksi
        If replace_46110045.Text <> NT.Text Then
            Dim PENCARI As New ByIskandar.CariKeDataBaseByIskandar
            PENCARI.AturPencarianDataBase("mastertransaksi", "notrans", NT_46110045.Text, 1, DINA)

            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_46110045.Text)
        Dim FUFU As New OleDb.OleDbCommand
        FUFU = New OleDb.OleDbCommand("delete * from mastertransaksi where notrans='" & replace_46110045.Text & "'", DINA)
        DINA.Open()
        FUFU.ExecuteNonQuery()
        DINA.Close()

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

        FUFU = New OleDb.OleDbCommand("insert into mastertransaksi (notrans,tanggaltransaksi,jenistransaksi) values ('" & NT_46110045.Text & "',#" & DTP_46110045.Value.Month & "/" & DTP_46110045.Value.Day & "/" & DTP_46110045.Value.Year & "#,'" & JT_46110045.Text & "')", DINA)
        DINA.Open()
        FUFU.ExecuteNonQuery()
        DINA.Close()

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

        Next
        FUFU.Dispose()

        'Mengosongkan isi text box
        NT_46110045.Text = ""
        JT_46110045.Text = ""

        'Mengosongkan baris datatable
        DYNA.Rows.Clear()

        'mengambildata
        Latihan_40A_46110045.grabdata()

        'menutup form
        Me.Close()

    End Sub
End Class 

Tidak ada komentar:

Posting Komentar