Jumat, 02 Desember 2011

LATIHAN 38

Public Class LATIHAN_038_36109075
    Dim PUPUT As New OleDb.OleDbConnection("Provider=microsoft.ACE.OLEDB.12.0;data source=" & Application.StartupPath & "\DataMajemuk.accdb")
    Dim na As New DataTable
    Dim dtr As DataRow

    Private Sub LATIHAN_038_36109075_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim Z As New OleDb.OleDbDataAdapter
        Z = 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= '" & nt075.Text & "'", PUPUT)
        Z.Fill(na)
        Z.Dispose()

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

        DGV075.DataSource = na

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

        Next
        tot075.Text = TOT
    End Sub
    Private Sub kb075_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles kb075.Leave
        If kb075.Text.Length = 0 Then
            Exit Sub
        End If

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

    End Sub

    Private Sub kb075_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles kb075.TextChanged
        nb075.Text = ""
        unit075.Text = ""
        harga075.Text = ""

    End Sub

    Private Sub unit075_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles unit075.TextChanged
        jmlh075.Text = Val(unit075.Text) * Val(harga075.Text)

    End Sub

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

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

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

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

        'b'
        dtr = na.Rows.Find(kb075.Text)

        If dtr Is Nothing Then
            dtr = na.NewRow
            dtr("KODEBARANG") = kb075.Text
        Else
            MsgBox("Maaf kodebarang sudah ada")
            Exit Sub
        End If

        'c'
        dtr = na.NewRow
        dtr("KODEBARANG") = kb075.Text
        dtr("NAMABARANG") = nb075.Text
        dtr("UNIT") = unit075.Text
        dtr("HARGA") = harga075.Text
        dtr("JUMLAH") = jmlh075.Text

        na.Rows.Add(dtr)

        'd'
        kb075.Text = ""
        nb075.Text = ""
        unit075.Text = ""
        harga075.Text = ""

        'e'
        TOTALJUMLAH()

    End Sub

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

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

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

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

        'd'
        Dim XY As New OleDb.OleDbCommand
        XY = New OleDb.OleDbCommand("INSERT INTO MASTERTRANSAKSI (NOTRANS, TANGGALTRANSAKSI, JENISTRANSAKSI) VALUES ('" & nt075.Text & "', #" & DTP075.Value.Month & "/" & DTP075.Value.Day & "/" & DTP075.Value.Year & "#, '" & jt075.Text & "')", PUPUT)
        PUPUT.Open()
        XY.ExecuteNonQuery()
        PUPUT.Close()

        'e'
        For Each Z As DataRow In na.Rows
            XY = New OleDb.OleDbCommand("INSERT INTO DETAILTRANSAKSI (NOTRANS, KODEBARANG, UNIT, HARGA) VALUES ('" & nt075.Text & "','" & Z("KODEBARANG") & "'," & Z("UNIT") & ", " & Z("HARGA") & ")", PUPUT)
            PUPUT.Open()
            XY.ExecuteNonQuery()
            PUPUT.Close()
            XY.Dispose()
        Next

        'f'
        nt075.Text = ""
        jt075.Text = ""
        jmlh075.Text = ""

        'g'
        na.Rows.Clear()

        'h'
        TOTALJUMLAH()

    End Sub
End Class


LATIHAN 38,39,40_075

Public Class LATIHAN_383940_075
    Dim AL As New OleDb.OleDbConnection("Provider=microsoft.ACE.OLEDB.12.0;data source=" & Application.StartupPath & "\DataMajemuk.accdb")
    Dim dtt As New DataTable

    Public Sub PUTRY()
        Dim Z As New OleDb.OleDbDataAdapter
        Z = New OleDb.OleDbDataAdapter("select * From BARANG", AL)
        dtt.Rows.Clear()
        Z.Fill(dtt)
        Z.Dispose()

    End Sub

    Private Sub LATIHAN_383940_075_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        PUTRY()
        DGV38_075.DataSource = dtt
    End Sub
End Class

Tidak ada komentar:

Posting Komentar