Kamis, 01 Desember 2011

LATIHAN 40B

Public Class Latihan40B_36109073
    Dim AA As New OleDb.OleDbConnection("Provider=microsoft.ACE.OLEDB.12.0;data source=" & Application.StartupPath & "\DATAMAJEMUK.accdb")
    Dim data As New DataTable

    Public Sub evianty()
        Dim X As New OleDb.OleDbDataAdapter
        X = New OleDb.OleDbDataAdapter("Select BARANG.KODEBARANG, BARANG.NAMABARANG, DETAILTRANSAKSI.UNIT, DETAILTRANSAKSI.HARGA, DETAILTRANSAKSI.UNIT*DETAILTRANSAKSI.HARGA AS JUMLAH from DETAILTRANSAKSI INNER JOIN BARANG ON DETAILTRANSAKSI.KODEBARANG=BARANG.KODEBARANG WHERE NOTRANS= '" & nt073.Text & "'", AA)
        data.Rows.Clear()
        X.Fill(data)
    End Sub

    Private Sub Latihan40B_36109073_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim dataprimary(1) As DataColumn
        dataprimary(0) = data.Columns("NOTRANS")
        data.PrimaryKey = dataprimary

        dgv073.DataSource = data

        TOTALJUMLAH()

    End Sub

    Public Sub TOTALJUMLAH()
        Dim TOT As Double = 0
        For Each X As DataRow In data.Rows
            TOT = TOT + X("JUMLAH")
        Next
        tot073.Text = TOT

    End Sub


    Private Sub dgv073_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgv073.CellContentClick
        If dgv073.Columns(e.ColumnIndex).Name = "KODEBARANG" Then
            'Cari nama barang'
            dgv073.CurrentRow.Cells("NAMABARANG").Value = ""
            dgv073.CurrentRow.Cells("UNIT").Value = 0
            dgv073.CurrentRow.Cells("HARGA").Value = 0
            dgv073.CurrentRow.Cells("JUMLAH").Value = 0

            Dim pencari As New ByIskandar.CariKeDataBaseByIskandar
            pencari.AturPencarianDataBase("BARANG", "KODEBARANG", dgv073.CurrentRow.Cells("KODEBARANG").Value, 1, AA)
            'Menampilkan nama barang jika isi kolom kodebarang ditemukan oleh proses diatas'
            If pencari.JumlanBaris > 0 Then
                dgv073.CurrentRow.Cells("NAMABARANG").Value = pencari.DataTablenya.Rows(0).Item("NAMABARANG")
            Else
                dgv073.CurrentRow.Cells("KODEBARANG").Value = ""
                If Latihan383940_36109073.ShowDialog = Windows.Forms.DialogResult.OK Then
                    dgv073.CurrentRow.Cells("KODEBARANG").Value = Latihan383940_36109073.dgv073.CurrentRow.Cells("KODEBARANG").Value
                    dgv073.CurrentRow.Cells("NAMABARANG").Value = Latihan383940_36109073.dgv073.CurrentRow.Cells("NAMABARANG").Value
                End If
            End If

        ElseIf dgv073.Columns(e.ColumnIndex).Name = "UNIT" Or dgv073.Columns(e.ColumnIndex).Name = "HARGA" Then
            'Hitung kolom jumlah'
            dgv073.CurrentRow.Cells("JUMLAH").Value = dgv073.CurrentRow.Cells("UNIT").Value * dgv073.CurrentRow.Cells("HARGA").Value
        End If

        TOTALJUMLAH()
    End Sub

    Private Sub Simpan_tambah()
        If nt073.Text.Length = 0 Then
            MsgBox("Maaf, Nomor transaksi harus diisi dulu")
            Exit Sub
        End If

        If data.Rows.Count() = 0 Then
            MsgBox("Maaf, Proses tidak dapat dilanjutkian")
            Exit Sub
        End If

        If NO073.Text <> nt073.Text Then
            Dim pencari As New ByIskandar.CariKeDataBaseByIskandar
            pencari.AturPencarianDataBase("MASTERTRANSAKSI", "NOTRANS", nt073.Text, 1, AA)
            If pencari.JumlanBaris > 0 Then
                MsgBox("Nomor transaksi sudah ada")
                Exit Sub
            End If
        End If

        Dim CM As New OleDb.OleDbCommand
        CM = New OleDb.OleDbCommand("INSERT INTO MASTERTRANSAKSI (NOTRANS, TANGGALTRANSAKSI, JENISTRANSAKSI) VALUES ('" & nt073.Text & "', #" & dtp073.Value.Day & "/" & dtp073.Value.Month & "/" & dtp073.Value.Year & "#, '" & jt073.Text & "')", AA)
        'Membuka koneksi'
        AA.Open()
        'Eksekusi proses penyimpanan'
        CM.ExecuteNonQuery()
        'Menutup koneksi'
        AA.Close()

        'Memeriksa isi jumlah baris dalam object tabel'
        For Each X As DataRow In data.Rows
            'Mengatur perintah simpan'
            CM = New OleDb.OleDbCommand("INSERT INTO DETAILTRANSAKSI (NOTRANS, KODEBARANG, UNIT, HARGA) VALUES ('" & nt073.Text & "','" & X("KODEBARANG") & "', " & X("UNIT") & ", " & X("HARGA") & ")", AA)
            AA.Open()
            CM.ExecuteNonQuery()
            AA.Close()
            CM.Dispose()
        Next

        NO073.Text = "_"
        nt073.Text = ""
        jt073.Text = ""

        data.Rows.Clear()

        TOTALJUMLAH()
        'Prosedur mengambil data dari Latihan40B 36109073'
        Latihan40A_36109073.evi()
    End Sub

    Private Sub simpan_edit()
        If nt073.Text.Length = 0 Then
            MsgBox("Maaf, Nomor transaksi harus diisi dulu")
            Exit Sub
        End If

        If jt073.Text.Length = 0 Then
            MsgBox("Maaf, Jenis transaksi harus diisi dulu")
            Exit Sub
        End If

        If data.Rows.Count() = 0 Then
            MsgBox("Maaf, Proses tidak dapat dilanjutkan")
            Exit Sub
        End If

        If NO073.Text <> nt073.Text Then
            Dim pencari As New ByIskandar.CariKeDataBaseByIskandar
            pencari.AturPencarianDataBase("MASTERTRANSAKSI", "NOTRANS", nt073.Text, 1, AA)
            If pencari.JumlanBaris > 0 Then
                MsgBox("Nomor transaksi sudah ada")
                Exit Sub
            End If
        End If

        Dim CM As New OleDb.OleDbCommand
        CM = New OleDb.OleDbCommand("DELETE * FROM MASTERTRANSAKSI WHERE NOTRANS= '" & nt073.Text & "'", AA)
        AA.Open()
        CM.ExecuteNonQuery()
        AA.Close()

        CM = New OleDb.OleDbCommand("INSERT INTO MASTERTRANSAKSI (NOTRANS, TANGGALTRANSAKSI, JENISTRANSAKSI) VALUES ('" & nt073.Text & "', #" & dtp073.Value.Day & "/" & dtp073.Value.Month & "/" & dtp073.Value.Year & "#, '" & jt073.Text & "')", AA)
        AA.Open()
        CM.ExecuteNonQuery()
        AA.Close()

        CM = New OleDb.OleDbCommand("DELETE * FROM DETAILTRANSAKSI WHERE NOTRANS= '" & nt073.Text & "'", AA)
        AA.Open()
        CM.ExecuteNonQuery()
        AA.Close()

        'Memeriksa isi jumlah baris dalam object tabel'
        For Each XX As DataRow In data.Rows
            'Mengatur perintah simpan'
            CM = New OleDb.OleDbCommand("INSERT INTO DETAILTRANSAKSI (NOTRANS, KODEBARANG, UNIT, HARGA) VALUES ('" & nt073.Text & "','" & XX("KODEBARANG") & "', " & XX("UNIT") & ", " & XX("HARGA") & ")", AA)
            AA.Open()
            CM.ExecuteNonQuery()
            AA.Close()
            CM.Dispose()
        Next

        NO073.Text = "_"
        nt073.Text = ""
        jt073.Text = ""

        data.Rows.Clear()

        TOTALJUMLAH()
        Latihan40A_36109073.evi()
    End Sub


    Private Sub SIMPAN_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SIMPAN.Click
        If NO073.Text = "_" Then
            Simpan_tambah()
        Else
            simpan_edit()
        End If
    End Sub
End Class

LATIHAN 40A

Public Class Latihan40A_36109073

    Dim AA As New OleDb.OleDbConnection("Provider=microsoft.ACE.OLEDB.12.0;data source=" & Application.StartupPath & "\DATAMAJEMUK.accdb")
    Dim dt As New DataTable
    Dim dt2 As New DataTable
    Dim dset As New DataSet 'Deklarasi dataset'
    Dim bsource As New BindingSource 'Deklarasi bindingsource'
    Dim bsource2 As New BindingSource

    Public Sub evi()
        'Membersihkan detailtransaksi lalu mastertransaksi'
        dt2.Rows.Clear()
        dt.Rows.Clear()

        Dim A1 As New OleDb.OleDbDataAdapter
        A1 = New OleDb.OleDbDataAdapter("Select * From MASTERTRANSAKSI", AA)
        A1.Fill(dt)

        A1 = New OleDb.OleDbDataAdapter("Select DETAILTRANSAKSI.NOTRANS, DETAILTRANSAKSI.KODEBARANG, BARANG.NAMABARANG, DETAILTRANSAKSI.UNIT, DETAILTRANSAKSI.HARGA, DETAILTRANSAKSI.UNIT*DETAILTRANSAKSI.HARGA AS JUMLAH FROM DETAILTRANSAKSI INNER JOIN BARANG ON DETAILTRANSAKSI.KODEBARANG=BARANG.KODEBARANG", AA)
        A1.Fill(dt2)

        A1.Dispose()

    End Sub


    Private Sub Latihan40A_36109073_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        evi()

        'Memasukkan datatabel dalam dataset'
        dset.Tables.Add(dt)
        dset.Tables.Add(dt2)

        'Mengganti nama datatabel dalam dataset'
        dt.TableName = "TO1"
        dt2.TableName = "TO2"

        'Menambahkan relasi dalam dataset'
        dset.Relations.Add(New DataRelation("X", dset.Tables("TO1").Columns("NOTRANS"), dset.Tables("TO2").Columns("NOTRANS")))

        'Datasource dan membersource'
        bsource.DataSource = dset
        bsource.DataMember = "TO1"
        bsource2.DataSource = bsource
        bsource2.DataMember = "X"

        'Memasukkan datatabel dari bindingsource ke dalam DGV'
        dgv073.DataSource = bsource
        dgv2073.DataSource = bsource2
    End Sub


    Private Sub Hapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Hapus.Click
        Dim CM As New OleDb.OleDbCommand
        CM = New OleDb.OleDbCommand("DELETE * FROM MASTERTRANSAKSI WHERE NOTRANS='" & dgv073.CurrentRow.Cells("NOTRANS").Value & "'", AA)
        AA.Open()
        CM.ExecuteNonQuery()
        AA.Close()

        CM = New OleDb.OleDbCommand("DELETE * FROM DETAILTRANSAKSI WHERE NOTRANS='" & dgv073.CurrentRow.Cells("NOTRANS").Value & "'", AA)
        AA.Open()
        CM.ExecuteNonQuery()
        AA.Close()

        CM.Dispose()

        evi()

    End Sub


    Private Sub Edit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Edit.Click
        If Latihan40B_36109073.Visible = False Then
            Latihan40B_36109073.Show()
        Else
            Latihan40B_36109073.Activate()
        End If

        Latihan40B_36109073.NO073.Text = dgv073.CurrentRow.Cells("NOTRANS").Value
        Latihan40B_36109073.nt073.Text = dgv073.CurrentRow.Cells("NOTRANS").Value
        Latihan40B_36109073.jt073.Text = dgv073.CurrentRow.Cells("JENISTRANSAKSI").Value

        Latihan40B_36109073.evianty()
        Latihan40B_36109073.TOTALJUMLAH()
    End Sub


    Private Sub Tambah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tambah.Click
        If Latihan40B_36109073.Visible = False Then
            Latihan40B_36109073.Show()
        Else
            Latihan40B_36109073.Activate()
        End If

        Latihan40B_36109073.NO073.Text = ""
        Latihan40B_36109073.nt073.Text = ""
        Latihan40B_36109073.jt073.Text = ""

        Latihan40B_36109073.evianty()
        Latihan40B_36109073.TOTALJUMLAH()
    End Sub
End Class

LATIHAN 39

Public Class Latihan39_36109073
    Dim AA As New OleDb.OleDbConnection("Provider=microsoft.ACE.OLEDB.12.0;data source=" & Application.StartupPath & "\DATAMAJEMUK.accdb")
    Dim dt As New DataTable

    Private Sub Latihan39_36109073_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim X As New OleDb.OleDbDataAdapter
        X = New OleDb.OleDbDataAdapter("Select BARANG.KODEBARANG, BARANG.NAMABARANG, DETAILTRANSAKSI.UNIT, DETAILTRANSAKSI.HARGA, DETAILTRANSAKSI.UNIT*DETAILTRANSAKSI.HARGA AS JUMLAH from DETAILTRANSAKSI INNER JOIN BARANG ON DETAILTRANSAKSI.KODEBARANG=BARANG.KODEBARANG WHERE NOTRANS= '" & nt073.Text & "'", AA)
        X.Fill(dt)
        X.Dispose()

        Dim dataprimary(1) As DataColumn
        dataprimary(0) = dt.Columns("KODEBARANG")
        dt.PrimaryKey = dataprimary

        dgv073.DataSource = dt
    End Sub

    Private Sub TOTALJUMLAH()
        Dim TOT As Double = 0
        For Each X As DataRow In dt.Rows
            TOT = TOT + X("JUMLAH")
        Next
        tot073.Text = TOT

    End Sub


    Private Sub dgv073_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgv073.CellContentClick
        If dgv073.Columns(e.ColumnIndex).Name = "KODEBARANG" Then
            'Cari nama barang'
            dgv073.CurrentRow.Cells("NAMABARANG").Value = ""
            dgv073.CurrentRow.Cells("UNIT").Value = 0
            dgv073.CurrentRow.Cells("HARGA").Value = 0
            dgv073.CurrentRow.Cells("JUMLAH").Value = 0

            Dim pencari As New ByIskandar.CariKeDataBaseByIskandar
            pencari.AturPencarianDataBase("BARANG", "KODEBARANG", dgv073.CurrentRow.Cells("KODEBARANG").Value, 1, AA)
            'Menampilkan nama barang jika isi kolom kodebarang ditemukan oleh proses diatas'
            If pencari.JumlanBaris > 0 Then
                dgv073.CurrentRow.Cells("NAMABARANG").Value = pencari.DataTablenya.Rows(0).Item("NAMABARANG")
            Else
                dgv073.CurrentRow.Cells("KODEBARANG").Value = ""
                If Latihan383940_36109073.ShowDialog = Windows.Forms.DialogResult.OK Then
                    dgv073.CurrentRow.Cells("KODEBARANG").Value = Latihan383940_36109073.dgv073.CurrentRow.Cells("KODEBARANG").Value
                    dgv073.CurrentRow.Cells("NAMABARANG").Value = Latihan383940_36109073.dgv073.CurrentRow.Cells("NAMABARANG").Value
                End If
            End If

        ElseIf dgv073.Columns(e.ColumnIndex).Name = "UNIT" Or dgv073.Columns(e.ColumnIndex).Name = "HARGA" Then
            dgv073.CurrentRow.Cells("JUMLAH").Value = dgv073.CurrentRow.Cells("UNIT").Value * dgv073.CurrentRow.Cells("HARGA").Value

            TOTALJUMLAH()
        End If
    End Sub


    Private Sub SIMPAN_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SIMPAN.Click
        If nt073.Text.Length = 0 Then
            MsgBox("No. Transaksi sudah ada")
            Exit Sub
        End If

        If jt073.Text.Length = 0 Then
            MsgBox("Jenis Transaksi Sudah Ada")
            Exit Sub
        End If

        If dt.Rows.Count = 0 Then
            MsgBox("Jumlah baris tidak terisi")
            Exit Sub
        End If

        Dim pencari As New ByIskandar.CariKeDataBaseByIskandar
        pencari.AturPencarianDataBase("MASTERTRANSAKSI", "NOTRANS", nt073.Text, 1, AA)
        If pencari.JumlanBaris > 0 Then
            MsgBox("Data tersebut sudah ada")
            Exit Sub
        End If

        Dim CM As New OleDb.OleDbCommand
        CM = New OleDb.OleDbCommand("INSERT INTO MASTERTRANSAKSI (NOTRANS, TANGGALTRANSAKSI, JENISTRANSAKSI) VALUES ('" & nt073.Text & "', #" & dtp073.Value.Day & "/" & dtp073.Value.Month & "/" & dtp073.Value.Year & "#, '" & jt073.Text & "')", AA)
        AA.Open()
        CM.ExecuteNonQuery()
        AA.Close()

        For Each X As DataRow In dt.Rows
            CM = New OleDb.OleDbCommand("INSERT INTO DETAILTRANSAKSI (NOTRANS, KODEBARANG, UNIT, HARGA) VALUES ('" & nt073.Text & "','" & X("KODEBARANG") & "', " & X("UNIT") & ", " & X("HARGA") & ")", AA)
            AA.Open()
            CM.ExecuteNonQuery()
            AA.Close()
            CM.Dispose()
        Next

        nt073.Text = ""
        jt073.Text = ""

        dt.Rows.Clear()

    End Sub
End Class

LATIHAN 383940

Public Class Latihan383940_36109073
    Dim AA As New OleDb.OleDbConnection("Provider=microsoft.ACE.OLEDB.12.0;data source=" & Application.StartupPath & "\DATAMAJEMUK.accdb")
    Dim dt As New DataTable

    Public Sub evianty()
        Dim X As New OleDb.OleDbDataAdapter
        X = New OleDb.OleDbDataAdapter("Select * From BARANG", AA)
        dt.Rows.Clear()
        X.Fill(dt)
        X.Dispose()
    End Sub

    Private Sub Latihan383940_36109073_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        evianty()
        dgv073.DataSource = dt
    End Sub
End Class

LATIHAN 38

Public Class Latihan38_36109073
    Dim AA As New OleDb.OleDbConnection("Provider=microsoft.ACE.OLEDB.12.0;data source=" & Application.StartupPath & "\DATAMAJEMUK.accdb")
    Dim dt As New DataTable
    Dim dtr As DataRow

    Private Sub Latihan38_36109073_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim X As New OleDb.OleDbDataAdapter
        X = New OleDb.OleDbDataAdapter("Select BARANG.KODEBARANG, BARANG.NAMABARANG, DETAILTRANSAKSI.UNIT, DETAILTRANSAKSI.HARGA, DETAILTRANSAKSI.UNIT*DETAILTRANSAKSI.HARGA AS JUMLAH from DETAILTRANSAKSI INNER JOIN BARANG ON DETAILTRANSAKSI.KODEBARANG=BARANG.KODEBARANG WHERE NOTRANS= '" & nt073.Text & "'", AA)
        X.Fill(dt)
        X.Dispose()

        Dim dataprimary(1) As DataColumn
        dataprimary(0) = dt.Columns("KODEBARANG")
        dt.PrimaryKey = dataprimary

        dgv073.DataSource = dt
    End Sub

    Private Sub TOTALJUMLAH()
        Dim TOT As Double = 0
        For Each X As DataRow In dt.Rows
            TOT = TOT + X("JUMLAH")
        Next
        tot073.Text = TOT

    End Sub


    Private Sub kb073_leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles kb073.Leave
        If kb073.Text.Length = 0 Then
            Exit Sub
        End If

        Dim pencari As New ByIskandar.CariKeDataBaseByIskandar
        pencari.AturPencarianDataBase("BARANG", "KODEBARANG", kb073.Text, 1, AA)
        If pencari.JumlanBaris > 0 Then
            kb073.Text = pencari.DataTablenya.Rows(0).Item("KODEBARANG")
            nb073.Text = pencari.DataTablenya.Rows(0).Item("NAMABARANG")
        Else
            MsgBox("Kode barang sudah ada")
            If Latihan383940_36109073.ShowDialog = Windows.Forms.DialogResult.OK Then
                kb073.Text = Latihan383940_36109073.dgv073.CurrentRow.Cells("KodeBarang").Value
                nb073.Text = Latihan383940_36109073.dgv073.CurrentRow.Cells("NamaBarang").Value
            Else
                kb073.Text = ""
            End If
        End If
    End Sub

    Private Sub kb073_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles kb073.TextChanged
        nb073.Text = ""
        unt073.Text = ""
        hb073.Text = ""
    End Sub

    Private Sub unt073_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles unt073.TextChanged
        ju073.Text = Val(unt073.Text) * Val(hb073.Text)
    End Sub

    Private Sub TAMBAH_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TAMBAH.Click
        'a'
        If kb073.Text.Length = 0 Then
            MsgBox("Kode Barang Sudah Ada")
            Exit Sub
        End If

        If nb073.Text.Length = 0 Then
            MsgBox("Nama Barang Sudah Ada")
        End If

        If Val(unt073.Text) = 0 Then
            MsgBox("Masukkan Unit Barang")
            Exit Sub
        End If

        If Val(hb073.Text) = 0 Then
            MsgBox("Masukkan harga barang")
            Exit Sub
        End If

        'b'
        dtr = dt.Rows.Find(kb073.Text)

        If dtr Is Nothing Then
            dtr = dt.NewRow
            dtr("KODEBARANG") = kb073.Text
        Else
            MsgBox("Maaf kode barang sudah ada")
            Exit Sub
        End If

        'c'
        dtr = dt.NewRow
        dtr("KODEBARANG") = kb073.Text
        dtr("NAMABARANG") = nb073.Text
        dtr("UNIT") = unt073.Text
        dtr("HARGA") = hb073.Text
        dtr("JUMLAH") = ju073.Text

        dt.Rows.Add(dtr)

        'd'
        kb073.Text = ""
        nb073.Text = ""
        unt073.Text = ""
        hb073.Text = ""

        'e'
        TOTALJUMLAH()
    End Sub

    Private Sub SIMPAN_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SIMPAN.Click
        'a'
        If nt073.Text.Length = 0 Then
            MsgBox("No. Transaksi sudah ada")
            Exit Sub
        End If

        If jt073.Text.Length = 0 Then
            MsgBox("Jenis Transaksi Sudah Ada")
            Exit Sub
        End If

        'b'
        If dt.Rows.Count = 0 Then
            MsgBox("Jumlah baris tidak terisi")
            Exit Sub
        End If

        'c'
        Dim pencari As New ByIskandar.CariKeDataBaseByIskandar
        pencari.AturPencarianDataBase("MASTERTRANSAKSI", "NOTRANS", nt073.Text, 1, AA)
        If pencari.JumlanBaris > 0 Then
            MsgBox("Data tersebut sudah ada")
            Exit Sub
        End If

        'd'
        Dim CM As New OleDb.OleDbCommand
        CM = New OleDb.OleDbCommand("INSERT INTO MASTERTRANSAKSI (NOTRANS, TANGGALTRANSAKSI, JENISTRANSAKSI) VALUES ('" & nt073.Text & "', #" & dtp073.Value.Day & " " & dtp073.Value.Month & " " & dtp073.Value.Year & "#, '" & jt073.Text & "')", AA)
        AA.Open()
        CM.ExecuteNonQuery()
        AA.Close()

        'e'
        For Each X As DataRow In dt.Rows
            CM = New OleDb.OleDbCommand("INSERT INTO DETAILTRANSAKSI (NOTRANS, KODEBARANG, UNIT, HARGA) VALUES ('" & nt073.Text & "','" & X("KODEBARANG") & "', " & X("UNIT") & ", " & X("HARGA") & ")", AA)
            AA.Open()
            CM.ExecuteNonQuery()
            AA.Close()
            CM.Dispose()
        Next

        'f'
        nt073.Text = ""
        jt073.Text = ""
        ju073.Text = ""

        'g'
        dt.Rows.Clear()

        'h'
        TOTALJUMLAH()
    End Sub
End Class

LATIHAN 37

Public Class Latihan37_36109073
    Dim AA As New OleDb.OleDbConnection("Provider=microsoft.ACE.OLEDB.12.0;data source=" & Application.StartupPath & "\DATAMAJEMUK.accdb")
    Dim dt As New DataTable
    Dim dtr As DataRow

    Private Sub Latihan37_36109073_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim X As New OleDb.OleDbDataAdapter
        X = New OleDb.OleDbDataAdapter("Select BARANG.KODEBARANG, BARANG.NAMABARANG, DETAILTRANSAKSI.UNIT, DETAILTRANSAKSI.HARGA, DETAILTRANSAKSI.UNIT*DETAILTRANSAKSI.HARGA AS JUMLAH from DETAILTRANSAKSI INNER JOIN BARANG ON DETAILTRANSAKSI.KODEBARANG=BARANG.KODEBARANG WHERE NOTRANS= '" & nt073.Text & "'", AA)
        X.Fill(dt)
        X.Dispose()

        Dim dataprimary(1) As DataColumn
        dataprimary(0) = dt.Columns("KODEBARANG")
        dt.PrimaryKey = dataprimary

        dgv073.DataSource = dt
    End Sub

    Private Sub TOTALJUMLAH()
        Dim TOT As Double = 0
        For Each X As DataRow In dt.Rows
            TOT = TOT + X("JUMLAH")
        Next
        tot073.Text = TOT
    End Sub


    Private Sub kb073_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles kb073.Leave
        If kb073.Text.Length = 0 Then
            Exit Sub
        End If

        Dim pencari As New ByIskandar.CariKeDataBaseByIskandar
        pencari.AturPencarianDataBase("BARANG", "KODEBARANG", kb073.Text, 1, AA)
        If pencari.JumlanBaris > 0 Then
            kb073.Text = pencari.DataTablenya.Rows(0).Item("KODEBARANG")
            nb073.Text = pencari.DataTablenya.Rows(0).Item("NAMABARANG")
        Else
            MsgBox("Kode barang tersebut tidak ada")
            Exit Sub
        End If
    End Sub

    Private Sub kb073_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles kb073.TextChanged
        nb073.Text = ""
        unt073.Text = ""
        hb073.Text = ""
    End Sub

    Private Sub unt073_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles unt073.TextChanged
        ju073.Text = Val(unt073.Text) * Val(hb073.Text)
    End Sub

    Private Sub TAMBAH_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TAMBAH.Click
        'a'
        If kb073.Text.Length = 0 Then
            MsgBox("Kode Barang Sudah Ada")
            Exit Sub
        End If

        If nb073.Text.Length = 0 Then
            MsgBox("Nama Barang Sudah Ada")
        End If

        If Val(unt073.Text) = 0 Then
            MsgBox("Masukkan Unit Barang")
            Exit Sub
        End If

        If Val(hb073.Text) = 0 Then
            MsgBox("Masukkan harga barang")
            Exit Sub
        End If

        'b'
        dtr = dt.Rows.Find(kb073.Text)

        If dtr Is Nothing Then
            dtr = dt.NewRow
            dtr("KODEBARANG") = kb073.Text
        Else
            MsgBox("Maaf kode barang sudah ada")
            Exit Sub
        End If

        'c'
        dtr = dt.NewRow
        dtr("KODEBARANG") = kb073.Text
        dtr("NAMABARANG") = nb073.Text
        dtr("UNIT") = unt073.Text
        dtr("HARGA") = hb073.Text
        dtr("JUMLAH") = ju073.Text

        dt.Rows.Add(dtr)

        'd'
        kb073.Text = ""
        nb073.Text = ""
        unt073.Text = ""
        hb073.Text = ""

        'e'
        TOTALJUMLAH()
    End Sub

    Private Sub SIMPAN_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SIMPAN.Click
        'a'
        If nt073.Text.Length = 0 Then
            MsgBox("No. Transaksi sudah ada")
            Exit Sub
        End If

        If jt073.Text.Length = 0 Then
            MsgBox("Jenis Transaksi Sudah Ada")
            Exit Sub
        End If

        'b'
        If dt.Rows.Count = 0 Then
            MsgBox("Jumlah baris tidak terisi")
            Exit Sub
        End If

        'c'
        Dim pencari As New ByIskandar.CariKeDataBaseByIskandar
        pencari.AturPencarianDataBase("MASTERTRANSAKSI", "NOTRANS", nt073.Text, 1, AA)
        If pencari.JumlanBaris > 0 Then
            MsgBox("Data tersebut sudah ada")
            Exit Sub
        End If

        'd'
        Dim CM As New OleDb.OleDbCommand
        CM = New OleDb.OleDbCommand("INSERT INTO MASTERTRANSAKSI (NOTRANS, TANGGALTRANSAKSI, JENISTRANSAKSI) VALUES ('" & nt073.Text & "', #" & dtp073.Value.Day & "/" & dtp073.Value.Month & "/" & dtp073.Value.Year & "#, '" & jt073.Text & "')", AA)
        AA.Open()
        CM.ExecuteNonQuery()
        AA.Close()

        'e'
        For Each X As DataRow In dt.Rows
            CM = New OleDb.OleDbCommand("INSERT INTO DETAILTRANSAKSI (NOTRANS, KODEBARANG, UNIT, HARGA) VALUES ('" & nt073.Text & "','" & X("KODEBARANG") & "', " & X("UNIT") & ", " & X("HARGA") & ")", AA)
            AA.Open()
            CM.ExecuteNonQuery()
            AA.Close()
            CM.Dispose()
        Next

        'f'
        nt073.Text = ""
        jt073.Text = ""
        ju073.Text = ""
        'g'
        dt.Rows.Clear()

        'h'
        TOTALJUMLAH()
    End Sub

   
    Private Sub hb073_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles hb073.TextChanged
        ju073.Text = Val(unt073.Text) * Val(hb073.Text)
    End Sub
End Class

LATIHAN 36

Public Class Latihan36_36109073

    Dim AA As New OleDb.OleDbConnection("Provider=microsoft.ACE.OLEDB.12.0;data source=" & Application.StartupPath & "\DATAMAJEMUK.accdb")
    Dim dt As New DataTable
    Dim dtr As DataRow

    Private Sub Latihan36_36109073_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim X As New OleDb.OleDbDataAdapter
        X = New OleDb.OleDbDataAdapter("Select KODEBARANG, UNIT, HARGA From DETAILTRANSAKSI WHERE NOTRANS= '" & nt073.Text & "'", AA)
        X.Fill(dt)
        X.Dispose()

        Dim dataprimary(1) As DataColumn
        dataprimary(0) = dt.Columns("KODEBARANG")
        dt.PrimaryKey = dataprimary

        dgv073.DataSource = dt
    End Sub


    Private Sub TAMBAH_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TAMBAH.Click
        'a'
        If kb073.Text.Length = 0 Then
            MsgBox("Kode Barang Sudah Ada")
            Exit Sub
        End If

        If Val(unt073.Text) = 0 Then
            MsgBox("Masukkan Harga Barang")
            Exit Sub
        End If

        'b'
        dtr = dt.Rows.Find(kb073.Text)

        If dtr Is Nothing Then
            dtr = dt.NewRow
            dtr("KODEBARANG") = kb073.Text
        Else
            MsgBox("Maaf kode barang sudah ada")
            Exit Sub
        End If

        'c'
        dtr = dt.NewRow
        dtr("KODEBARANG") = kb073.Text
        dtr("UNIT") = unt073.Text
        dtr("HARGA") = hb073.Text

        dt.Rows.Add(dtr)

        'd'
        kb073.Text = ""
        unt073.Text = ""
        hb073.Text = ""

    End Sub


    Private Sub SIMPAN_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SIMPAN.Click
        'a'
        If nt073.Text.Length = 0 Then
            MsgBox("No. Transaksi sudah ada")
            Exit Sub
        End If

        'b'
        If dt.Rows.Count = 0 Then
            MsgBox("Jumlah baris tidak terisi")
            Exit Sub
        End If

        'c'
        Dim pencari As New ByIskandar.CariKeDataBaseByIskandar
        pencari.AturPencarianDataBase("MASTERTRANSAKSI", "NOTRANS", nt073.Text, 1, AA)
        If pencari.JumlanBaris > 0 Then
            MsgBox("Data tersebut sudah ada")
            Exit Sub
        End If

        'd'
        Dim CM As New OleDb.OleDbCommand
        CM = New OleDb.OleDbCommand("INSERT INTO MASTERTRANSAKSI (NOTRANS, TANGGALTRANSAKSI, JENISTRANSAKSI) VALUES ('" & nt073.Text & "', #" & dtp073.Value.Day & "/" & dtp073.Value.Month & "/" & dtp073.Value.Year & "#, '" & jt073.Text & "')", AA)
        AA.Open()
        CM.ExecuteNonQuery()
        AA.Close()

        'e'
        For Each X As DataRow In dt.Rows
            CM = New OleDb.OleDbCommand("INSERT INTO DETAILTRANSAKSI (NOTRANS, KODEBARANG, UNIT, HARGA) VALUES ('" & nt073.Text & "','" & X("KODEBARANG") & "', " & X("UNIT") & ", " & X("HARGA") & ")", AA)
            AA.Open()
            CM.ExecuteNonQuery()
            AA.Close()
            CM.Dispose()
        Next

        'f'
        nt073.Text = ""
        jt073.Text = ""

        'g'
        dt.Rows.Clear()

    End Sub
End Class