Kamis, 01 Desember 2011

Latihan 40b

Public Class Tugas40B_36109067

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

    Public Sub Valentine()
        Dim L As New OleDb.OleDbDataAdapter
        L = 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= '" & tb1.Text & "'", V)
        DT.Rows.Clear()
        L.Fill(DT)
    End Sub

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

        dgv40b1.DataSource = DT

        TOTALJUMLAH()
    End Sub

    Public Sub TOTALJUMLAH()
        Dim TOT As Double = 0
        For Each y As DataRow In DT.Rows
            TOT = TOT + y("JUMLAH")
        Next
        tb3.Text = TOT

    End Sub

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

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

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

        TOTALJUMLAH()
    End Sub

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

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

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

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

        Dim MV As New OleDb.OleDbCommand
        MV = New OleDb.OleDbCommand("INSERT INTO MASTERTRANSAKSI(NOTRANS, TANGGALTRANSAKSI, JENISTRANSAKSI) VALUES ('" & tb1.Text & "', #" & dtp.Value.Month & "/" & dtp.Value.Day & "/" & dtp.Value.Year & "#, '" & tb2.Text & "')", V)
        'Membuka koneksi'
        V.Open()
        'Eksekusi prose penyimpanan'
        MV.ExecuteNonQuery()
        'Menutup koneksi'
        V.Close()

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

        NO1.Text = "-"
        tb1.Text = ""
        tb2.Text = ""

        DT.Rows.Clear()

        TOTALJUMLAH()
        'Prosedur mengambil data dari Latihan40A017'
        Tugas40A_36109067.Valentine()
    End Sub

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

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

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

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

        Dim NV As New OleDb.OleDbCommand
        NV = New OleDb.OleDbCommand("DELETE * FROM MASTERTRANSAKSI WHERE NOTRANS= '" & tb1.Text & "'", V)
        V.Open()
        NV.ExecuteNonQuery()
        V.Close()

        NV = New OleDb.OleDbCommand("INSERT INTO MASTERTRANSAKSI (NOTRANS, TANGGALTRANSAKSI, JENISTRANSAKSI) VALUES ('" & tb1.Text & "', #" & dtp.Value.Month & "/" & dtp.Value.Day & "/" & dtp.Value.Year & "#, '" & tb2.Text & "')", V)
        V.Open()
        NV.ExecuteNonQuery()
        V.Close()

        NV = New OleDb.OleDbCommand("DELETE * FROM DETAILTRANSAKSI WHERE NOTRANS= '" & tb1.Text & "'", V)
        V.Open()
        NV.ExecuteNonQuery()
        V.Close()

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

        NO1.Text = "-"
        tb1.Text = ""
        tb2.Text = ""

        DT.Rows.Clear()

        TOTALJUMLAH()
        Tugas40A_36109067.Valentine()
    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 40a

Public Class Tugas40A_36109067

    Dim V 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 Valentine()
        'Membersihkan detailtransaksi lalu mastertransaksi'
        dt1.Rows.Clear()
        dt.Rows.Clear()

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

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

        BS1.Dispose()

    End Sub

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

        Valentine()

        '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'
        dgv401.DataSource = Bsource1
        dgv40a2.DataSource = Bsource2
    End Sub

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

        MV = New OleDb.OleDbCommand("DELETE * FROM DETAILTRANSAKSI WHERE NOTRANS='" & dgv401.CurrentRow.Cells("NOTRANS").Value & "'", V)
        V.Open()
        MV.ExecuteNonQuery()
        V.Close()

        MV.Dispose()

        Valentine()

    End Sub

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

        Tugas40B_36109067.NO1.Text = dgv401.CurrentRow.Cells("NOTRANS").Value
        Tugas40B_36109067.tb1.Text = dgv401.CurrentRow.Cells("NOTRANS").Value
        Tugas40B_36109067.tb2.Text = dgv401.CurrentRow.Cells("JENISTRANSAKSI").Value

        Tugas40B_36109067.Valentine()
        Tugas40B_36109067.TOTALJUMLAH()
    End Sub

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

        Tugas40B_36109067.NO1.Text = "-"
        Tugas40B_36109067.tb1.Text = ""
        Tugas40B_36109067.tb2.Text = ""

        Tugas40B_36109067.Valentine()
        Tugas40B_36109067.TOTALJUMLAH()

    End Sub
End Class

Latihan 39

Public Class Tugas39_36109067

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

    Private Sub Latihan39017_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim H As New OleDb.OleDbDataAdapter
        H = 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= '" & tb1.Text & "'", V)
        H.Fill(dt1)
        H.Dispose()

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

        dgv1.DataSource = dt1
    End Sub

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

    End Sub

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

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

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

            TOTALJUMLAH()
        End If
    End Sub

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

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

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

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

        Dim MV As New OleDb.OleDbCommand
        MV = New OleDb.OleDbCommand("INSERT INTO MASTERTRANSAKSI (NOTRANS, TANGGALTRANSAKSI, JENISTRANSAKSI) VALUES ('" & tb1.Text & "', #" & dtp.Value.Month & "/" & dtp.Value.Day & "/" & dtp.Value.Year & "#, '" & tb2.Text & "')", V)
        V.Open()
        MV.ExecuteNonQuery()
        V.Close()

        For Each Y As DataRow In dt1.Rows
            MV = New OleDb.OleDbCommand("INSERT INTO DETAILTRANSAKSI (NOTRANS, KODEBARANG, UNIT, HARGA) VALUES ('" & tb1.Text & "','" & Y("KODEBARANG") & "'," & Y("UNIT") & ", " & Y("HARGA") & ")", V)
            V.Open()
            MV.ExecuteNonQuery()
            V.Close()
            MV.Dispose()
        Next

        tb1.Text = ""
        tb2.Text = ""

        dt1.Rows.Clear()

    End Sub
End Class

Latihan 38,39,40

Public Class Tugas383940_36109067

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

    Public Sub valentine()
        Dim H As New OleDb.OleDbDataAdapter
        H = New OleDb.OleDbDataAdapter("Select * From BARANG", V)
        dt1.Rows.Clear()
        H.Fill(dt1)
        H.Dispose()
    End Sub

    Private Sub Latihan383940017_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        valentine()
        DGV38.DataSource = dt1
    End Sub
End Class

Latihan 38

Public Class Tugas38_36109067
    Dim V As New OleDb.OleDbConnection("Provider=microsoft.ACE.OLEDB.12.0;data source=" & Application.StartupPath & "\DATAMAJEMUK.accdb")
    Dim dt1 As New DataTable
    Dim dr1 As DataRow

    Private Sub Latihan38017_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim M As New OleDb.OleDbDataAdapter
        M = 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= '" & tb1.Text & "'", V)
        M.Fill(dt1)
        M.Dispose()

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

        dgv1.DataSource = dt1
    End Sub

    Private Sub TOTALJUMLAH()
        Dim TOT As Double = 0
        For Each Y As DataRow In dt1.Rows
            TOT = TOT + Y("JUMLAH")
        Next
        tb8.Text = TOT

    End Sub

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

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

    Private Sub KB_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tb3.TextChanged
        tb4.Text = ""
        tb5.Text = ""
        tb6.Text = ""
    End Sub

Latihan 37

Public Class Tugas37_36109067

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

    Private Sub Latihan37017_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim L As New OleDb.OleDbDataAdapter
        L = 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= '" & tb1.Text & "'", V)
        L.Fill(dt1)
        L.Dispose()

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

        dgv1.DataSource = dt1
    End Sub

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

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

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

    Private Sub tb3_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tb3.TextChanged
        tb4.Text = ""
        tb5.Text = ""
        tb6.Text = ""
    End Sub

    Private Sub tb5_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tb5.TextChanged, tb6.TextChanged
        tb7.Text = Val(tb5.Text) * Val(tb6.Text)
    End Sub

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

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

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

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

        'b'
        dr1 = dt1.Rows.Find(tb3.Text)

        If dr1 Is Nothing Then
            dr1 = dt1.NewRow
            dr1("KODEBARANG") = tb3.Text
        Else
            MsgBox("Maaf kodebarang sudah ada")
            Exit Sub
        End If

        'c'
        dr1 = dt1.NewRow
        dr1("KODEBARANG") = tb3.Text
        dr1("NAMABARANG") = tb4.Text
        dr1("UNIT") = tb5.Text
        dr1("HARGA") = tb6.Text
        dr1("JUMLAH") = tb7.Text

        dt1.Rows.Add(dr1)

        'd'
        tb3.Text = ""
        tb4.Text = ""
        tb5.Text = ""
        tb6.Text = ""

        'e'
        TOTALJUMLAH()
    End Sub

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

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

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

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

        'd'
        Dim MV As New OleDb.OleDbCommand
        MV = New OleDb.OleDbCommand("INSERT INTO MASTERTRANSAKSI (NOTRANS, TANGGALTRANSAKSI, JENISTRANSAKSI) VALUES ('" & tb1.Text & "', #" & dtp.Value.Month & "/" & dtp.Value.Day & "/" & dtp.Value.Year & "#, '" & tb2.Text & "')", V)
        V.Open()
        MV.ExecuteNonQuery()
        V.Close()

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

        'f'
        tb1.Text = ""
        tb2.Text = ""
        tb7.Text = ""
        'g'
        dt1.Rows.Clear()

        'h'
        TOTALJUMLAH()
    End Sub
End Class

Latihan 36

Public Class Tugas36_36109067

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

    Private Sub Latihan36017_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim S As New OleDb.OleDbDataAdapter
        S = New OleDb.OleDbDataAdapter("Select KODEBARANG, UNIT, HARGA from DETAILTRANSAKSI WHERE NOTRANS= '" & tb1.Text & "'", V)
        S.Fill(dt1)
        S.Dispose()

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

        dgv1.DataSource = dt1
    End Sub

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

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

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

        'b'
        dr1 = dt1.Rows.Find(tb3.Text)

        If dr1 Is Nothing Then
            dr1 = dt1.NewRow
            dr1("KODEBARANG") = tb3.Text
        Else
            MsgBox("Maaf kode barang sudah ada")
            Exit Sub
        End If

        'c'
        dr1 = dt1.NewRow
        dr1("KODEBARANG") = tb3.Text
        dr1("UNIT") = tb4.Text
        dr1("HARGA") = tb5.Text

        dt1.Rows.Add(dr1)

        'd'
        tb3.Text = ""
        tb4.Text = ""
        tb5.Text = ""

    End Sub

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

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

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

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

        'd'
        Dim MV As New OleDb.OleDbCommand
        MV = New OleDb.OleDbCommand("INSERT INTO MASTERTRANSAKSI (NOTRANS, TANGGALTRANSAKSI, JENISTRANSAKSI) VALUES ('" & tb1.Text & "', #" & DTP.Value.Month & "/" & DTP.Value.Day & "/" & DTP.Value.Year & "#, '" & tb2.Text & "')", V)
        V.Open()
        MV.ExecuteNonQuery()
        V.Close()

        'e'
        For Each S As DataRow In dt1.Rows
            MV = New OleDb.OleDbCommand("INSERT INTO DETAILTRANSAKSI (NOTRANS, KODEBARANG, UNIT, HARGA) VALUES ('" & tb1.Text & "','" & S("KODEBARANG") & "', " & S("UNIT") & ", " & S("HARGA") & ")", V)
            V.Open()
            MV.ExecuteNonQuery()
            V.Close()
            MV.Dispose()
        Next

        'f'
        tb1.Text = ""
        tb2.Text = ""

        'g'
        dt1.Rows.Clear()

    End Sub
End Class

Latihan 35

Public Class Tugas35_36109067

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

    Private Sub Latihan35017_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim M As New OleDb.OleDbDataAdapter
        M = New OleDb.OleDbDataAdapter("Select KODEBARANG, UNIT, HARGA from DETAILTRANSAKSI WHERE NOTRANS= '" & tb1.Text & "'", V)
        M.Fill(dt)
        M.Dispose()
        dgv1.DataSource = dt
    End Sub

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

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

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

        'b'
        Dim dr As DataRow
        dr = dt.NewRow
        dr("KODEBARANG") = tb3.Text
        dr("UNIT") = tb4.Text
        dr("HARGA") = tb5.Text

        dt.Rows.Add(dr)

        'c'
        tb3.Text = ""
        tb4.Text = ""
        tb5.Text = ""

    End Sub

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

        If tb2.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", tb1.Text, 1, V)
        If pencari.JumlanBaris > 0 Then
            MsgBox("data tersebut sudah ada")
            Exit Sub
        End If

        'd'
        Dim MV As New OleDb.OleDbCommand
        MV = New OleDb.OleDbCommand("INSERT INTO MASTERTRANSAKSI (NOTRANS, TANGGALTRANSAKSI, JENISTRANSAKSI) VALUES ('" & tb1.Text & "', #" & dtp.Value.Month & "/" & dtp.Value.Day & "/" & dtp.Value.Year & "#, '" & tb2.Text & "')", V)
        V.Open()
        MV.ExecuteNonQuery()
        V.Close()

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

        'f'
        tb1.Text = ""
        tb2.Text = ""

        'g'
        dt.Rows.Clear()


    End Sub
End Class