latihan_40b_46110004



Deskripsi form latihan 40b
Dalam form Latihan
40b terdapat lima object yaitu Label, Textbox, Button, StatuSrtip 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.

Object StatusStrip :
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 tidak terdapat script unique

Even :
Button click
Load
CellEndEdit

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

2. Ketikkan nama form latihan_40b_xxxxx, lalu klik add

3. Buat form seperti gambar di bawah ini:

4. Setelah itu input script berikut ini :
Public Class Latihan_40b_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
    Dim baru(1) As DataColumn

    Public Sub botto()
        Dim ttotal As Integer
        For Each hasil As DataRow In gitik.Rows
            ttotal += hasil("Jumlah")
        Next
        Total_46110004.Text = ttotal
    End Sub
    Public Sub makecolumn()
        '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


        baru(0) = gitik.Columns("kodebarang")
        gitik.PrimaryKey = baru
        dgv_46110004.DataSource = gitik

    End Sub

    Private Sub Latihan_40b_46110004_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        makecolumn()
    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
        If ganti_46110004.Text <> nt_46110004.Text Then
            Dim PENCARI As New ByIskandar.CariKeDataBaseByIskandar
            PENCARI.AturPencarianDataBase("mastertransaksi", "notrans", nt_46110004.Text, 1, Jalan)

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

        kacci = New OleDb.OleDbCommand("delete * from detailtransaksi where notrans='" & ganti_46110004.Text & "'", Jalan)
        Jalan.Open()
        kacci.ExecuteNonQuery()
        Jalan.Close()

        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()

        'mengambildata
        latihan_40a_46110004.grabdata()

        'menutup form
        Me.Close()

    End Sub
End Class
5. Program ini akan jalan jika kita menekan tombol “Tambah” atau “Ganti” yang terdapat pada latihan_40a_46110004 maka akan muncul tampilan seperti gambar dibawah ini:





0 komentar:

Posting Komentar