Kamis, 01 Desember 2011

latihan 40B


Public Class Form40B36109062
    Dim dt As New DataTable
    Dim urim As New ByIskandar.CariKeDataBaseByIskandar
    Dim fani As New OleDb.OleDbCommand
    Dim KJS As New OleDb.OleDbConnection("PROVIDER = MICROSOFT.ACE.OLEDB.12.0; DATA SOURCE =" & Application.StartupPath & "/DataMajemuk.ACCDB")
    Public Sub okta2()
        Dim b As New OleDb.OleDbDataAdapter
        b = New OleDb.OleDbDataAdapter(" select BARANG.KODEBARANG, BARANG.NAMABARANG,DETAILTRANSAKSI.UNIT,DETAILTRANSAKSI.HARGA, DETAILTRANSAKSI.UNIT*DETAILTRANSAKSI.HARGA AS JUMLAH from DETAILTRANSAKSI INNER JOIN BARANG ON DETAILTRANSAKSI.KODEBARANG = BARANG.KODEBARANG where notrans = '" & nt062.Text & "'", KJS)
        dt.Rows.Clear()
        b.Fill(dt)
    End Sub
    Public Sub okta3()
        Dim total As Integer = 0
        For Each x As DataRow In dt.Rows
            total += x("Jumlah")
        Next
        tot062.Text = total
    End Sub
    Private Sub okta4()
        If nt062.Text.Length = 0 Then
            MsgBox("silahkan isi transaksinya")
            Exit Sub
        End If
        If jt062.Text.Length = 0 Then
            MsgBox("silahkan isi jenis transaksinya")
            Exit Sub
        End If

        If dt.Rows.Count = 0 Then
            MsgBox("silahkan isi datatable")
            Exit Sub
        End If
    End Sub
    Private Sub tambah()
        okta4()
        urim.AturPencarianDataBase("mastertransaksi", "notrans", nt062.Text, 1, KJS)
        If urim.JumlanBaris > 0 Then
            MsgBox("Kode barang tidak ada")
            Exit Sub
        End If

        fani = New OleDb.OleDbCommand("insert into mastertransaksi ( notrans, tanggaltransaksi, jenistransaksi)values ('" & nt062.Text & "' ,#" & tt062.Value.Month & "/" & tt062.Value.Day & "/" & tt062.Value.Year & "#, '" & jt062.Text & "')", KJS)
        KJS.Open()
        fani.ExecuteNonQuery()
        KJS.Close()

        For Each x As DataRow In dt.Rows
            fani = New OleDb.OleDbCommand("insert into detailtransaksi ( notrans, kodebarang, unit, harga) values ('" & nt062.Text & "','" & x("kodebarang") & "','" & x("unit") & "','" & x("harga") & "')", KJS)
            KJS.Open()
            fani.ExecuteNonQuery()
            KJS.Close()

        Next
        fani.Dispose()

        nt062.Text = ""
        jt062.Text = ""
        tot062.Text = ""
        ff.Text = "-"


        dt.Rows.Clear()
        Form40A36109062.OKTA1()
    End Sub
    Public Sub EDIT()
        okta4()
        If nt062.Text <> ff.Text Then
            urim.AturPencarianDataBase("mastertransaksi", "notrans", nt062.Text, 1, KJS)
            If urim.JumlanBaris > 0 Then
                MsgBox("Kode barang tidak ada")
                Exit Sub
            End If
        End If
        fani = New OleDb.OleDbCommand("insert into mastertransaksi ( notrans, tanggaltransaksi, jenistransaksi)values ('" & nt062.Text & "' ,#" & tt062.Value.Month & "/" & tt062.Value.Day & "/" & tt062.Value.Year & "#, '" & jt062.Text & "')", KJS)
        KJS.Open()
        fani.ExecuteNonQuery()
        KJS.Close()

        For Each x As DataRow In dt.Rows
            fani = New OleDb.OleDbCommand("insert into detailtransaksi ( notrans, kodebarang, unit, harga) values ('" & nt062.Text & "','" & x("kodebarang") & "','" & x("unit") & "','" & x("harga") & "')", KJS)
            KJS.Open()
            fani.ExecuteNonQuery()
            KJS.Close()

        Next
        fani.Dispose()

        nt062.Text = ""
        jt062.Text = ""
        tot062.Text = ""
        ff.Text = "-"


        dt.Rows.Clear()
        Form40A36109062.OKTA1()
    End Sub

    Private Sub Form40B36109062_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        okta2()
        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

        dgv062.DataSource = dt
    End Sub


    Private Sub dgv062_cellendedit(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgv062.CellEndEdit
        If dgv062.Columns(e.ColumnIndex).Name = "KODEBARANG" Then
            'If dgv.CurrentRow.Cells(0) = "KODEBARANG" Then  (rumus lain)

            'untuk mencari nama barang
            dgv062.CurrentRow.Cells("NAMABARANG").Value = ""
            dgv062.CurrentRow.Cells("UNIT").Value = 0
            dgv062.CurrentRow.Cells("HARGA").Value = 0
            dgv062.CurrentRow.Cells("JUMLAH").Value = 0

            urim.AturPencarianDataBase("barang", "kodebarang", dgv062.CurrentRow.Cells("KODEBARANG").Value, 1, KJS)
            If urim.JumlanBaris > 0 Then  '(menampilkan nama barang jika kolom kode barang ditemukan oleh proses di atas
                dgv062.CurrentRow.Cells("NAMABARANG").Value = urim.DataTablenya.Rows(0).Item("NAMABARANG")
            Else
                dgv062.CurrentRow.Cells("NAMABARANG").Value = ""
                If Form383940_36109062.ShowDialog = Windows.Forms.DialogResult.OK Then
                    dgv062.CurrentRow.Cells("KODEBARANG").Value = Form383940_36109062.dgv062.CurrentRow.Cells("KODEBARANG").Value
                    dgv062.CurrentRow.Cells("NAMABARANG").Value = Form383940_36109062.dgv062.CurrentRow.Cells("NAMABARANG").Value
                End If
            End If

        ElseIf dgv062.Columns(e.ColumnIndex).Name = "UNIT" Or dgv062.Columns(e.ColumnIndex).Name = "HARGA" Then
            dgv062.CurrentRow.Cells("JUMLAH").Value = dgv062.CurrentRow.Cells("UNIT").Value * dgv062.CurrentRow.Cells("HARGA").Value
            okta3()
        End If
    End Sub




    Private Sub s062_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles s062.Click
        If ff.Text = "-" Then
            tambah()
        Else
            EDIT()
        End If
    End Sub

End Class








Tidak ada komentar:

Posting Komentar