Kamis, 01 Desember 2011

latihan 40b

Public Class Form40b068
    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 asni()
        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= '" & nt068.Text & "'", A)
        DATA.Rows.Clear()
        X.Fill(DATA)

    End Sub


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

        DGV40B.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 DGV40B_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGV40B.CellEndEdit
        If DGV40B.Columns(e.ColumnIndex).Name = "KODEBARANG" Then
            'Cari nama barang'
            DGV40B.CurrentRow.Cells("NAMABARANG").Value = ""
            DGV40B.CurrentRow.Cells("UNIT").Value = 0
            DGV40B.CurrentRow.Cells("HARGA").Value = 0
            DGV40B.CurrentRow.Cells("JUMLAH").Value = 0

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

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

        TOTALJUMLAH()
    End Sub

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

        If jt068.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 <> nt068.Text Then
            Dim pencari As New ByIskandar.CariKeDataBaseByIskandar
            pencari.AturPencarianDataBase("MASTERTRANSAKSI", "NOTRANS", nt068.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 ('" & nt068.Text & "', #" & tgl068.Value.Month & "/" & tgl068.Value.Day & "/" & tgl068.Value.Year & "#, '" & jt068.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 ('" & nt068.Text & "', '" & X("KODEBARANG") & "'," & X("UNIT") & ", " & X("HARGA") & ")", A)
            A.Open()
            CM.ExecuteNonQuery()
            A.Close()
            CM.Dispose()
        Next

        NO1.Text = "-"
        nt068.Text = ""
        jt068.Text = ""

        DATA.Rows.Clear()

        TOTALJUMLAH()
        'Prosedur mengambil data dari Latihan40A017'
        Form40a068.winny()
    End Sub

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

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

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

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

        NO1.Text = "-"
        nt068.Text = ""
        jt068.Text = ""

        DATA.Rows.Clear()

        TOTALJUMLAH()
        Form40a068.winny()
    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 Form40a068
    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 winny()
        '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 Form40a068_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       
        winny()

        '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'
        DGV40A1.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 CM As New OleDb.OleDbCommand
        CM = New OleDb.OleDbCommand("DELETE * FROM MASTERTRANSAKSI WHERE NOTRANS='" & DGV40A1.CurrentRow.Cells("NOTRANS").Value & "'", A)
        A.Open()
        CM.ExecuteNonQuery()
        A.Close()

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

        CM.Dispose()

        winny()

    End Sub

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

        Form40b068.NO1.Text = DGV40A1.CurrentRow.Cells("NOTRANS").Value
        Form40b068.nt068.Text = DGV40A1.CurrentRow.Cells("NOTRANS").Value
        Form40b068.jt068.Text = DGV40A1.CurrentRow.Cells("JENISTRANSAKSI").Value

        Form40b068.asni()
        Form40b068.TOTALJUMLAH()
    End Sub

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

        Form40b068.NO1.Text = "-"
        Form40b068.nt068.Text = ""
        Form40b068.jt068.Text = ""

        Form40b068.asni()
        Form40b068.TOTALJUMLAH()

    End Sub
End Class
  

latihan 39

Public Class Form39068

    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 form39068_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= '" & nt068.Text & "'", A)
        X.Fill(dt)
        X.Dispose()

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

        DGV39.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 DGV39_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGV39.CellEndEdit
        If DGV39.Columns(e.ColumnIndex).Name = "KODEBARANG" Then
            'Cari nama barang'
            DGV39.CurrentRow.Cells("NAMABARANG").Value = ""
            DGV39.CurrentRow.Cells("UNIT").Value = 0
            DGV39.CurrentRow.Cells("HARGA").Value = 0
            DGV39.CurrentRow.Cells("JUMLAH").Value = 0

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

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

            TOTALJUMLAH()
        End If
    End Sub

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

        If jt068.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", nt068.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 ('" & nt068.Text & "', #" & tgl068.Value.Month & "/" & tgl068.Value.Day & "/" & tgl068.Value.Year & "#, '" & jt068.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 ('" & nt068.Text & "','" & X("KODEBARANG") & "'," & X("UNIT") & ", " & X("HARGA") & ")", A)
            A.Open()
            CM.ExecuteNonQuery()
            A.Close()
            CM.Dispose()
        Next

        nt068.Text = ""
        jt068.Text = ""

        dt.Rows.Clear()

    End Sub
End Class

latihan 383940

Public Class Form38b068
    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 asni()
        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 Form38b068_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        asni()
        DGV38.DataSource = dt
   
   
    End Sub
End Class
  

latihan 38a

Public Class Form38a068
    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 Form38a068_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= '" & nt068.Text & "'", A)
        X.Fill(dt)
        X.Dispose()

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

        DGV38.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 kb068_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles kb068.Leave
        If kb068.Text.Length = 0 Then
            Exit Sub
        End If

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

    Private Sub kb068_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles kb068.TextChanged
        nb068.Text = ""
        u068.Text = ""
        hb068.Text = ""
    End Sub

    Private Sub UNIT_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles u068.TextChanged, hb068.TextChanged
        j068.Text = Val(u068.Text) * Val(hb068.Text)
    End Sub

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

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

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

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

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

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

        'c'
        dr = dt.NewRow
        dr("KODEBARANG") = kb068.Text
        dr("NAMABARANG") = nb068.Text
        dr("UNIT") = u068.Text
        dr("HARGA") = hb068.Text
        dr("JUMLAH") = j068.Text

        dt.Rows.Add(dr)

        'd'
        kb068.Text = ""
        nb068.Text = ""
        u068.Text = ""
        hb068.Text = ""

        'e'
        TOTALJUMLAH()
    End Sub

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

        If jt068.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", nt068.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 ('" & nt068.Text & "', #" & tgl068.Value.Month & "/" & tgl068.Value.Day & "/" & tgl068.Value.Year & "#, '" & jt068.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 ('" & nt068.Text & "','" & X("KODEBARANG") & "'," & X("UNIT") & ", " & X("HARGA") & ")", A)
            A.Open()
            CM.ExecuteNonQuery()
            A.Close()
            CM.Dispose()
        Next

        'f'
        nt068.Text = ""
        jt068.Text = ""
        j068.Text = ""

        'g'
        dt.Rows.Clear()

        'h'
        TOTALJUMLAH()


    End Sub
End Class

latihan 37

Public Class Form37068


    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 Form37068_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= '" & nt068.Text & "'", A)
        X.Fill(dt)
        X.Dispose()

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

        DGV037.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 kb068_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles kb068.Leave
        If kb068.Text.Length = 0 Then
            Exit Sub
        End If

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

    Private Sub kb068_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles kb068.TextChanged
        nb068.Text = ""
        u068.Text = ""
        hb068.Text = ""
    End Sub

    Private Sub u068_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles u068.TextChanged, hb068.TextChanged
        j068.Text = Val(u068.Text) * Val(hb068.Text)
    End Sub

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

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

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

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

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

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

        'c'
        dr = dt.NewRow
        dr("KODEBARANG") = kb068.Text
        dr("NAMABARANG") = nb068.Text
        dr("UNIT") = u068.Text
        dr("HARGA") = hb068.Text
        dr("JUMLAH") = j068.Text

        dt.Rows.Add(dr)

        'd'
        kb068.Text = ""
        nb068.Text = ""
        u068.Text = ""
        hb068.Text = ""

        'e'
        TOTALJUMLAH()
    End Sub

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

        If jt068.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", nt068.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 ('" & nt068.Text & "', #" & tgl068.Value.Month & "/" & tgl068.Value.Day & "/" & tgl068.Value.Year & "#, '" & jt068.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 ('" & nt068.Text & "','" & X("KODEBARANG") & "'," & X("UNIT") & ", " & X("HARGA") & ")", A)
            A.Open()
            CM.ExecuteNonQuery()
            A.Close()
            CM.Dispose()
        Next

        'f'
        nt068.Text = ""
        jt068.Text = ""
        j068.Text = ""
        'g'
        dt.Rows.Clear()

        'h'
        TOTALJUMLAH()
    End Sub
End Class

LATIHAN 36



Public Class Form36068
    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 Form36068_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= '" & nt068.Text & "'", A)
        X.Fill(dt)
        X.Dispose()

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

        dgv068.DataSource = dt
    End Sub



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

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

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

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

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

        'c'
        dr = dt.NewRow
        dr("KODEBARANG") = kb068.Text
        dr("UNIT") = u068.Text
        dr("HARGA") = hb068.Text

        dt.Rows.Add(dr)

        'd'
        kb068.Text = ""
        u068.Text = ""
        hb068.Text = ""


    End Sub

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

        If jt068.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", nt068.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 ('" & nt068.Text & "', #" & tgl068.Value.Month & "/" & tgl068.Value.Day & "/" & tgl068.Value.Year & "#, '" & jt068.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 ('" & nt068.Text & "','" & X("KODEBARANG") & "', " & X("UNIT") & ", " & X("HARGA") & ")", A)
            A.Open()
            CM.ExecuteNonQuery()
            A.Close()
            CM.Dispose()
        Next

        'f'
        nt068.Text = ""
        jt068.Text = ""

        'g'
        dt.Rows.Clear()


    End Sub
End Class