latihan_39_46110004



Deskripsi form latihan 39
Dalam form Latihan
39 terdapat empat object yaitu Label, Textbox, Button dan DataGridView.
Object Label :
Dalam form ini terdapat 
empat buah object label yang bertuliskan “No.Transakasi”, “Tgl Transaksi”, “Jenis Transaksi” dan “Total”
Object Textbox :
Dalam form ini terdapat 
sembilan buah object textbox 3 yang berstatus input dan 1 yang berstatus read only.
Object Button :
Dalam form ini
hanya terdapat sebuah object button yang bertuliskan “simpan” berfungsi untuk menyimpan data yang telah diinput di latihan ini ke dalam database.

Object datagridview :
Dalam form ini terdapat  1 buah object datagridview. Datagridview digunakan untuk menampilkan data kedalam bentuk table yang terdiri dari baris dan kolom.

Script Unique :
Pada latihan ini script unique terdapat pada penggunaan event “CellEndEdit”. Dengan menggunakan event ini, proses input data transaksi dapat langsung dilakukan di dalam datatable. Berikut ini akan ditampilkan penggunaan cellendedit pada latihan 39 :
Private Sub dgv_46110004_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgv_46110004.CellEndEdit
        'mengosongkan data
        If e.ColumnIndex = 0 Then
            dgv_46110004.CurrentRow.Cells("NamaBarang").Value = ""
            dgv_46110004.CurrentRow.Cells("Unit").Value = 0
            dgv_46110004.CurrentRow.Cells("harga").Value = 0
            dgv_46110004.CurrentRow.Cells("Jumlah").Value = 0

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

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

Even :
Button click
Load
CellEndEdit

Langkah-langkah penyelesaian form latihan 39
1.Buat form baru seperti gambar dibawah ini,

2. Ketikkan nama form latihan_39_xxxxx, lalu klik add

3. Buat form seperti gambar di bawah ini:

4. Setelah itu input script berikut ini :
Public Class Latihan_39_46110004
    Dim Jalan As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source =D:\Dokumen Koe\SEMESTER 5\APKOM 4\Visual Basic\LATIHAN 35-40 DATA MAJEMUK\Datamajemuk.ACCDB")
    Dim gitik As New DataTable
    Private Sub botto()
        Dim ttotal As Integer
        For Each hasil As DataRow In gitik.Rows
            ttotal += hasil("Jumlah")
        Next
        Total_46110004.Text = ttotal
    End Sub

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

        'Mengatur data yang akan di angkut
        bojel = 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_46110004.Text & "'", Jalan)

        'bersihkan data
        gitik.Rows.Clear()

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

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

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


        dgv_46110004.DataSource = gitik

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

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

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

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

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

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

        If gitik.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_46110004.Text, 1, Jalan)
        If search.JumlanBaris > 0 Then
            MsgBox("the code has been exist")
            Exit Sub
        End If

        'Proses Penyimpanan ke tabel master transaksi
        Dim kacci As New OleDb.OleDbCommand
        kacci = New OleDb.OleDbCommand("insert into mastertransaksi (notrans,tanggaltransaksi,jenistransaksi) values ('" & nt_46110004.Text & "',#" & tgl_46110004.Value.Month & "/" & tgl_46110004.Value.Day & "/" & tgl_46110004.Value.Year & "#,'" & jt_46110004.Text & "')", Jalan)
        Jalan.Open()
        kacci.ExecuteNonQuery()
        Jalan.Close()

        'penyimpanan isi datatable ke detail transaksi
        For Each nhana As DataRow In gitik.Rows
            kacci = New OleDb.OleDbCommand("insert into detailtransaksi (notrans,kodebarang,unit,harga) values ('" & nt_46110004.Text & "','" & nhana("kodebarang") & "'," & nhana("unit") & "," & nhana("harga") & ")", Jalan)
            Jalan.Open()
            kacci.ExecuteNonQuery()
            Jalan.Close()

        Next
        kacci.Dispose()

        'Mengosongkan isi text box
        nt_46110004.Text = ""
        jt_46110004.Text = ""

        'Mengosongkan baris datatable
        gitik.Rows.Clear()

        'menutup form
        Me.Close()

    End Sub
End Class
5. Jalankan program dengan cara klik kanan pada project, lalu pilih properties, kemudian akan muncul tampilan seperti gambar dibawah ini:

6. Setelah mengatur startup fom maka, klik start debug untuk menjalankan form latihan 39 seperti dibawah ini :


7. Jika terdapat kesalahan, maka program akan menunjukkan letak kesalahannya.

0 komentar:

Posting Komentar