Selasa, 29 November 2011

Latihan 40b

Public Class Latihan_40b
    Dim A As New OleDb.OleDbConnection("Provider=microsoft.ACE.OLEDB.12.0;data source=" & Application.StartupPath & "\DATAMAJEMUK.accdb")
    Dim DATA As New DataTable
    Public Sub cika()
        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= '" & nota059.Text & "'", A)
        DATA.Rows.Clear()
        X.Fill(DATA)
    End Sub

    Private Sub Latihan_40b_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

        cika059.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
        TOTAL.Text = TOT
    End Sub

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

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

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

        TOTALJUMLAH()
    End Sub

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

        If jetran.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 NO1.Text <> nota059.Text Then
            Dim pencari As New ByIskandar.CariKeDataBaseByIskandar
            pencari.AturPencarianDataBase("MASTERTRANSAKSI", "NOTRANS", nota059.Text, 1, A)
            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 ('" & nota059.Text & "', #" & tanggal.Value.Month & "/" & tanggal.Value.Day & "/" & tanggal.Value.Year & "#, '" & jetran.Text & "')", A)
        'Membuka koneksi'
        A.Open()
        'Eksekusi prose penyimpanan'
        CM.ExecuteNonQuery()
        'Menutup koneksi'
        A.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 ('" & nota059.Text & "', '" & X("KODEBARANG") & "'," & X("UNIT") & ", " & X("HARGA") & ")", A)
            A.Open()
            CM.ExecuteNonQuery()
            A.Close()
            CM.Dispose()
        Next

        NO1.Text = "-"
        nota059.Text = ""
        jetran.Text = ""

        DATA.Rows.Clear()

        TOTALJUMLAH()
        'Prosedur mengambil data dari Latihan40A017'
        Latihan_40059.kartika()
    End Sub
    Private Sub Simpan_edit()
        If nota059.Text.Length = 0 Then
            MsgBox("Maaf, Nomor transaksi harus diisi dulu")
            Exit Sub
        End If

        If jetran.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 NO1.Text <> nota059.Text Then
            Dim pencari As New ByIskandar.CariKeDataBaseByIskandar
            pencari.AturPencarianDataBase("MASTERTRANSAKSI", "NOTRANS", nota059.Text, 1, A)
            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= '" & nota059.Text & "'", A)
        A.Open()
        CM.ExecuteNonQuery()
        A.Close()

        CM = New OleDb.OleDbCommand("INSERT INTO MASTERTRANSAKSI (NOTRANS, TANGGALTRANSAKSI, JENISTRANSAKSI) VALUES ('" & nota059.Text & "', #" & tanggal.Value.Month & "/" & tanggal.Value.Day & "/" & tanggal.Value.Year & "#, '" & jetran.Text & "')", A)
        A.Open()
        CM.ExecuteNonQuery()
        A.Close()

        CM = New OleDb.OleDbCommand("DELETE * FROM DETAILTRANSAKSI WHERE NOTRANS= '" & nota059.Text & "'", A)
        A.Open()
        CM.ExecuteNonQuery()
        A.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 ('" & nota059.Text & "', '" & XX("KODEBARANG") & "', " & XX("UNIT") & ", " & XX("HARGA") & ")", A)
            A.Open()
            CM.ExecuteNonQuery()
            A.Close()
            CM.Dispose()
        Next

        NO1.Text = "-"
        nota059.Text = ""
        jetran.Text = ""

        DATA.Rows.Clear()

        TOTALJUMLAH()
        Latihan_40059.kartika()
    End Sub

    Private Sub Simpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Simpan.Click
        If NO1.Text = "-" Then
            Simpan_tambah()
        Else
            Simpan_edit()
        End If
    End Sub
End Class

Latihan 40

Public Class Latihan_40059
    Dim A As New OleDb.OleDbConnection("Provider=microsoft.ACE.OLEDB.12.0;data source=" & Application.StartupPath & "\DATAMAJEMUK.accdb")
    Dim dt As New DataTable
    Dim dt1 As New DataTable
    Dim dset As New DataSet 'Deklarasi dataset'
    Dim Bsource1 As New BindingSource 'Deklarasi bindingsource'
    Dim Bsource2 As New BindingSource
    Public Sub kartika()
        'Membersihkan detailtransaksi lalu mastertransaksi'
        dt1.Rows.Clear()
        dt.Rows.Clear()

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

        B1 = 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", A)
        B1.Fill(dt1)

        B1.Dispose()

    End Sub

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

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

        'Mengganti nama datatabel dalam dataset'
        dt.TableName = "T01"
        dt1.TableName = "T02"

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

        'Datasource dan membersource'
        Bsource1.DataSource = dset
        Bsource1.DataMember = "T01"
        Bsource2.DataSource = Bsource1
        Bsource2.DataMember = "X"

        'Memasukkan datatabel dari bindingsource ke dalam DVG'
        cika059a.DataSource = Bsource1
        cika059b.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='" & cika059a.CurrentRow.Cells("NOTRANS").Value & "'", A)
        A.Open()
        CM.ExecuteNonQuery()
        A.Close()

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

        CM.Dispose()

        kartika()
    End Sub

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

        Latihan_40b.NO1.Text = cika059a.CurrentRow.Cells("NOTRANS").Value
        Latihan_40b.nota059.Text = cika059a.CurrentRow.Cells("NOTRANS").Value
        Latihan_40b.jetran.Text = cika059a.CurrentRow.Cells("JENISTRANSAKSI").Value

        Latihan_40b.cika()
        Latihan_40b.TOTALJUMLAH()
    End Sub

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

        Latihan_40b.NO1.Text = "-"
        Latihan_40b.nota059.Text = ""
        Latihan_40b.jetran.Text = ""

        Latihan_40b.cika()
        Latihan_40b.TOTALJUMLAH()

    End Sub
End Class

Latihan 39

Public Class Latihan_39059

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

    Private Sub Latihan_39059_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= '" & nota059.Text & "'", A)
        X.Fill(dt)
        X.Dispose()

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

        chika059.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
        TOTAL.Text = TOT
    End Sub

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

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

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

            TOTALJUMLAH()
        End If
    End Sub

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

        If jetran.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", nota059.Text, 1, A)
        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 ('" & nota059.Text & "', #" & date059.Value.Month & "/" & date059.Value.Day & "/" & date059.Value.Year & "#, '" & jetran.Text & "')", A)
        A.Open()
        CM.ExecuteNonQuery()
        A.Close()

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

        nota059.Text = ""
        jetran.Text = ""

        dt.Rows.Clear()

    End Sub
End Class

Latihan 38b

Public Class Latihan_383940
    Dim A As New OleDb.OleDbConnection("Provider=microsoft.ACE.OLEDB.12.0;data source=" & Application.StartupPath & "\DATAMAJEMUK.accdb")
    Dim dt As New DataTable
    Public Sub kartika()
        Dim X As New OleDb.OleDbDataAdapter
        X = New OleDb.OleDbDataAdapter("Select * From BARANG", A)
        dt.Rows.Clear()
        X.Fill(dt)
        X.Dispose()
    End Sub

    Private Sub Latihan_383940_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        kartika()
        cika059.DataSource = dt
    End Sub
End Class

Latihan 38

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

    Private Sub Latihan_38059_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= '" & nota059.Text & "'", A)
        X.Fill(dt)
        X.Dispose()

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

        chika059.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
        Total.Text = TOT
    End Sub
    Private Sub koba059_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles koba059.Leave
        If koba059.Text.Length = 0 Then
            Exit Sub
        End If

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

    Private Sub koba059_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles koba059.TextChanged
        naba059.Text = ""
        unit.Text = ""
        harga.Text = ""
    End Sub

    Private Sub unit_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles unit.TextChanged
        Jum059.Text = Val(unit.Text) * Val(harga.Text)
    End Sub

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

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

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

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

        'b'
        dr = dt.Rows.Find(koba059.Text)

        If dr Is Nothing Then
            dr = dt.NewRow
            dr("KODEBARANG") = koba059.Text
        Else
            MsgBox("Maaf kodebarang sudah ada")
            Exit Sub
        End If

        'c'
        dr = dt.NewRow
        dr("KODEBARANG") = koba059.Text
        dr("NAMABARANG") = naba059.Text
        dr("UNIT") = unit.Text
        dr("HARGA") = harga.Text
        dr("JUMLAH") = Jum059.Text

        dt.Rows.Add(dr)

        'd'
        koba059.Text = ""
        naba059.Text = ""
        unit.Text = ""
        harga.Text = ""

        'e'
        TOTALJUMLAH()
    End Sub

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

        If jetran.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", nota059.Text, 1, A)
        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 ('" & nota059.Text & "', #" & date059.Value.Month & "/" & date059.Value.Day & "/" & date059.Value.Year & "#, '" & jetran.Text & "')", A)
        A.Open()
        CM.ExecuteNonQuery()
        A.Close()

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

        'f'
        nota059.Text = ""
        jetran.Text = ""
        Jum059.Text = ""

        'g'
        dt.Rows.Clear()

        'h'
        TOTALJUMLAH()
    End Sub
End Class

Latihan 37

Public Class Latihan37_36109059
    Dim A As New OleDb.OleDbConnection("Provider=microsoft.ACE.OLEDB.12.0;data source=" & Application.StartupPath & "\DATAMAJEMUK.accdb")
    Dim dt As New DataTable
    Dim dr As DataRow
    Private Sub Latihan37_36109059_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= '" & nota059.Text & "'", A)
        X.Fill(dt)
        X.Dispose()

        Dim dataPrimary(1) As DataColumn
        dataPrimary(0) = dt.Columns("KODEBARANG")
        dt.PrimaryKey = dataPrimary
        chika059.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
        Total.Text = TOT
    End Sub

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

        Dim Pencari As New ByIskandar.CariKeDataBaseByIskandar
        Pencari.AturPencarianDataBase("BARANG", "KODEBARANG", koba059.Text, 1, A)
        If Pencari.JumlanBaris > 0 Then
            koba059.Text = Pencari.DataTablenya.Rows(0).Item("KODEBARANG")
            naba059.Text = Pencari.DataTablenya.Rows(0).Item("NAMABARANG")
        Else
            MsgBox("Kode barang tersebut tidak ada")
            Exit Sub
        End If
    End Sub
    Private Sub koba059_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles koba059.TextChanged
        naba059.Text = ""
        UNIT.Text = ""
        harga.Text = ""
    End Sub

    Private Sub unit_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles unit.TextChanged
        Jum059.Text = Val(unit.Text) * Val(harga.Text)
    End Sub

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

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

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

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

        'b'
        dr = dt.Rows.Find(koba059.Text)

        If dr Is Nothing Then
            dr = dt.NewRow
            dr("KODEBARANG") = koba059.Text
        Else
            MsgBox("Maaf kodebarang sudah ada")
            Exit Sub
        End If

        'c'
        dr = dt.NewRow
        dr("KODEBARANG") = koba059.Text
        dr("NAMABARANG") = naba059.Text
        dr("UNIT") = unit.Text
        dr("HARGA") = harga.Text
        dr("JUMLAH") = Jum059.Text

        dt.Rows.Add(dr)

        'd'
        koba059.Text = ""
        naba059.Text = ""
        unit.Text = ""
        harga.Text = ""

        'e'
        TOTALJUMLAH()
    End Sub

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

        If jetran.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", nota059.Text, 1, A)
        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 ('" & nota059.Text & "', #" & date059.Value.Month & "/" & date059.Value.Day & "/" & date059.Value.Year & "#, '" & jetran.Text & "')", A)
        A.Open()
        CM.ExecuteNonQuery()
        A.Close()

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

        'f'
        nota059.Text = ""
        jetran.Text = ""
        Jum059.Text = ""
        'g'
        dt.Rows.Clear()

        'h'
        TOTALJUMLAH()
    End Sub
End Class

Latihan 36

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

    Private Sub Latihan36_059_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= '" & nota059.Text & "'", A)
        X.Fill(dt)
        X.Dispose()

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

        chika059.DataSource = dt
    End Sub

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

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

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

        'b'
        dr = dt.Rows.Find(koba059.Text)

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

        'c'
        dr = dt.NewRow
        dr("KODEBARANG") = koba059.Text
        dr("UNIT") = unit.Text
        dr("HARGA") = harga.Text

        dt.Rows.Add(dr)

        'd'
        koba059.Text = ""
        unit.Text = ""
        harga.Text = ""
    End Sub

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

        If jetran.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", nota059.Text, 1, A)
        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 ('" & nota059.Text & "', #" & date059.Value.Month & "/" & date059.Value.Day & "/" & date059.Value.Year & "#, '" & jetran.Text & "')", A)
        A.Open()
        CM.ExecuteNonQuery()
        A.Close()

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

        'f'
        nota059.Text = ""
        jetran.Text = ""

        'g'
        dt.Rows.Clear()
    End Sub
End Class