Kamis, 15 Desember 2011

tugas 39

Public Class Form39_36109015

    Dim ridha As New DataTable
    Dim yanti As New ByIskandar.CariKeDataBaseByIskandar
    Dim saleh As New OleDb.OleDbConnection("provider=microsoft.ace.oledb.12.0;data source= " & Application.StartupPath & "\DATAMAJEMUK.accdb;Jet OLEDB:Database Password=25")
    Private Sub Form39_36109015_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ridha.Columns.Add(New DataColumn("KODEBARANG", GetType(String)))
        ridha.Columns.Add(New DataColumn("NAMABARANG", GetType(String)))
        ridha.Columns.Add(New DataColumn("UNIT", GetType(Double)))
        ridha.Columns.Add(New DataColumn("HARGA", GetType(Integer)))
        ridha.Columns.Add(New DataColumn("JUMLAH", GetType(Double)))
        dgv_36109015.DataSource = ridha

        Dim risa(1) As DataColumn
        risa(0) = ridha.Columns("KODEBARANG")
        ridha.PrimaryKey = risa

        ridha.Columns("UNIT").DefaultValue = 0
        ridha.Columns("HARGA").DefaultValue = 0
        ridha.Columns("JUMLAH").DefaultValue = 0
    End Sub
    Private Sub account()
        Dim ahmad As Integer
        For Each ahkam As DataGridViewRow In dgv_36109015.Rows
            ahmad = ahmad + ahkam.Cells("JUMLAH").Value
        Next
        TOT_36109015.Text = ahmad
    End Sub

    Private Sub dgv_36109015_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgv_36109015.CellContentClick
        If e.ColumnIndex = 0 Then

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

        End If

        account()
    End Sub

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


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

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

        yanti.AturPencarianDataBase("mastertransaksi", "notrans", notrans_36109015.Text, 1, saleh)

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

        Dim ahkam As New OleDb.OleDbCommand
        ahkam = New OleDb.OleDbCommand("insert into mastertransaksi (notrans, tanggaltransaksi, jenistransaksi) values ('" & notrans_36109015.Text & "',#" & TGL_36109015.Value.Month & "/" & TGL_36109015.Value.Day & "/" & TGL_36109015.Value.Year & "#, '" & JT_36109015.Text & "')", saleh)
        saleh.Open()
        ahkam.ExecuteNonQuery()
        saleh.Close()

        For Each LA As DataRow In ridha.Rows
            ahkam = New OleDb.OleDbCommand("insert into detailtransaksi (notrans, kodebarang, unit, harga ) values ('" & notrans_36109015.Text & "','" & LA("kodebarang") & "'," & LA("unit") & "," & LA("harga") & ")", saleh)
            saleh.Open()
            ahkam.ExecuteNonQuery()
            saleh.Close()
        Next
        ahkam.Dispose()

        notrans_36109015.Text = ""
        JT_36109015.Text = ""

        ridha.Rows.Clear()

        account()
    End Sub
End Class

0 komentar:

Posting Komentar