Kamis, 01 Desember 2011

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

Tidak ada komentar:

Posting Komentar