Jumat, 02 Desember 2011

LATIHAN 37

Public Class LATIHAN_037_36109075
    Dim PUTE As New OleDb.OleDbConnection("Provider=microsoft.ACE.OLEDB.12.0;data source=" & Application.StartupPath & "\DataMajemuk.accdb")
    Dim RY As New DataTable
    Dim DW As DataRow

    Private Sub LATIHAN_037_36109075_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= '" & Ntrans.Text & "'", PUTE)
        X.Fill(RY)
        X.Dispose()

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

        DGV075.DataSource = RY

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

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

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

    End Sub

    Private Sub KBR075_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KBR075.TextChanged
        NBR075.Text = ""
        U075.Text = ""
        HRG075.Text = ""

    End Sub

    Private Sub U075_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles U075.TextChanged
        JMLH075.Text = Val(U075.Text) * Val(HRG075.Text)

    End Sub

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

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

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

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

        'b'
        DW = RY.Rows.Find(KBR075.Text)

        If DW Is Nothing Then
            DW = RY.NewRow
            DW("KODEBARANG") = KBR075.Text
        Else
            MsgBox("Maaf kodebarang sudah ada")
            Exit Sub
        End If

        'c'
        DW = RY.NewRow
        DW("KODEBARANG") = KBR075.Text
        DW("NAMABARANG") = NBR075.Text
        DW("UNIT") = U075.Text
        DW("HARGA") = HRG075.Text
        DW("JUMLAH") = JMLH075.Text

        RY.Rows.Add(DW)

        'd'
        KBR075.Text = ""
        NBR075.Text = ""
        U075.Text = ""
        HRG075.Text = ""

        'e'
        TOTALJUMLAH()

    End Sub

    Private Sub SIMPAN_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SIMPAN.Click
        'a'
        If Ntrans.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 RY.Rows.Count = 0 Then
            MsgBox("Jumlah baris tidak terisi")
            Exit Sub
        End If

        'c'
        Dim pencari As New ByIskandar.CariKeDataBaseByIskandar
        pencari.AturPencarianDataBase("MASTERTRANSAKSI", "NOTRANS", Ntrans.Text, 1, PUTE)
        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 ('" & Ntrans.Text & "', #" & DTP075.Value.Month & "/" & DTP075.Value.Day & "/" & DTP075.Value.Year & "#, '" & JT075.Text & "')", PUTE)
        PUTE.Open()
        CM.ExecuteNonQuery()
        PUTE.Close()

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

        'f'
        Ntrans.Text = ""
        JT075.Text = ""
        JMLH075.Text = ""
        'g'
        RY.Rows.Clear()

        'h'
        TOTALJUMLAH()

    End Sub

    Private Sub HRG075_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles HRG075.TextChanged
        JMLH075.Text = Val(U075.Text) * Val(HRG075.Text)
    End Sub
End Class

Tidak ada komentar:

Posting Komentar