Kamis, 01 Desember 2011

latihan40b


Public Class Latihan40B_36109074

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

    Public Sub ani()
        Dim K As New OleDb.OleDbDataAdapter
        K = 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= '" & notrans_074.Text & "'", krisna)
        tati.Rows.Clear()
        K.Fill(tati)
    End Sub

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

        dgvb_074.DataSource = tati

        TOTALJUMLAH()
    End Sub

    Public Sub TOTALJUMLAH()
        Dim TOT As Double = 0
        For Each x As DataRow In tati.Rows
            TOT = TOT + x("JUMLAH")
        Next
        tot_074.Text = TOT

    End Sub

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

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

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

        TOTALJUMLAH()
    End Sub

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

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

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

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

        Dim KS As New OleDb.OleDbCommand
        KS = New OleDb.OleDbCommand("INSERT INTO MASTERTRANSAKSI(NOTRANS, TANGGALTRANSAKSI, JENISTRANSAKSI) VALUES ('" & notrans_074.Text & "', #" & tgl_074.Value.Month & "/" & tgl_074.Value.Day & "/" & tgl_074.Value.Year & "#, '" & jentr_074.Text & "')", krisna)
        'Membuka koneksi'
        krisna.Open()
        'Eksekusi prose penyimpanan'
        KS.ExecuteNonQuery()
        'Menutup koneksi'
        krisna.Close()

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

        no_074.Text = "-"
        notrans_074.Text = ""
        jentr_074.Text = ""

        tati.Rows.Clear()

        TOTALJUMLAH()
        'Prosedur mengambil data dari Latihan40A017'
        Latihan40A_36109074.real()
    End Sub

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

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

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

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

        Dim KS As New OleDb.OleDbCommand
        KS = New OleDb.OleDbCommand("DELETE * FROM MASTERTRANSAKSI WHERE NOTRANS= '" & notrans_074.Text & "'", krisna)
        krisna.Open()
        KS.ExecuteNonQuery()
        krisna.Close()

        KS = New OleDb.OleDbCommand("INSERT INTO MASTERTRANSAKSI (NOTRANS, TANGGALTRANSAKSI, JENISTRANSAKSI) VALUES ('" & notrans_074.Text & "', #" & tgl_074.Value.Month & "/" & tgl_074.Value.Day & "/" & tgl_074.Value.Year & "#, '" & jentr_074.Text & "')", krisna)
        krisna.Open()
        KS.ExecuteNonQuery()
        krisna.Close()

        KS = New OleDb.OleDbCommand("DELETE * FROM DETAILTRANSAKSI WHERE NOTRANS= '" & notrans_074.Text & "'", krisna)
        krisna.Open()
        KS.ExecuteNonQuery()
        krisna.Close()

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

        no_074.Text = "-"
        notrans_074.Text = ""
        jentr_074.Text = ""

        tati.Rows.Clear()

        TOTALJUMLAH()
        Latihan40A_36109074.real()
    End Sub
    Private Sub smp_074_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles smp_074.Click
        If no_074.Text = "-" Then
            Simpan_tambah()
        Else
            Simpan_edit()
        End If
    End Sub
End Class

latihan40a

Public Class Latihan40A_36109074

    Dim krisna As New OleDb.OleDbConnection("Provider=microsoft.ACE.OLEDB.12.0;data source=" & Application.StartupPath & "\DATAMAJEMUK.accdb")
    Dim saman As New DataTable
    Dim saman1 As New DataTable
    Dim ano As New DataSet 'Deklarasi dataset'
    Dim tati1 As New BindingSource 'Deklarasi bindingsource'
    Dim tati2 As New BindingSource

    Public Sub real()
        'Membersihkan detailtransaksi lalu mastertransaksi'
        saman1.Rows.Clear()
        saman.Rows.Clear()

        Dim K1 As New OleDb.OleDbDataAdapter
        K1 = New OleDb.OleDbDataAdapter("Select * From MASTERTRANSAKSI", krisna)
        K1.Fill(saman)

        K1 = 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", krisna)
        K1.Fill(saman1)

        K1.Dispose()

    End Sub

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

        real()

        'Memasukkan datatabel dalam dataset'
        ano.Tables.Add(saman)
        ano.Tables.Add(saman1)

        'Mengganti nama datatabel dalam dataset'
        saman.TableName = "K01"
        saman1.TableName = "K02"

        'Menambahkan relasi dalam dataset'
        ano.Relations.Add(New DataRelation("X", ano.Tables("K01").Columns("NOTRANS"), ano.Tables("K02").Columns("NOTRANS")))

        'Datasource dan membersource'
        tati1.DataSource = ano
        tati1.DataMember = "K01"
        tati2.DataSource = tati1
        tati2.DataMember = "X"

        'Memasukkan datatabel dari bindingsource ke dalam DVG'
        dgv1_074.DataSource = tati1
        dgv2_074.DataSource = tati2
    End Sub

    Private Sub hps_074_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles hps_074.Click
        Dim KS As New OleDb.OleDbCommand
        KS = New OleDb.OleDbCommand("DELETE * FROM MASTERTRANSAKSI WHERE NOTRANS='" & dgv1_074.CurrentRow.Cells("NOTRANS").Value & "'", krisna)
        krisna.Open()
        KS.ExecuteNonQuery()
        krisna.Close()

        KS = New OleDb.OleDbCommand("DELETE * FROM DETAILTRANSAKSI WHERE NOTRANS='" & dgv1_074.CurrentRow.Cells("NOTRANS").Value & "'", krisna)
        krisna.Open()
        KS.ExecuteNonQuery()
        krisna.Close()

        KS.Dispose()

        real()

    End Sub

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

        Latihan40B_36109074.no_074.Text = dgv1_074.CurrentRow.Cells("NOTRANS").Value
        Latihan40B_36109074.notrans_074.Text = dgv1_074.CurrentRow.Cells("NOTRANS").Value
        Latihan40B_36109074.jentr_074.Text = dgv1_074.CurrentRow.Cells("JENISTRANSAKSI").Value

        Latihan40B_36109074.ani()
        Latihan40B_36109074.TOTALJUMLAH()
    End Sub

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

        Latihan40B_36109074.no_074.Text = "-"
        Latihan40B_36109074.notrans_074.Text = ""
        Latihan40B_36109074.jentr_074.Text = ""

        Latihan40B_36109074.ani()
        Latihan40B_36109074.TOTALJUMLAH()

    End Sub
End Class

latihan39

Public Class Latihan39_36109074

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

    Private Sub Latihan39_36109074_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim K As New OleDb.OleDbDataAdapter
        K = 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= '" & notrans_074.Text & "'", krisna)
        K.Fill(saman)
        K.Dispose()

        Dim dataPrimary(1) As DataColumn
        dataPrimary(0) = saman.Columns("KODEBARANG")
        saman.PrimaryKey = dataPrimary

        dgv_074.DataSource = saman
    End Sub

    Private Sub TOTALJUMLAH()
        Dim TOT As Double = 0
        For Each x As DataRow In saman.Rows
            TOT = TOT + x("JUMLAH")
        Next
        tot_074.Text = TOT

    End Sub

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

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

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

            TOTALJUMLAH()
        End If
    End Sub

    Private Sub smp_074_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles smp_074.Click
        If notrans_074.Text.Length = 0 Then
            MsgBox("No. transaksi sudah ada")
            Exit Sub
        End If

        If jentr_074.Text.Length = 0 Then
            MsgBox("Jenis transaksi sudah ada")
            Exit Sub
        End If

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

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

        Dim KS As New OleDb.OleDbCommand
        KS = New OleDb.OleDbCommand("INSERT INTO MASTERTRANSAKSI (NOTRANS, TANGGALTRANSAKSI, JENISTRANSAKSI) VALUES ('" & notrans_074.Text & "', #" & tgl_074.Value.Month & "/" & tgl_074.Value.Day & "/" & tgl_074.Value.Year & "#, '" & jentr_074.Text & "')", krisna)
        krisna.Open()
        KS.ExecuteNonQuery()
        krisna.Close()

        For Each K As DataRow In saman.Rows
            KS = New OleDb.OleDbCommand("INSERT INTO DETAILTRANSAKSI (NOTRANS, KODEBARANG, UNIT, HARGA) VALUES ('" & notrans_074.Text & "','" & K("KODEBARANG") & "'," & K("UNIT") & ", " & K("HARGA") & ")", krisna)
            krisna.Open()
            KS.ExecuteNonQuery()
            krisna.Close()
            KS.Dispose()
        Next

        notrans_074.Text = ""
        jentr_074.Text = ""

        saman.Rows.Clear()

    End Sub
End Class

latihan383940

Public Class Latihan383940_36109074

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

    Public Sub tati()
        Dim K As New OleDb.OleDbDataAdapter
        K = New OleDb.OleDbDataAdapter("Select * From BARANG", krisna)
        saman.Rows.Clear()
        K.Fill(saman)
        K.Dispose()
    End Sub

    Private Sub Latihan383940_36109074_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        tati()
        dgv_074.DataSource = saman
    End Sub

End Class

latihan38

Public Class Latihan38_36109074
    Dim krisna As New OleDb.OleDbConnection("Provider=microsoft.ACE.OLEDB.12.0;data source=" & Application.StartupPath & "\DATAMAJEMUK.accdb")
    Dim saman As New DataTable
    Dim tati As DataRow

    Private Sub Latihan38_36109074_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim K As New OleDb.OleDbDataAdapter
        K = 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= '" & trans_074.Text & "'", krisna)
        K.Fill(saman)
        K.Dispose()

        Dim dataPrimary(1) As DataColumn
        dataPrimary(0) = saman.Columns("KODEBARANG")
        saman.PrimaryKey = dataPrimary

        dgv_074.DataSource = saman
    End Sub

    Private Sub TOTALJUMLAH()
        Dim TOT As Double = 0
        For Each x As DataRow In saman.Rows
            TOT = TOT + x("JUMLAH")
        Next
        tot_074.Text = TOT

    End Sub

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

        Dim Pencari As New ByIskandar.CariKeDataBaseByIskandar
        Pencari.AturPencarianDataBase("BARANG", "KODEBARANG", kb_074.Text, 1, krisna)
        If Pencari.JumlanBaris > 0 Then
            kb_074.Text = Pencari.DataTablenya.Rows(0).Item("KODEBARANG")
            nb_074.Text = Pencari.DataTablenya.Rows(0).Item("NAMABARANG")
        Else
            MsgBox("Kode barang tersebut tidak ada")
            If Latihan383940_36109074.ShowDialog = Windows.Forms.DialogResult.OK Then
                kb_074.Text = Latihan383940_36109074.dgv_074.CurrentRow.Cells("KodeBarang").Value
                nb_074.Text = Latihan383940_36109074.dgv_074.CurrentRow.Cells("NamaBarang").Value
            Else
                kb_074.Text = ""
            End If
        End If
    End Sub

    Private Sub kb_074_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles kb_074.TextChanged
        nb_074.Text = ""
        unit_074.Text = ""
        hb_074.Text = ""
    End Sub

    Private Sub unit_074_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles unit_074.TextChanged, hb_074.TextChanged
        jum_074.Text = Val(unit_074.Text) * Val(hb_074.Text)
    End Sub

    Private Sub tmb_074_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmb_074.Click
        'a'
        If kb_074.Text.Length = 0 Then
            MsgBox("Kode barang sudah ada")
            Exit Sub
        End If

        If nb_074.Text.Length = 0 Then
            MsgBox("Nama barang sudah ada")
        End If

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

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

        'b'
        tati = saman.Rows.Find(kb_074.Text)

        If tati Is Nothing Then
            tati = saman.NewRow
            tati("KODEBARANG") = kb_074.Text
        Else
            MsgBox("Maaf kodebarang sudah ada")
            Exit Sub
        End If

        'c'
        tati = saman.NewRow
        tati("KODEBARANG") = kb_074.Text
        tati("NAMABARANG") = nb_074.Text
        tati("UNIT") = unit_074.Text
        tati("HARGA") = hb_074.Text
        tati("JUMLAH") = jum_074.Text

        saman.Rows.Add(tati)

        'd'
        kb_074.Text = ""
        nb_074.Text = ""
        unit_074.Text = ""
        hb_074.Text = ""

        'e'
        TOTALJUMLAH()
    End Sub

    Private Sub smp_074_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles smp_074.Click
        'a'
        If trans_074.Text.Length = 0 Then
            MsgBox("No. transaksi sudah ada")
            Exit Sub
        End If

        If jentr_074.Text.Length = 0 Then
            MsgBox("Jenis transaksi sudah ada")
            Exit Sub
        End If

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

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

        'd'
        Dim KS As New OleDb.OleDbCommand
        KS = New OleDb.OleDbCommand("INSERT INTO MASTERTRANSAKSI (NOTRANS, TANGGALTRANSAKSI, JENISTRANSAKSI) VALUES ('" & trans_074.Text & "', #" & tgl_074.Value.Month & "/" & tgl_074.Value.Day & "/" & tgl_074.Value.Year & "#, '" & jentr_074.Text & "')", krisna)
        krisna.Open()
        KS.ExecuteNonQuery()
        krisna.Close()

        'e'
        For Each K As DataRow In saman.Rows
            KS = New OleDb.OleDbCommand("INSERT INTO DETAILTRANSAKSI (NOTRANS, KODEBARANG, UNIT, HARGA) VALUES ('" & trans_074.Text & "','" & K("KODEBARANG") & "'," & K("UNIT") & ", " & K("HARGA") & ")", krisna)
            krisna.Open()
            KS.ExecuteNonQuery()
            krisna.Close()
            KS.Dispose()
        Next

        'f'
        trans_074.Text = ""
        jentr_074.Text = ""
        jum_074.Text = ""

        'g'
        saman.Rows.Clear()

        'h'
        TOTALJUMLAH()
    End Sub
End Class

latihan37

Public Class Latihan37_36109074

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

    Private Sub Latihan37_36109074_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim K As New OleDb.OleDbDataAdapter
        K = 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= '" & trans_074.Text & "'", krisna)
        K.Fill(saman)
        K.Dispose()

        Dim dataPrimary(1) As DataColumn
        dataPrimary(0) = saman.Columns("KODEBARANG")
        saman.PrimaryKey = dataPrimary

        dgv_074.DataSource = saman
    End Sub

    Private Sub TOTALJUMLAH()
        Dim TOT As Double = 0
        For Each x As DataRow In saman.Rows
            TOT = TOT + x("JUMLAH")
        Next
        tot_074.Text = TOT
    End Sub

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

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

    Private Sub kb_074_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles kb_074.TextChanged
        nb_074.Text = ""
        unit_074.Text = ""
        hb_074.Text = ""
    End Sub

    Private Sub unit_074_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles unit_074.TextChanged, hb_074.TextChanged
        jml_074.Text = Val(unit_074.Text) * Val(hb_074.Text)
    End Sub

    Private Sub tmb_074_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmb_074.Click
        'a'
        If kb_074.Text.Length = 0 Then
            MsgBox("Kode barang sudah ada")
            Exit Sub
        End If

        If nb_074.Text.Length = 0 Then
            MsgBox("Nama barang sudah ada")
        End If

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

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

        'b'
        tati = saman.Rows.Find(kb_074.Text)

        If tati Is Nothing Then
            tati = saman.NewRow
            tati("KODEBARANG") = kb_074.Text
        Else
            MsgBox("Maaf kodebarang sudah ada")
            Exit Sub
        End If

        'c'
        tati = saman.NewRow
        tati("KODEBARANG") = kb_074.Text
        tati("NAMABARANG") = nb_074.Text
        tati("UNIT") = unit_074.Text
        tati("HARGA") = hb_074.Text
        tati("JUMLAH") = jml_074.Text

        saman.Rows.Add(tati)

        'd'
        kb_074.Text = ""
        nb_074.Text = ""
        unit_074.Text = ""
        hb_074.Text = ""

        'e'
        TOTALJUMLAH()
    End Sub

    Private Sub smp_074_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles smp_074.Click
        'a'
        If trans_074.Text.Length = 0 Then
            MsgBox("No. transaksi sudah ada")
            Exit Sub
        End If

        If jentr_074.Text.Length = 0 Then
            MsgBox("Jenis transaksi sudah ada")
            Exit Sub
        End If

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

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

        'd'
        Dim KS As New OleDb.OleDbCommand
        KS = New OleDb.OleDbCommand("INSERT INTO MASTERTRANSAKSI (NOTRANS, TANGGALTRANSAKSI, JENISTRANSAKSI) VALUES ('" & trans_074.Text & "', #" & tgl_074.Value.Month & "/" & tgl_074.Value.Day & "/" & tgl_074.Value.Year & "#, '" & jentr_074.Text & "')", krisna)
        krisna.Open()
        KS.ExecuteNonQuery()
        krisna.Close()

        'e'
        For Each K As DataRow In saman.Rows
            KS = New OleDb.OleDbCommand("INSERT INTO DETAILTRANSAKSI (NOTRANS, KODEBARANG, UNIT, HARGA) VALUES ('" & trans_074.Text & "','" & K("KODEBARANG") & "'," & K("UNIT") & ", " & K("HARGA") & ")", krisna)
            krisna.Open()
            KS.ExecuteNonQuery()
            krisna.Close()
            KS.Dispose()
        Next

        'f'
        trans_074.Text = ""
        jentr_074.Text = ""
        jml_074.Text = ""
        'g'
        saman.Rows.Clear()

        'h'
        TOTALJUMLAH()
    End Sub
End Class

latihan36

Public Class Latihan36_36109074

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

    Private Sub Latihan36_36109074_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim K As New OleDb.OleDbDataAdapter
        K = New OleDb.OleDbDataAdapter("Select KODEBARANG, UNIT, HARGA from DETAILTRANSAKSI WHERE NOTRANS= '" & trans_074.Text & "'", krisna)
        K.Fill(saman)
        K.Dispose()

        Dim dataPrimary(1) As DataColumn
        dataPrimary(0) = saman.Columns("KODEBARANG")
        saman.PrimaryKey = dataPrimary

        dgv_074.DataSource = saman
    End Sub

    Private Sub tmb_074_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmb_074.Click
        'a'
        If kb_074.Text.Length = 0 Then
            MsgBox("Kode barang sudah ada")
            Exit Sub
        End If

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

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

        'b'
        tati = saman.Rows.Find(kb_074.Text)

        If tati Is Nothing Then
            tati = saman.NewRow
            tati("KODEBARANG") = kb_074.Text
        Else
            MsgBox("Maaf kode barang sudah ada")
            Exit Sub
        End If

        'c'
        tati = saman.NewRow
        tati("KODEBARANG") = kb_074.Text
        tati("UNIT") = unit_074.Text
        tati("HARGA") = hb_074.Text

        saman.Rows.Add(tati)

        'd'
        kb_074.Text = ""
        unit_074.Text = ""
        hb_074.Text = ""

    End Sub

    Private Sub smp_074_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles smp_074.Click
        'a'
        If trans_074.Text.Length = 0 Then
            MsgBox("No. transaksi sudah ada")
            Exit Sub
        End If

        If jentr_074.Text.Length = 0 Then
            MsgBox("Jenis transaksi sudah ada")
            Exit Sub
        End If

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

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

        'd'
        Dim KS As New OleDb.OleDbCommand
        KS = New OleDb.OleDbCommand("INSERT INTO MASTERTRANSAKSI (NOTRANS, TANGGALTRANSAKSI, JENISTRANSAKSI) VALUES ('" & trans_074.Text & "', #" & tgl_074.Value.Month & "/" & tgl_074.Value.Day & "/" & tgl_074.Value.Year & "#, '" & jentr_074.Text & "')", krisna)
        krisna.Open()
        KS.ExecuteNonQuery()
        krisna.Close()

        'e'
        For Each K As DataRow In saman.Rows
            KS = New OleDb.OleDbCommand("INSERT INTO DETAILTRANSAKSI (NOTRANS, KODEBARANG, UNIT, HARGA) VALUES ('" & trans_074.Text & "','" & K("KODEBARANG") & "', " & K("UNIT") & ", " & K("HARGA") & ")", krisna)
            krisna.Open()
            KS.ExecuteNonQuery()
            krisna.Close()
            KS.Dispose()
        Next

        'f'
        trans_074.Text = ""
        jentr_074.Text = ""

        'g'
        saman.Rows.Clear()

    End Sub
End Class