Kamis, 15 Desember 2011

APKOM 4 (Latihan 39)

LATIHAN 39

Public Class Latihan39_36109005
    Dim ISMI As New OleDb.OleDbConnection("provider=microsoft.ace.oledb.12.0;data source= " & Application.StartupPath & "\DATAMAJEMUK.accdb")
    Dim DT As New DataTable
    Dim CARI As New ByIskandar.CariKeDataBaseByIskandar
    Private Sub Latihan39_36109005_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        DT.Columns.Add(New DataColumn("KODEBARANG", GetType(String)))
        DT.Columns.Add(New DataColumn("NAMABARANG", GetType(String)))
        DT.Columns.Add(New DataColumn("UNIT", GetType(Double)))
        DT.Columns.Add(New DataColumn("HARGA", GetType(Integer)))
        DT.Columns.Add(New DataColumn("JUMLAH", GetType(Double)))
        DGV_36109005.DataSource = DT

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

        DT.Columns("UNIT").DefaultValue = 0
        DT.Columns("HARGA").DefaultValue = 0
        DT.Columns("JUMLAH").DefaultValue = 0

    End Sub
    Private Sub Febriani()
        Dim Manis1 As Integer
        For Each Manis2 As DataGridViewRow In DGV_36109005.Rows
            Manis1 = Manis1 + Manis2.Cells("JUMLAH").Value
        Next
        TO_36109005.Text = Manis1

    End Sub

    Private Sub DataGridView1_CellEndEdit(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGV_36109005.CellEndEdit
        If e.ColumnIndex = 0 Then

            CARI.AturPencarianDataBase("BARANG", "kodebarang", DGV_36109005.CurrentRow.Cells("kodebarang").Value, 1, ISMI)
            If CARI.JumlanBaris > 0 Then
                DGV_36109005.CurrentRow.Cells("KODEBARANG").Value = CARI.DataTablenya.Rows(0).Item("KODEBARANG")
                DGV_36109005.CurrentRow.Cells("NAMABARANG").Value = CARI.DataTablenya.Rows(0).Item("NamaBarang")
            Else
                MsgBox("kode barang tidak tersedia")
                If Latihan38_39_40_36109005.ShowDialog = Windows.Forms.DialogResult.OK Then
                    DGV_36109005.CurrentRow.Cells("KODEBARANG").Value = Latihan38_39_40_36109005.DGV_36109005.CurrentRow.Cells("KodeBarang").Value
                    DGV_36109005.CurrentRow.Cells("NAMABARANG").Value = Latihan38_39_40_36109005.DGV_36109005.CurrentRow.Cells("namabarang").Value
                    DGV_36109005.CurrentRow.Cells("HARGA").Value = Latihan38_39_40_36109005.DGV_36109005.CurrentRow.Cells("HARGAJUAL").Value
                Else
                    DGV_36109005.CurrentRow.Cells("KODEBARANG").Value = ""
                    DGV_36109005.CurrentRow.Cells("NAMABARANG").Value = ""
                End If
            End If
        End If
        If e.ColumnIndex = 2 Or e.ColumnIndex = 3 Then
            DGV_36109005.CurrentRow.Cells("JUMLAH").Value = DGV_36109005.CurrentRow.Cells("UNIT").Value * DGV_36109005.CurrentRow.Cells("HARGA").Value

        End If

        Febriani()
    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 terisi")
            Exit Sub
        End If


        If JT_36109005.Text.Length = 0 Then
            MsgBox("jenis transaksi belum terisi")
            Exit Sub
        End If

        If DT.Rows.Count = 0 Then
            MsgBox("data tidak tersedia")
        End If

        CARI.AturPencarianDataBase("mastertransaksi", "notrans", NT_36109005.Text, 1, ISMI)

        If CARI.JumlanBaris > 0 Then
            MsgBox("kode sudah ada")
            Exit Sub
        End If

        Dim COM As New OleDb.OleDbCommand
        COM = 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()
        COM.ExecuteNonQuery()
        ISMI.Close()

        For Each r As DataRow In DT.Rows

            COM = New OleDb.OleDbCommand("insert into detailtransaksi (notrans, kodebarang, unit, harga ) values ('" & NT_36109005.Text & "','" & r("kodebarang") & "'," & r("unit") & "," & r("harga") & ")", ISMI)
            ISMI.Open()
            COM.ExecuteNonQuery()
            ISMI.Close()

            COM.Dispose()

        Next

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

        DT.Rows.Clear()
        Febriani()

    End Sub
End Class

Tidak ada komentar:

Posting Komentar