Jumat, 02 Desember 2011

APKOM 4 (Latihan 38)

LATIHAN 38

Public Class Latihan38_36109005
    Dim DT As New DataTable
    Dim TA As New OleDb.OleDbCommand
    Dim BI As New ByIskandar.CariKeDataBaseByIskandar
    Dim ISMI As New OleDb.OleDbConnection("PROVIDER = MICROSOFT.ACE.OLEDB.12.0; DATA SOURCE =" & Application.StartupPath & "/Datamajemuk.ACCDB")
    Private Sub Latihan38_36109005_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim a As New OleDb.OleDbDataAdapter
        a = New OleDb.OleDbDataAdapter("select barang.KODEBARANG, barang.NAMABARANG, detailtransaksi.UNIT, detailtransaksi.HARGA, detailtransaksi.unit*harga as JUMLAH from barang inner join detailtransaksi on barang.kodebarang = detailtransaksi.kodebarang where notrans ='" & NT_36109005.Text & "'", ISMI)
        DT.Rows.Clear()
        a.Fill(DT)
        a.Dispose()

        Dim DC(1) As DataColumn
        DC(0) = DT.Columns("kodebarang")
        DT.PrimaryKey = DC

        DGV_36109005.DataSource = DT
    End Sub
    Private Sub IMHI()
        Dim IMHI1 As Integer = 0
        For Each IMHI2 As DataRow In DT.Rows
            IMHI1 += IMHI2("JUMLAH")
        Next
        TO_36109005.Text = IMHI1
    End Sub
    Private Sub U_36109005_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles U_36109005.TextChanged
        J_36109005.Text = Val(U_36109005.Text) * Val(H_36109005.Text)
    End Sub
    Private Sub KB_36109005_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles KB_36109005.Leave
        If KB_36109005.Text.Length = 0 Then
            Exit Sub
        End If
        BI.AturPencarianDataBase("barang", "kodebarang", KB_36109005.Text, 1, ISMI)
        If BI.JumlanBaris > 0 Then
            KB_36109005.Text = BI.DataTablenya.Rows(0).Item("KODEBARANG")
            NB_36109005.Text = BI.DataTablenya.Rows(0).Item("NAMABARANG")
        Else
            MsgBox("Kode barang itu tidak ada..")
            Exit Sub
        End If
    End Sub
    Private Sub KB_36109005_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KB_36109005.TextChanged
        NB_36109005.Text = ""
        U_36109005.Text = ""
        H_36109005.Text = ""
    End Sub
    Private Sub Tambah_36109005_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tambah_36109005.Click
        If KB_36109005.Text.Length = 0 Then
            MsgBox("Kode Barang Belum Di isi")
            Exit Sub
        End If

        If Val(U_36109005.Text) = 0 Then
            MsgBox("Kode Barang Belum Di isi")
            Exit Sub
        End If

        If Val(H_36109005.Text) = 0 Then
            MsgBox("Kode Barang Belum Di isi")
            Exit Sub
        End If

        Dim DR As DataRow
        DR = DT.Rows.Find(KB_36109005.Text)
        If DR Is Nothing Then
            DR = DT.NewRow
            DR("KODEBARANG") = KB_36109005.Text
            DR("NAMABARANG") = NB_36109005.Text
            DR("UNIT") = Val(U_36109005.Text)
            DR("HARGA") = Val(H_36109005.Text)
            DR("JUMLAH") = Val(J_36109005.Text)

            DT.Rows.Add(DR)

            KB_36109005.Text = ""
            U_36109005.Text = ""
            H_36109005.Text = ""

        Else
            MsgBox("Kode barang itu sudah ada, mohon ganti dengan kode barang yang lain...")
        End If
        IMHI()
    End Sub
    Private Sub Simpan_36109005_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Simpan_36109005.Click
        If NT_36109005.Text.Length = 0 Then
            MsgBox("No Transaksi Belum Di isi")
            Exit Sub
        End If

        If JT_36109005.Text.Length = 0 Then
            MsgBox("Jenis Transaksi Belum Di isi")
            Exit Sub
        End If

        If DT.Rows.Count = 0 Then
            MsgBox("Isi datatable")
            Exit Sub
        End If

        BI.AturPencarianDataBase("mastertransaksi", "notrans", NT_36109005.Text, 1, ISMI)
        If BI.JumlanBaris > 0 Then
            MsgBox("No Trans Seperti Itu Sudah Ada")
            Exit Sub
        End If

        TA = New OleDb.OleDbCommand("insert into mastertransaksi (notrans, tanggaltransaksi, jenistransaksi) values ('" & NT_36109005.Text & "',#" & T_36109005.Value.Month & "/" & T_36109005.Value.Day & "/" & T_36109005.Value.Year & "#,'" & JT_36109005.Text & "')", ISMI)
        ISMI.Open()
        TA.ExecuteNonQuery()
        ISMI.Close()

        For Each x As DataRow In DT.Rows
            TA = New OleDb.OleDbCommand("insert into detailtransaksi (notrans, kodebarang, unit, harga) values ('" & NT_36109005.Text & "','" & x("kodebarang") & "','" & x("unit") & "','" & x("harga") & "')", ISMI)
            ISMI.Open()
            TA.ExecuteNonQuery()
            ISMI.Close()
        Next
        TA.Dispose()

        NT_36109005.Text = ""
        JT_36109005.Text = ""

        DT.Rows.Clear()
        IMHI()
    End Sub
    Private Sub H_36109005_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles H_36109005.TextChanged
        J_36109005.Text = Val(U_36109005.Text) * Val(H_36109005.Text)
    End Sub
    Private Sub J_36109005_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles J_36109005.TextChanged
        J_36109005.Text = Val(U_36109005.Text) * Val(H_36109005.Text)
    End Sub
End Class

Tidak ada komentar:

Posting Komentar