Sabtu, 03 Desember 2011

latihan 40B

Public Class Latihan40B36109061

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

    Public Sub lilismulyani()
        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= '" & notra.Text & "'", L)
        DATA.Rows.Clear()
        X.Fill(DATA)
    End Sub

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

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

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

        TOTALJUMLAH()
    End Sub

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

        If jetra.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 <> notra.Text Then
            Dim pencari As New ByIskandar.CariKeDataBaseByIskandar
            pencari.AturPencarianDataBase("MASTERTRANSAKSI", "NOTRANS", notra.Text, 1, L)
            If pencari.JumlanBaris > 0 Then
                MsgBox("Nomor transaksi sudah ada")
                Exit Sub
            End If
        End If

        Dim LM As New OleDb.OleDbCommand
        LM = New OleDb.OleDbCommand("INSERT INTO MASTERTRANSAKSI(NOTRANS, TANGGALTRANSAKSI, JENISTRANSAKSI) VALUES ('" & notra.Text & "', #" & tgl.Value.Month & "/" & DTP.Value.Day & "/" & DTP.Value.Year & "#, '" & jetra.Text & "')", L)
        'Membuka koneksi'
        L.Open()
        'Eksekusi prose penyimpanan'
        LM.ExecuteNonQuery()
        'Menutup koneksi'
        L.Close()

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

        NO1.Text = "-"
        notra.Text = ""
        jetra.Text = ""

        DATA.Rows.Clear()

        TOTALJUMLAH()
        'Prosedur mengambil data dari Latihan40A017'
        Latihan40A36109061.lis()
    End Sub

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

        If jetra.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 <> notra.Text Then
            Dim pencari As New ByIskandar.CariKeDataBaseByIskandar
            pencari.AturPencarianDataBase("MASTERTRANSAKSI", "NOTRANS", notra.Text, 1, L)
            If pencari.JumlanBaris > 0 Then
                MsgBox("Nomor transaksi sudah ada")
                Exit Sub
            End If
        End If

        Dim LM As New OleDb.OleDbCommand
        LM = New OleDb.OleDbCommand("DELETE * FROM MASTERTRANSAKSI WHERE NOTRANS= '" & notra.Text & "'", L)
        L.Open()
        LM.ExecuteNonQuery()
        L.Close()

        LM = New OleDb.OleDbCommand("INSERT INTO MASTERTRANSAKSI (NOTRANS, TANGGALTRANSAKSI, JENISTRANSAKSI) VALUES ('" & notra.Text & "', #" & tgl.Value.Month & "/" & tgl.Value.Day & "/" & tgl.Value.Year & "#, '" & jetra.Text & "')", L)
        L.Open()
        LM.ExecuteNonQuery()
        L.Close()

        LM = New OleDb.OleDbCommand("DELETE * FROM DETAILTRANSAKSI WHERE NOTRANS= '" & N.Text & "'", L)
        L.Open()
        LM.ExecuteNonQuery()
        L.Close()

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

        NO1.Text = "-"
        notra.Text = ""
        jetra.Text = ""

        DATA.Rows.Clear()

        TOTALJUMLAH()
        Latihan40A36109061.ina()
    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 Latihan40A36109061

    Dim L 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 Bs1 As New BindingSource 'Deklarasi bindingsource'
    Dim Bs2 As New BindingSource

    Public Sub lis()
        'Membersihkan detailtransaksi lalu mastertransaksi'
        dt1.Rows.Clear()
        dt.Rows.Clear()

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

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

        L1.Dispose()

    End Sub

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

        lis()

        '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'
        Bs1.DataSource = dset
        Bs1.DataMember = "T01"
        Bs2.DataSource = Bs1
        Bs2.DataMember = "X"

        'Memasukkan datatabel dari bindingsource ke dalam DVG'
        dgvA.DataSource = Bs1
        dgvB.DataSource = Bs2
    End Sub

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

        LM = New OleDb.OleDbCommand("DELETE * FROM DETAILTRANSAKSI WHERE NOTRANS='" & dgvA.CurrentRow.Cells("NOTRANS").Value & "'", L)
        L.Open()
        LM.ExecuteNonQuery()
        L.Close()

        LM.Dispose()

        lis()

    End Sub

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

        Latihan40B36109061.NO1.Text = dgvA.CurrentRow.Cells("NOTRANS").Value
        Latihan40B36109061.notra.Text = dgvA.CurrentRow.Cells("NOTRANS").Value
        Latihan40B36109061.jetra.Text = dgvA.CurrentRow.Cells("JENISTRANSAKSI").Value

        Latihan40B36109061.lilismulyani()
        Latihan40B36109061.TOTALJUMLAH()
    End Sub

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

        Latihan40B36109061.NO1.Text = "-"
        Latihan40B36109061.notra.Text = ""
        Latihan40B36109061.jetra.Text = ""

        Latihan40B36109061.lilismulyani()
        Latihan40B36109061.TOTALJUMLAH()

    End Sub
End Class

Kamis, 01 Desember 2011

latihan 39

Public Class Latihan3936109061

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

    Private Sub Latihan39017_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= '" & notra.Text & "'", L)
        X.Fill(dt)
        X.Dispose()

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

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

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

        ElseIf dgv.Columns(e.ColumnIndex).Name = "UNIT" Or dgv.Columns(e.ColumnIndex).Name = "HARGA" Then
            dgv.CurrentRow.Cells("JUMLAH").Value = dgv.CurrentRow.Cells("UNIT").Value * dgv.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 notra.Text.Length = 0 Then
            MsgBox("No. transaksi sudah ada")
            Exit Sub
        End If

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

        Dim LM As New OleDb.OleDbCommand
        LM = New OleDb.OleDbCommand("INSERT INTO MASTERTRANSAKSI (NOTRANS, TANGGALTRANSAKSI, JENISTRANSAKSI) VALUES ('" & notra.Text & "', #" & tgl.Value.Month & "/" & tgl.Value.Day & "/" & tgl.Value.Year & "#, '" & jetra.Text & "')", L)
        L.Open()
        LM.ExecuteNonQuery()
        Kill.Close()

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

        notra.Text = ""
        jetra.Text = ""

        dt.Rows.Clear()

    End Sub
End Class

latihan 38,39 dan 40

Public Class Latihan38394036109061

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

    Public Sub lilismulyani()
        Dim X As New OleDb.OleDbDataAdapter
        X = New OleDb.OleDbDataAdapter("Select * From BARANG", L)
        dt.Rows.Clear()
        X.Fill(dt)
        X.Dispose()
    End Sub

    Private Sub Latihan38394036109061_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        lilismulyani()
        dgv.DataSource = dt
    End Sub
End Class

latihan 38

Public Class Latihan3836109061
    Dim L 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 Latihan3836109061_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= '" & notrans.Text & "'", L)
        X.Fill(dt)
        X.Dispose()

        Dim dataPrimary(1) As DataColumn
        dataPrimary(0) = dt.Columns("KODEBARANG")
        dt.PrimaryKey = dataPrimary
        dgv.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 kobar_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles kobar.Leave
        If kobar.Text.Length = 0 Then
            Exit Sub
        End If

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

    Private Sub kobar_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles kobar.TextChanged
        nabar.Text = ""
        unit.Text = ""
        habar.Text = ""
    End Sub

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

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

        If nabar.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(habar.Text) = 0 Then
            MsgBox("Masukkan harga barang barang")
            Exit Sub
        End If

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

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

        'c'
        dr = dt.NewRow
        dr("KODEBARANG") = kobar.Text
        dr("NAMABARANG") = nabar.Text
        dr("UNIT") = unit.Text
        dr("HARGA") = habar.Text
        dr("JUMLAH") = jml.Text

        dt.Rows.Add(dr)

        'd'
        kobar.Text = ""
        nabar.Text = ""
        unit.Text = ""
        habar.Text = ""

        'e'
        TOTALJUMLAH()
    End Sub

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

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

        'd'
        Dim LM As New OleDb.OleDbCommand
        LM = New OleDb.OleDbCommand("INSERT INTO MASTERTRANSAKSI (NOTRANS, TANGGALTRANSAKSI, JENISTRANSAKSI) VALUES ('" & notrans.Text & "', #" & tgl.Value.Month & "/" & tgl.Value.Day & "/" & tgl.Value.Year & "#, '" & jetra.Text & "')", L)
        Label1.Open()
        LM.ExecuteNonQuery()
        L.Close()

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

        'f'
        notrans.Text = ""
        jetra.Text = ""
        jml.Text = ""

        'g'
        dt.Rows.Clear()

        'h'
        TOTALJUMLAH()
    End Sub
End Class

latihan 37

Public Class Latihan3736109061

    Dim L 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 Latihan3736109061_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= '" & notra.Text & "'", L)
        X.Fill(dt)
        X.Dispose()

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

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

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

    Private Sub kobar_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles kobar.TextChanged
        nabar.Text = ""
        unit.Text = ""
        habar.Text = ""
    End Sub

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

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

        If nabar.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(habar.Text) = 0 Then
            MsgBox("Masukkan harga barang barang")
            Exit Sub
        End If

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

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

        'c'
        dr = dt.NewRow
        dr("KODEBARANG") = kobar.Text
        dr("NAMABARANG") = nabar.Text
        dr("UNIT") = unit.Text
        dr("HARGA") = habar.Text
        dr("JUMLAH") = jml.Text

        dt.Rows.Add(dr)

        'd'
        kobar.Text = ""
        nabar.Text = ""
        unit.Text = ""
        habar.Text = ""

        'e'
        TOTALJUMLAH()
    End Sub

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

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

        'd'
        Dim LM As New OleDb.OleDbCommand
        LM = New OleDb.OleDbCommand("INSERT INTO MASTERTRANSAKSI (NOTRANS, TANGGALTRANSAKSI, JENISTRANSAKSI) VALUES ('" & notra.Text & "', #" & tgl.Value.Month & "/" & tgl.Value.Day & "/" & tgl.Value.Year & "#, '" & jetra.Text & "')", L)
        L.Open()
        LM.ExecuteNonQuery()
        L.Close()

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

        'f'
        notra.Text = ""
        jetra.Text = ""
        jml.Text = ""
        'g'
        dt.Rows.Clear()

        'h'
        TOTALJUMLAH()
    End Sub
End Class

latihan 36

Public Class Latihan3636109061

    Dim L 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 Latihan3636109061_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= '" & notrans.Text & "'", L)
        X.Fill(dt)
        X.Dispose()

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

        dgv.DataSource = dt
    End Sub

    Private Sub Tambah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tambah.Click
        'a'
        If kobar.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(habar.Text) = 0 Then
            MsgBox("Masukkan jumlah barang")
            Exit Sub
        End If

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

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

        'c'
        dr = dt.NewRow
        dr("KODEBARANG") = kobar.Text
        dr("UNIT") = unit.Text
        dr("HARGA") = habar.Text

        dt.Rows.Add(dr)

        'd'
        kobar.Text = ""
        unit.Text = ""
        habar.Text = ""

    End Sub

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

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

        'd'
        Dim LM As New OleDb.OleDbCommand
        LM = New OleDb.OleDbCommand("INSERT INTO MASTERTRANSAKSI (NOTRANS, TANGGALTRANSAKSI, JENISTRANSAKSI) VALUES ('" & notrans.Text & "', #" & tgl.Value.Month & "/" & tgl.Value.Day & "/" & tgl.Value.Year & "#, '" & jetra.Text & "')", L)
        L.Open()
        LM.ExecuteNonQuery()
        L.Close()

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

        'f'
        notrans.Text = ""
        jetra.Text = ""

        'g'
        dt.Rows.Clear()

    End Sub
End Class