Selasa, 29 November 2011

Latihan 38

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

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

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

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

    Private Sub koba059_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles koba059.TextChanged
        naba059.Text = ""
        unit.Text = ""
        harga.Text = ""
    End Sub

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

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

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

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

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

        'c'
        dr = dt.NewRow
        dr("KODEBARANG") = koba059.Text
        dr("NAMABARANG") = naba059.Text
        dr("UNIT") = unit.Text
        dr("HARGA") = harga.Text
        dr("JUMLAH") = Jum059.Text

        dt.Rows.Add(dr)

        'd'
        koba059.Text = ""
        naba059.Text = ""
        unit.Text = ""
        harga.Text = ""

        'e'
        TOTALJUMLAH()
    End Sub

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

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

        'f'
        nota059.Text = ""
        jetran.Text = ""
        Jum059.Text = ""

        'g'
        dt.Rows.Clear()

        'h'
        TOTALJUMLAH()
    End Sub
End Class

Tidak ada komentar:

Posting Komentar