Senin, 02 Januari 2012

apkom4 latihan 39

LATIHAN 39
Public Class latihan39_36109017
    Dim CONECT 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_36109017_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_36109017.DataSource = DT
       
        Dim dcp(1) As DataColumn
        dcp(0) = DT.Columns("KODEBARANG")
        DT.PrimaryKey = dcp

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

    End Sub

    Private Sub hitung()
        Dim uphy As Integer
        For Each r As DataGridViewRow In dgv_36109017.Rows
            uphy = uphy + r.Cells("JUMLAH").Value
        Next
        bx4_36109017.Text = uphy
    End Sub

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

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

        End If

        hitung()
    End Sub

    Private Sub btn1_36109017_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn1_36109017.Click
        If bx1_36109017.Text.Length = 0 Then
            MsgBox("no transaksi belum terisi")
            Exit Sub
        End If


        If bx3_36109017.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", bx1_36109017.Text, 1, CONECT)

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

        Dim iftah As New OleDb.OleDbCommand
        iftah = New OleDb.OleDbCommand("insert into mastertransaksi (notrans, tanggaltransaksi, jenistransaksi) values ('" & bx1_36109017.Text & "',#" & bx2_36109017.Value.Date & "#," & Val(bx3_36109017.Text) & ")", CONECT)

        CONECT.Open()
        iftah.ExecuteNonQuery()
        CONECT.Close()

        For Each r As DataRow In DT.Rows

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

            iftah.Dispose()

        Next

        bx1_36109017.Text = ""
        bx3_36109017.Text = ""
        bx4_36109017.Text = ""

        DT.Rows.Clear()
        hitung()
    End Sub
End Class

0 komentar:

:a: :b: :c: :d: :e: :f: :g: :h: :i: :j: :k: :l: :m: :n:

Posting Komentar