Saturday, January 21, 2012

latihan 41-44

Public Class LATIHAN41_36109013
    Dim CONECT As New OleDb.OleDbConnection("provider=microsoft.ace.oledb.12.0;data source= " & Application.StartupPath & "\DATA GRAFIK.accdb;jet OLEDB:database password=nhunoe")
    Dim DT As New DataTable
  
    Private Sub LATIHAN41_36109013_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim fany As New OleDb.OleDbDataAdapter
        fany = New OleDb.OleDbDataAdapter("select * from KEUANGAN", CONECT)
        DT.Rows.Clear()
        fany.Fill(DT)
        dgv36109013.DataSource = DT

        fany.Dispose()
        grafik36109013.ColumnCount = 2
        grafik36109013.RowCount = DT.Rows.Count

        Dim POSISIBARIS As Integer = 0

        For Each x As DataRow In DT.Rows
            POSISIBARIS = POSISIBARIS + 1
            grafik36109013.Row = POSISIBARIS

            grafik36109013.RowLabel = x("tahun")

            grafik36109013.Column = 1
            grafik36109013.Data = x("PENDAPATAN") / 1000

            grafik36109013.Column = 2
            grafik36109013.Data = x("BIAYA") / 1000
        Next
    End Sub
End Class



Public Class LATIHAN42_36109013
    Dim fah As New OleDb.OleDbConnection("PROVIDER = MICROSOFT.ACE.OLEDB.12.0; DATA SOURCE =" & Application.StartupPath & "/Data Grafik.accdb")
    Dim dt As New DataTable

    Private Sub LATIHAN42_36109013_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim a As New OleDb.OleDbDataAdapter
        a = New OleDb.OleDbDataAdapter("select * from QRekapPerRekening", fah)
        dt.Rows.Clear()
        a.Fill(dt)
        a.Dispose()

        DGV36109013.DataSource = dt

        grafik36109013.ColumnCount = 2
        grafik36109013.RowCount = dt.Rows.Count

        Dim fany As Integer = 0
        For Each x As DataRow In dt.Rows
            fany += 1

            grafik36109013.Row = fany
            grafik36109013.RowLabel = x("koderekening")

            grafik36109013.Column = 1
            grafik36109013.Data = x("total debet") / 1000

            grafik36109013.Column = 2
            grafik36109013.Data = x("total kredit") / 1000
        Next
    End Sub
End Class

Public Class LATIHAN43_36109013
    Dim fah As New OleDb.OleDbConnection("PROVIDER = MICROSOFT.ACE.OLEDB.12.0; DATA SOURCE =" & Application.StartupPath & "/DATA GRAFIK.ACCDB")
    Dim dt As New DataTable

    Private Sub LATIHAN43_36109013_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim a As New OleDb.OleDbDataAdapter
        a = New OleDb.OleDbDataAdapter("select * from qpembelianperjenisbarang", fah)
        dt.Rows.Clear()
        a.Fill(dt)
        a.Dispose()

        DGV36109013.DataSource = dt

        grafik36109013.ColumnCount = 3
        grafik36109013.RowCount = dt.Rows.Count

        Dim fany As Integer = 0
        For Each x As DataRow In dt.Rows
            fany += 1

            grafik36109013.Row = fany
            grafik36109013.RowLabel = x("kode barang")

            grafik36109013.Column = 1
            grafik36109013.Data = x("unit")

            grafik36109013.Column = 2
            grafik36109013.Data = x("rata-rata harga") / 1000

            grafik36109013.Column = 3
            grafik36109013.Data = x("jumlah") / 10000
        Next
    End Sub
End Class

Public Class LATIHAN44_36109013
    Dim fah As New OleDb.OleDbConnection("PROVIDER = MICROSOFT.ACE.OLEDB.12.0; DATA SOURCE =" & Application.StartupPath & "/DATA GRAFIK.ACCDB")
    Dim dt As New DataTable

    Private Sub LATIHAN44_36109013_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim a As New OleDb.OleDbDataAdapter
        a = New OleDb.OleDbDataAdapter("select * from qpembelianperjenisbarang", fah)
        dt.Rows.Clear()
        a.Fill(dt)
        a.Dispose()

        DGV36109013.DataSource = dt

        grafik36109013.ColumnCount = 3
        grafik36109013.RowCount = dt.Rows.Count

        Dim fany As Integer = 0
        For Each x As DataRow In dt.Rows
            fany += 1

            grafik36109013.Row = fany
            grafik36109013.RowLabel = x("kode barang")

            grafik36109013.Column = 1
            grafik36109013.Data = x("unit")

            grafik36109013.Column = 2
            grafik36109013.Data = x("rata-rata harga") / 1000

            grafik36109013.Column = 3
            grafik36109013.Data = x("jumlah") / 10000
        Next
    End Sub
End Class

latihan 40

Public Class LATIHAN40A_36109013
    Dim fany As New OleDb.OleDbConnection("PROVIDER = MICROSOFT.ACE.OLEDB.12.0; DATA SOURCE =" & Application.StartupPath & "/DataMajemuk.accdb")
    Dim DT1 As New DataTable
    Dim DT2 As New DataTable
    Dim DS As New DataSet
    Dim BS1 As New BindingSource
    Dim BS2 As New BindingSource
    Public Sub uppa1()
        Dim S As New OleDb.OleDbDataAdapter
        DT2.Rows.Clear()
        DT1.Rows.Clear()

        S = New OleDb.OleDbDataAdapter("select * from mastertransaksi", fany)
        DT1.Rows.Clear()
        S.Fill(DT1)
        S = New OleDb.OleDbDataAdapter("select detailtransaksi.notrans, barang.kodebarang, barang.namabarang, detailtransaksi.unit, detailtransaksi.harga, detailtransaksi.unit*harga as jumlah from barang inner join detailtransaksi on barang.kodebarang = detailtransaksi.kodebarang", fany)
        S.Fill(DT2)
    End Sub

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

        DS.Tables.Add(DT1)
        DS.Tables.Add(DT2)

        DT1.TableName = "fa"
        DT2.TableName = "fa2"

        DS.Relations.Add(New DataRelation("S", DS.Tables("fa").Columns("notrans"), DS.Tables("fa2").Columns("notrans")))

        BS1.DataSource = DS
        BS1.DataMember = "fa"

        BS2.DataSource = BS1
        BS2.DataMember = "S"

        Dim DC(1) As DataColumn
        DC(0) = DT1.Columns("notrans")
        DT1.PrimaryKey = DC

        dgv1_36109013.DataSource = BS1
        dgv2_36109013.DataSource = BS2

    End Sub

    Private Sub hapus36109013_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles hapus36109013.Click
        Dim COM As New OleDb.OleDbCommand
        COM = New OleDb.OleDbCommand("delete * from mastertransaksi where notrans = '" & dgv1_36109013.CurrentRow.Cells("notrans").Value & "'", fany)
        fany.Open()
        COM.ExecuteNonQuery()
        fany.Close()

        COM = New OleDb.OleDbCommand("delete * from detailtransaksi where notrans = '" & dgv1_36109013.CurrentRow.Cells("notrans").Value & "'", fany)
        fany.Open()
        COM.ExecuteNonQuery()
        fany.Close()
        COM.Dispose()
        uppa1()
    End Sub
    Private Sub tambah36109013_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tambah36109013.Click
        If LATIHAN40B_36109013.Visible = False Then
            LATIHAN40B_36109013.Show()
        Else
            LATIHAN40B_36109013.Activate()
        End If

        LATIHAN40B_36109013.no36109013.Text = ""
        LATIHAN40B_36109013.jt36109013.Text = ""
        LATIHAN40B_36109013.notran36109013.Text = "-"

        LATIHAN40B_36109013.uppa2()
        LATIHAN40B_36109013.uppa3()


    End Sub

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

        LATIHAN40B_36109013.no36109013.Text = dgv1_36109013.CurrentRow.Cells("notrans").Value
        LATIHAN40B_36109013.tgl36109013.Value = dgv1_36109013.CurrentRow.Cells("tanggaltransaksi").Value
        LATIHAN40B_36109013.jt36109013.Text = dgv1_36109013.CurrentRow.Cells("jenistransaksi").Value
        LATIHAN40B_36109013.notran36109013.Text = dgv1_36109013.CurrentRow.Cells("notrans").Value

        LATIHAN40B_36109013.uppa2()
        LATIHAN40B_36109013.uppa3()

    End Sub
End Class



Public Class LATIHAN40B_36109013
    Dim fany As New OleDb.OleDbConnection("PROVIDER = MICROSOFT.ACE.OLEDB.12.0; DATA SOURCE =" & Application.StartupPath & "/dataMajemuk.accdb")
    Dim DT As New DataTable
    Dim fa As New ByIskandar.CariKeDataBaseByIskandar
    Dim COM As New OleDb.OleDbCommand
    Public Sub uppa2()
        Dim S As New OleDb.OleDbDataAdapter
        S = New OleDb.OleDbDataAdapter("select barang.KODEBARANG, barang.NAMABARANG, detailtransaksi.UNIT, detailtransaksi.HARGA, detailtransaksi.unit * detailtransaksi.harga as JUMLAH from barang inner join detailtransaksi on barang.kodebarang = detailtransaksi.kodebarang where notrans = '" & no36109013.Text & "'", fany)
        DT.Rows.Clear()
        S.Fill(DT)
        S.Dispose()
    End Sub
    Public Sub uppa3()
        Dim manis As Integer
        For Each r As DataGridViewRow In dgv36109013.Rows
            manis = manis + r.Cells("JUMLAH").Value
        Next
        total36109013.Text = manis
    End Sub
    Private Sub uppa4()
        If no36109013.Text.Length = 0 Then
            MsgBox("No Transaksi Belum Di isi")
            Exit Sub
        End If

        If jt36109013.Text.Length = 0 Then
            MsgBox("Jenis Transaksi Belum Di isi")
            Exit Sub
        End If

        If DT.Rows.Count = 0 Then
            MsgBox("Datatable Bulum Di isi")
            Exit Sub
        End If
    End Sub
    Private Sub nur()
        uppa4()
        fa.AturPencarianDataBase("mastertransaksi", "notrans", no36109013.Text, 1, fany)
        If fa.JumlanBaris > 0 Then
            MsgBox("No Transaksi Seperti Itu Sudah Ada")
            Exit Sub
        End If

        COM = New OleDb.OleDbCommand("insert into mastertransaksi (notrans, tanggaltransaksi, jenistransaksi) values ('" & no36109013.Text & "',#" & tgl36109013.Value.Month & "/" & tgl36109013.Value.Day & "/" & tgl36109013.Value.Year & "#,'" & jt36109013.Text & "')", fany)
        fany.Open()
        COM.ExecuteNonQuery()
        fany.Close()

        For Each x As DataRow In DT.Rows
            COM = New OleDb.OleDbCommand("insert into detailtransaksi (notrans, kodebarang, unit, harga) values ('" & no36109013.Text & "', '" & x("kodebarang") & "', '" & x("unit") & "', '" & x("harga") & "') ", fany)
            fany.Open()
            COM.ExecuteNonQuery()
            fany.Close()
        Next
        COM.Dispose()

        no36109013.Text = ""
        jt36109013.Text = ""
        total36109013.Text = ""
        notran36109013.Text = "-"

        DT.Rows.Clear()
        LATIHAN40A_36109013.uppa1()
    End Sub
    Public Sub Edit()
        uppa4()
        If no36109013.Text <> notran36109013.Text Then
            fa.AturPencarianDataBase("mastertransaksi", "notrans", no36109013.Text, 1, fany)
            If fa.JumlanBaris > 0 Then
                MsgBox("No Transaksi Seperti Itu Sudah Ada")
                Exit Sub
            End If
        End If

        COM = New OleDb.OleDbCommand("delete * from mastertransaksi where notrans = '" & notran36109013.Text & "'", fany)
        fany.Open()
        COM.ExecuteNonQuery()
        fany.Close()

        COM = New OleDb.OleDbCommand("insert into mastertransaksi(notrans, tanggaltransaksi, jenistransaksi) values ('" & no36109013.Text & "',#" & tgl36109013.Value.Month & "/" & tgl36109013.Value.Day & "/" & tgl36109013.Value.Year & "#,'" & jt36109013.Text & "')", fany)
        fany.Open()
        COM.ExecuteNonQuery()
        fany.Close()

        COM = New OleDb.OleDbCommand("delete * from detailtransaksi where notrans = '" & notran36109013.Text & "'", fany)
        fany.Open()
        COM.ExecuteNonQuery()
        fany.Close()

        For Each x As DataRow In DT.Rows
            COM = New OleDb.OleDbCommand("insert into detailtransaksi(notrans, kodebarang, unit, harga) values ('" & no36109013.Text & "', '" & x("kodebarang") & "', '" & x("unit") & "', '" & x("harga") & "')", fany)
            fany.Open()
            COM.ExecuteNonQuery()
            fany.Close()
        Next
        COM.Dispose()

        no36109013.Text = ""
        jt36109013.Text = ""
        total36109013.Text = ""
        notran36109013.Text = "-"

        DT.Rows.Clear()
        LATIHAN40A_36109013.uppa1()
    End Sub
    Private Sub LATIHAN40B_36109013_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        uppa2()

        Dim DC(1) As DataColumn
        DC(0) = DT.Columns("kodebarang")
        DT.PrimaryKey = DC

        DT.Columns("unit").DefaultValue = 0
        DT.Columns("harga").DefaultValue = 0
        DT.Columns("jumlah").DefaultValue = 0

        dgv36109013.DataSource = DT

    End Sub
    Private Sub dgv36109013_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgv36109013.CellEndEdit
        If dgv36109013.Columns(e.ColumnIndex).Name = "KODEBARANG" Then

            dgv36109013.CurrentRow.Cells("NAMABARANG").Value = ""
            dgv36109013.CurrentRow.Cells("UNIT").Value = 0
            dgv36109013.CurrentRow.Cells("HARGA").Value = 0
            dgv36109013.CurrentRow.Cells("JUMLAH").Value = 0

            fa.AturPencarianDataBase("barang", "kodebarang", dgv36109013.CurrentRow.Cells("KODEBARANG").Value, 1, fany)
            If fa.JumlanBaris > 0 Then
                dgv36109013.CurrentRow.Cells("NAMABARANG").Value = fa.DataTablenya.Rows(0).Item("NAMABARANG")
                If LATIHAN38_39_40_36109013.ShowDialog = Windows.Forms.DialogResult.OK Then
                    dgv36109013.CurrentRow.Cells("KODEBARANG").Value = LATIHAN38_39_40_36109013.dgv36109013.CurrentRow.Cells("KODEBARANG").Value
                    dgv36109013.CurrentRow.Cells("NAMABARANG").Value = LATIHAN38_39_40_36109013.dgv36109013.CurrentRow.Cells("NAMABARANG").Value
                End If
            End If

        ElseIf dgv36109013.Columns(e.ColumnIndex).Name = "UNIT" Or dgv36109013.Columns(e.ColumnIndex).Name = "HARGA" Then
            dgv36109013.CurrentRow.Cells("JUMLAH").Value = dgv36109013.CurrentRow.Cells("UNIT").Value * dgv36109013.CurrentRow.Cells("HARGA").Value
            uppa3()
        End If
    End Sub

    Private Sub simpan36109013_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles simpan36109013.Click
        If notran36109013.Text = "-" Then
            nur()
        Else
            Edit()
            uppa3()
        End If
    End Sub
  
End Class

latihan 38-39-40

Public Class LATIHAN38_39_40_36109013
    Dim DT As New DataTable
    Dim fany As New OleDb.OleDbConnection("PROVIDER = MICROSOFT.ACE.OLEDB.12.0; DATA SOURCE =" & Application.StartupPath & "/Datamajemuk.ACCDB")

    Private Sub LATIHAN38_39_40_36109013_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 * FROM BARANG", fany)
        DT.Rows.Clear()
        S.Fill(DT)
        S.Dispose()

        dgv36109013.DataSource = DT

    End Sub
End Class

latihan39

Public Class LATIHAN39_36109013
    Dim dt As New DataTable
    Dim cm As New OleDb.OleDbCommand
    Dim fany As New ByIskandar.CariKeDataBaseByIskandar
    Dim fa As New OleDb.OleDbConnection("PROVIDER = MICROSOFT.ACE.OLEDB.12.0; DATA SOURCE =" & Application.StartupPath & "/datamajemuk.ACCDB")

    Private Sub Latihan039012_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        dt.Columns.Add(New DataColumn("KODEBARANG", GetType(String)))
        dt.Columns.Add(New DataColumn("NAMABARANG", GetType(String)))
        dt.Columns.Add(New DataColumn("UNIT", GetType(Double)))
        dt.Columns.Add(New DataColumn("HARGA", GetType(Integer)))
        dt.Columns.Add(New DataColumn("JUMLAH", GetType(Double)))
        dgv36109013.DataSource = dt

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

        dt.Columns("UNIT").DefaultValue = 0
        dt.Columns("HARGA").DefaultValue = 0
        dt.Columns("JUMLAH").DefaultValue = 0

    End Sub
    Private Sub hitung()
        Dim manis As Integer
        For Each r As DataGridViewRow In dgv36109013.Rows
            manis = manis + r.Cells("JUMLAH").Value
        Next
        total36109013.Text = manis

    End Sub

    Private Sub DataGridView1_CellEndEdit(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgv36109013.CellEndEdit
        If e.ColumnIndex = 0 Then

            fany.AturPencarianDataBase("BARANG", "kodebarang", dgv36109013.CurrentRow.Cells("kodebarang").Value, 1, fa)
            If fany.JumlanBaris > 0 Then
                dgv36109013.CurrentRow.Cells("KODEBARANG").Value = fany.DataTablenya.Rows(0).Item("KODEBARANG")
                dgv36109013.CurrentRow.Cells("NAMABARANG").Value = fany.DataTablenya.Rows(0).Item("NamaBarang")
            Else
                MsgBox("kode barang tidak tersedia")
                If LATIHAN38_39_40_36109013.ShowDialog = Windows.Forms.DialogResult.OK Then
                    dgv36109013.CurrentRow.Cells("KODEBARANG").Value = LATIHAN38_39_40_36109013.dgv36109013.CurrentRow.Cells("KodeBarang").Value
                    dgv36109013.CurrentRow.Cells("NAMABARANG").Value = LATIHAN38_39_40_36109013.dgv36109013.CurrentRow.Cells("namabarang").Value
                    dgv36109013.CurrentRow.Cells("HARGA").Value = LATIHAN38_39_40_36109013.dgv36109013.CurrentRow.Cells("HARGAJUAL").Value
                Else
                    dgv36109013.CurrentRow.Cells("KODEBARANG").Value = ""
                    dgv36109013.CurrentRow.Cells("NAMABARANG").Value = ""
                End If
            End If
        End If
        If e.ColumnIndex = 2 Or e.ColumnIndex = 3 Then
            dgv36109013.CurrentRow.Cells("JUMLAH").Value = dgv36109013.CurrentRow.Cells("UNIT").Value * dgv36109013.CurrentRow.Cells("HARGA").Value

        End If

        hitung()
    End Sub

    Private Sub simpan36109013_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles simpan36109013.Click
        If no36109013.Text.Length = 0 Then
            MsgBox("no transaksi belum terisi")
            Exit Sub
        End If

        If jt36109013.Text.Length = 0 Then
            MsgBox("jenis transaksi belum terisi")
            Exit Sub
        End If

        If dt.Rows.Count = 0 Then
            MsgBox("data tidak tersedia")
        End If

        fany.AturPencarianDataBase("mastertransaksi", "notrans", no36109013.Text, 1, fa)

        If fany.JumlanBaris > 0 Then
            MsgBox("kode sudah ada")
            Exit Sub
        End If

        Dim com As New OleDb.OleDbCommand
        com = New OleDb.OleDbCommand("insert into mastertransaksi (notrans, tanggaltransaksi, jenistransaksi) values ('" & no36109013.Text & "',#" & tgl36109013.Value.Month & "/" & tgl36109013.Value.Day & "/" & tgl36109013.Value.Year & "#,'" & jt36109013.Text & "')", fa)

        fa.Open()
        com.ExecuteNonQuery()
        fa.Close()

        For Each r As DataRow In dt.Rows

            com = New OleDb.OleDbCommand("insert into detailtransaksi (notrans, kodebarang, unit, harga ) values ('" & no36109013.Text & "','" & r("kodebarang") & "'," & r("unit") & "," & r("harga") & ")", fa)
            fa.Open()
            com.ExecuteNonQuery()
            fa.Close()

            com.Dispose()

        Next

        no36109013.Text = ""
        jt36109013.Text = ""
        total36109013.Text = ""

        dt.Rows.Clear()
        hitung()
    End Sub
End Class

form 38

Public Class LATIHAN38_36109013
    Dim dt As New DataTable
    Dim cm As New OleDb.OleDbCommand
    Dim fany As New ByIskandar.CariKeDataBaseByIskandar
    Dim fa As New OleDb.OleDbConnection("PROVIDER = MICROSOFT.ACE.OLEDB.12.0; DATA SOURCE =" & Application.StartupPath & "/datamajemuk.ACCDB")
    Private Sub Form38_36109013_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim a As New OleDb.OleDbDataAdapter
        a = New OleDb.OleDbDataAdapter("select barang.KODEBARANG, barang.NAMABARANG, detailtransaksi.UNIT, detailtransaksi.HARGA, detailtransaksi.unit*harga as JUMLAH from barang inner join detailtransaksi on barang.kodebarang = detailtransaksi.kodebarang where notrans ='" & no36109013.Text & "'", fa)
        dt.Rows.Clear()
        a.Fill(dt)
        a.Dispose()

        Dim DC(1) As DataColumn
        DC(0) = dt.Columns("kodebarang")
        dt.PrimaryKey = DC

        dgv36109013.DataSource = dt
    End Sub
    Private Sub uppa()
        Dim uppa1 As Integer = 0
        For Each uppa2 As DataRow In dt.Rows
            uppa1 += uppa2("JUMLAH")
        Next
        total36109013.Text = uppa1
    End Sub

    Private Sub unit36109013_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles unit36109013.TextChanged
        jumlah36109013.Text = Val(unit36109013.Text) * Val(harga36109013.Text)
    End Sub
    Private Sub kb36109013_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles kb36109013.Leave
        If kb36109013.Text.Length = 0 Then
            Exit Sub
        End If
        fany.AturPencarianDataBase("barang", "kodebarang", kb36109013.Text, 1, fa)
        If fany.JumlanBaris > 0 Then
            kb36109013.Text = fany.DataTablenya.Rows(0).Item("KODEBARANG")
            nb36109013.Text = fany.DataTablenya.Rows(0).Item("NAMABARANG")
        Else
            MsgBox("Kode barang itu tidak ada..")
            Exit Sub
        End If
    End Sub
    Private Sub kb36109013_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles kb36109013.TextChanged
        nb36109013.Text = ""
        unit36109013.Text = ""
        harga36109013.Text = ""
    End Sub

    Private Sub tambah36109013_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tambah36109013.Click
        If kb36109013.Text.Length = 0 Then
            MsgBox("Kode Barang Belum Di isi")
            Exit Sub
        End If

        If Val(unit36109013.Text) = 0 Then
            MsgBox("Kode Barang Belum Di isi")
            Exit Sub
        End If

        If Val(harga36109013.Text) = 0 Then
            MsgBox("Kode Barang Belum Di isi")
            Exit Sub
        End If

        Dim DR As DataRow
        DR = dt.Rows.Find(kb36109013.Text)
        If DR Is Nothing Then
            DR = dt.NewRow
            DR("KODEBARANG") = kb36109013.Text
            DR("NAMABARANG") = nb36109013.Text
            DR("UNIT") = Val(unit36109013.Text)
            DR("HARGA") = Val(harga36109013.Text)
            DR("JUMLAH") = Val(jumlah36109013.Text)

            dt.Rows.Add(DR)

            kb36109013.Text = ""
            unit36109013.Text = ""
            harga36109013.Text = ""

        Else
            MsgBox("Kode barang itu sudah ada, mohon ganti dengan kode barang yang lain...")
        End If
        uppa()
    End Sub
    Private Sub simpan36109013_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles simpan36109013.Click
        If no36109013.Text.Length = 0 Then
            MsgBox("No Transaksi Belum Di isi")
            Exit Sub
        End If

        If jt36109013.Text.Length = 0 Then
            MsgBox("Jenis Transaksi Belum Di isi")
            Exit Sub
        End If

        If dt.Rows.Count = 0 Then
            MsgBox("Isi datatable")
            Exit Sub
        End If

        fany.AturPencarianDataBase("mastertransaksi", "notrans", no36109013.Text, 1, fa)
        If fany.JumlanBaris > 0 Then
            MsgBox("No Trans Seperti Itu Sudah Ada")
            Exit Sub
        End If

        cm = New OleDb.OleDbCommand("insert into mastertransaksi (notrans, tanggaltransaksi, jenistransaksi) values ('" & no36109013.Text & "',#" & tgl36109013.Value.Month & "/" & tgl36109013.Value.Day & "/" & tgl36109013.Value.Year & "#,'" & jt36109013.Text & "')", fa)
        fa.Open()
        cm.ExecuteNonQuery()
        fa.Close()

        For Each x As DataRow In dt.Rows
            cm = New OleDb.OleDbCommand("insert into detailtransaksi (notrans, kodebarang, unit, harga) values ('" & no36109013.Text & "','" & x("kodebarang") & "','" & x("unit") & "','" & x("harga") & "')", fa)
            fa.Open()
            cm.ExecuteNonQuery()
            fa.Close()
        Next
        cm.Dispose()

        no36109013.Text = ""
        jt36109013.Text = ""

        dt.Rows.Clear()
        uppa()
    End Sub

    Private Sub harga36109013_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles harga36109013.TextChanged
        jumlah36109013.Text = Val(unit36109013.Text) * Val(harga36109013.Text)
    End Sub

    Private Sub jumlah36109013_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles jumlah36109013.TextChanged
        jumlah36109013.Text = Val(unit36109013.Text) * Val(harga36109013.Text)
    End Sub
End Class

form 37

Public Class LATIHAN37_36109013
    Dim dt As New DataTable
    Dim cm As New OleDb.OleDbCommand
    Dim fany As New ByIskandar.CariKeDataBaseByIskandar
    Dim fa As New OleDb.OleDbConnection("PROVIDER = MICROSOFT.ACE.OLEDB.12.0; DATA SOURCE =" & Application.StartupPath & "/datamajemuk.ACCDB")

    Private Sub LATIHAN37_36109013_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim a As New OleDb.OleDbDataAdapter
        a = New OleDb.OleDbDataAdapter("select barang.KODEBARANG, barang.NAMABARANG, detailtransaksi.UNIT, detailtransaksi.HARGA, detailtransaksi.unit*harga as JUMLAH from barang inner join detailtransaksi on barang.kodebarang = detailtransaksi.kodebarang where notrans ='" & no36109013.Text & "'", fa)
        dt.Rows.Clear()
        a.Fill(dt)
        a.Dispose()

        Dim DC(1) As DataColumn
        DC(0) = dt.Columns("kodebarang")
        dt.PrimaryKey = DC

        dgv36109013.DataSource = dt
    End Sub
    Private Sub uppa()
        Dim uppa1 As Integer = 0
        For Each uppa2 As DataRow In dt.Rows
            uppa1 += uppa2("JUMLAH")
        Next
        total36109013.Text = uppa1
    End Sub

    Private Sub unit36109013_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles unit36109013.TextChanged
        jumlah36109013.Text = Val(unit36109013.Text) * Val(harga36109013.Text)
    End Sub
    Private Sub kb36109013_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles kb36109013.Leave
        If kb36109013.Text.Length = 0 Then
            Exit Sub
        End If
        fany.AturPencarianDataBase("barang", "kodebarang", kb36109013.Text, 1, fa)
        If fany.JumlanBaris > 0 Then
            kb36109013.Text = fany.DataTablenya.Rows(0).Item("KODEBARANG")
            nb36109013.Text = fany.DataTablenya.Rows(0).Item("NAMABARANG")
        Else
            MsgBox("Kode barang itu tidak ada..")
            Exit Sub
        End If
    End Sub

    Private Sub kb36109013_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles kb36109013.TextChanged
        nb36109013.Text = ""
        unit36109013.Text = ""
        harga36109013.Text = ""
    End Sub
    Private Sub tambah36109013_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tambah36109013.Click
        If kb36109013.Text.Length = 0 Then
            MsgBox("Kode Barang Belum Di isi")
            Exit Sub
        End If

        If Val(unit36109013.Text) = 0 Then
            MsgBox("Kode Barang Belum Di isi")
            Exit Sub
        End If

        If Val(harga36109013.Text) = 0 Then
            MsgBox("Kode Barang Belum Di isi")
            Exit Sub
        End If

        Dim DR As DataRow
        DR = dt.Rows.Find(kb36109013.Text)
        If DR Is Nothing Then
            DR = dt.NewRow
            DR("KODEBARANG") = kb36109013.Text
            DR("NAMABARANG") = nb36109013.Text
            DR("UNIT") = Val(unit36109013.Text)
            DR("HARGA") = Val(harga36109013.Text)
            DR("JUMLAH") = Val(jumlah36109013.Text)

            dt.Rows.Add(DR)

            kb36109013.Text = ""
            unit36109013.Text = ""
            harga36109013.Text = ""

        Else
            MsgBox("Kode barang itu sudah ada, mohon ganti dengan kode barang yang lain...")
        End If
        uppa()
    End Sub

    Private Sub simpan36109013_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles simpan36109013.Click
        If no36109013.Text.Length = 0 Then
            MsgBox("No Transaksi Belum Di isi")
            Exit Sub
        End If

        If jt36109013.Text.Length = 0 Then
            MsgBox("Jenis Transaksi Belum Di isi")
            Exit Sub
        End If

        If dt.Rows.Count = 0 Then
            MsgBox("Isi datatable")
            Exit Sub
        End If

        fany.AturPencarianDataBase("mastertransaksi", "notrans", no36109013.Text, 1, fa)
        If fany.JumlanBaris > 0 Then
            MsgBox("No Trans Seperti Itu Sudah Ada")
            Exit Sub
        End If

        cm = New OleDb.OleDbCommand("insert into mastertransaksi (notrans, tanggaltransaksi, jenistransaksi) values ('" & no36109013.Text & "',#" & tgl36109013.Value.Month & "/" & tgl36109013.Value.Day & "/" & tgl36109013.Value.Year & "#,'" & jt36109013.Text & "')", fa)
        fa.Open()
        cm.ExecuteNonQuery()
        fa.Close()

        For Each x As DataRow In dt.Rows
            cm = New OleDb.OleDbCommand("insert into detailtransaksi (notrans, kodebarang, unit, harga) values ('" & no36109013.Text & "','" & x("kodebarang") & "','" & x("unit") & "','" & x("harga") & "')", fa)
            fa.Open()
            cm.ExecuteNonQuery()
            fa.Close()
        Next
        cm.Dispose()

        no36109013.Text = ""
        jt36109013.Text = ""

        dt.Rows.Clear()
        uppa()

    End Sub

    Private Sub harga36109013_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles harga36109013.TextChanged
        jumlah36109013.Text = Val(unit36109013.Text) * Val(harga36109013.Text)
    End Sub
    Private Sub jumlah36109013_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles jumlah36109013.TextChanged
        jumlah36109013.Text = Val(unit36109013.Text) * Val(harga36109013.Text)
    End Sub
End Class