Kamis, 01 Desember 2011

LATIHAN 37

Public Class Latihan37_36109073
    Dim AA As New OleDb.OleDbConnection("Provider=microsoft.ACE.OLEDB.12.0;data source=" & Application.StartupPath & "\DATAMAJEMUK.accdb")
    Dim dt As New DataTable
    Dim dtr As DataRow

    Private Sub Latihan37_36109073_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= '" & nt073.Text & "'", AA)
        X.Fill(dt)
        X.Dispose()

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

        dgv073.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
        tot073.Text = TOT
    End Sub


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

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

    Private Sub kb073_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles kb073.TextChanged
        nb073.Text = ""
        unt073.Text = ""
        hb073.Text = ""
    End Sub

    Private Sub unt073_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles unt073.TextChanged
        ju073.Text = Val(unt073.Text) * Val(hb073.Text)
    End Sub

    Private Sub TAMBAH_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TAMBAH.Click
        'a'
        If kb073.Text.Length = 0 Then
            MsgBox("Kode Barang Sudah Ada")
            Exit Sub
        End If

        If nb073.Text.Length = 0 Then
            MsgBox("Nama Barang Sudah Ada")
        End If

        If Val(unt073.Text) = 0 Then
            MsgBox("Masukkan Unit Barang")
            Exit Sub
        End If

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

        'b'
        dtr = dt.Rows.Find(kb073.Text)

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

        'c'
        dtr = dt.NewRow
        dtr("KODEBARANG") = kb073.Text
        dtr("NAMABARANG") = nb073.Text
        dtr("UNIT") = unt073.Text
        dtr("HARGA") = hb073.Text
        dtr("JUMLAH") = ju073.Text

        dt.Rows.Add(dtr)

        'd'
        kb073.Text = ""
        nb073.Text = ""
        unt073.Text = ""
        hb073.Text = ""

        'e'
        TOTALJUMLAH()
    End Sub

    Private Sub SIMPAN_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SIMPAN.Click
        'a'
        If nt073.Text.Length = 0 Then
            MsgBox("No. Transaksi sudah ada")
            Exit Sub
        End If

        If jt073.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", nt073.Text, 1, AA)
        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 ('" & nt073.Text & "', #" & dtp073.Value.Day & "/" & dtp073.Value.Month & "/" & dtp073.Value.Year & "#, '" & jt073.Text & "')", AA)
        AA.Open()
        CM.ExecuteNonQuery()
        AA.Close()

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

        'f'
        nt073.Text = ""
        jt073.Text = ""
        ju073.Text = ""
        'g'
        dt.Rows.Clear()

        'h'
        TOTALJUMLAH()
    End Sub

   
    Private Sub hb073_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles hb073.TextChanged
        ju073.Text = Val(unt073.Text) * Val(hb073.Text)
    End Sub
End Class

Tidak ada komentar:

Posting Komentar