Saturday, January 21, 2012

latihan39

Public Class LATIHAN39_36109013
    Dim dt As New DataTable
    Dim cm As New OleDb.OleDbCommand
    Dim fany As New ByIskandar.CariKeDataBaseByIskandar
    Dim fa As New OleDb.OleDbConnection("PROVIDER = MICROSOFT.ACE.OLEDB.12.0; DATA SOURCE =" & Application.StartupPath & "/datamajemuk.ACCDB")

    Private Sub Latihan039012_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)))
        dgv36109013.DataSource = dt

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

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

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

    End Sub

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

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

        End If

        hitung()
    End Sub

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

        If jt36109013.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

        fany.AturPencarianDataBase("mastertransaksi", "notrans", no36109013.Text, 1, fa)

        If fany.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 ('" & no36109013.Text & "',#" & tgl36109013.Value.Month & "/" & tgl36109013.Value.Day & "/" & tgl36109013.Value.Year & "#,'" & jt36109013.Text & "')", fa)

        fa.Open()
        com.ExecuteNonQuery()
        fa.Close()

        For Each r As DataRow In dt.Rows

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

            com.Dispose()

        Next

        no36109013.Text = ""
        jt36109013.Text = ""
        total36109013.Text = ""

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

No comments:

Post a Comment