Kamis, 01 Desember 2011

latihan40b


Public Class Latihan40B_36109074

    Dim krisna As New OleDb.OleDbConnection("Provider=microsoft.ACE.OLEDB.12.0;data source=" & Application.StartupPath & "\DATAMAJEMUK.accdb")
    Dim tati As New DataTable

    Public Sub ani()
        Dim K As New OleDb.OleDbDataAdapter
        K = 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= '" & notrans_074.Text & "'", krisna)
        tati.Rows.Clear()
        K.Fill(tati)
    End Sub

    Private Sub Latihan40B_36109074_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim dataPrimary(1) As DataColumn
        dataPrimary(0) = tati.Columns("NOTRANS")
        tati.PrimaryKey = dataPrimary

        dgvb_074.DataSource = tati

        TOTALJUMLAH()
    End Sub

    Public Sub TOTALJUMLAH()
        Dim TOT As Double = 0
        For Each x As DataRow In tati.Rows
            TOT = TOT + x("JUMLAH")
        Next
        tot_074.Text = TOT

    End Sub

    Private Sub dgvb_074_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgvb_074.CellEndEdit
        If dgvb_074.Columns(e.ColumnIndex).Name = "KODEBARANG" Then
            'Cari nama barang'
            dgvb_074.CurrentRow.Cells("NAMABARANG").Value = ""
            dgvb_074.CurrentRow.Cells("UNIT").Value = 0
            dgvb_074.CurrentRow.Cells("HARGA").Value = 0
            dgvb_074.CurrentRow.Cells("JUMLAH").Value = 0

            Dim Pencari As New ByIskandar.CariKeDataBaseByIskandar
            Pencari.AturPencarianDataBase("BARANG", "KODEBARANG", dgvb_074.CurrentRow.Cells("KODEBARANG").Value, 1, krisna)
            'Menampilkan nama barang jika isi kolom kodebarang ditemukan oleh proses diatas'
            If Pencari.JumlanBaris > 0 Then
                dgvb_074.CurrentRow.Cells("NAMABARANG").Value = Pencari.DataTablenya.Rows(0).Item("NAMABARANG")
            Else
                dgvb_074.CurrentRow.Cells("KODEBARANG").Value = ""
                If Latihan383940_36109074.ShowDialog = Windows.Forms.DialogResult.OK Then
                    dgvb_074.CurrentRow.Cells("KODEBARANG").Value = Latihan383940_36109074.dgv_074.CurrentRow.Cells("KODEBARANG").Value
                    dgvb_074.CurrentRow.Cells("NAMABARANG").Value = Latihan383940_36109074.dgv_074.CurrentRow.Cells("NAMABARANG").Value
                End If
            End If

        ElseIf dgvb_074.Columns(e.ColumnIndex).Name = "UNIT" Or dgvb_074.Columns(e.ColumnIndex).Name = "HARGA" Then
            'Hitung kolom jumlah'
            dgvb_074.CurrentRow.Cells("JUMLAH").Value = dgvb_074.CurrentRow.Cells("UNIT").Value * dgvb_074.CurrentRow.Cells("HARGA").Value
        End If

        TOTALJUMLAH()
    End Sub

    Private Sub Simpan_tambah()
        If notrans_074.Text.Length = 0 Then
            MsgBox("Maaf, Nomor transaksi harus diisi dulu")
            Exit Sub
        End If

        If jentr_074.Text.Length = 0 Then
            MsgBox("Maaf, Jenis transaksi harus diisi dulu")
            Exit Sub
        End If

        If tati.Rows.Count() = 0 Then
            MsgBox("Maaf, Proses tidak dapat dilanjutkan")
            Exit Sub
        End If

        If no_074.Text <> notrans_074.Text Then
            Dim pencari As New ByIskandar.CariKeDataBaseByIskandar
            pencari.AturPencarianDataBase("MASTERTRANSAKSI", "NOTRANS", notrans_074.Text, 1, krisna)
            If pencari.JumlanBaris > 0 Then
                MsgBox("Nomor transaksi sudah ada")
                Exit Sub
            End If
        End If

        Dim KS As New OleDb.OleDbCommand
        KS = New OleDb.OleDbCommand("INSERT INTO MASTERTRANSAKSI(NOTRANS, TANGGALTRANSAKSI, JENISTRANSAKSI) VALUES ('" & notrans_074.Text & "', #" & tgl_074.Value.Month & "/" & tgl_074.Value.Day & "/" & tgl_074.Value.Year & "#, '" & jentr_074.Text & "')", krisna)
        'Membuka koneksi'
        krisna.Open()
        'Eksekusi prose penyimpanan'
        KS.ExecuteNonQuery()
        'Menutup koneksi'
        krisna.Close()

        'Memeriksa isi jumlah baris dalam object tabel'
        For Each K As DataRow In tati.Rows
            'Mengatur perintah simpan'
            KS = New OleDb.OleDbCommand("INSERT INTO DETAILTRANSAKSI (NOTRANS, KODEBARANG, UNIT, HARGA) VALUES ('" & notrans_074.Text & "', '" & K("KODEBARANG") & "'," & K("UNIT") & ", " & K("HARGA") & ")", krisna)
            krisna.Open()
            KS.ExecuteNonQuery()
            krisna.Close()
            KS.Dispose()
        Next

        no_074.Text = "-"
        notrans_074.Text = ""
        jentr_074.Text = ""

        tati.Rows.Clear()

        TOTALJUMLAH()
        'Prosedur mengambil data dari Latihan40A017'
        Latihan40A_36109074.real()
    End Sub

    Private Sub Simpan_edit()
        If notrans_074.Text.Length = 0 Then
            MsgBox("Maaf, Nomor transaksi harus diisi dulu")
            Exit Sub
        End If

        If jentr_074.Text.Length = 0 Then
            MsgBox("Maaf, Jenis transaksi harus diisi dulu")
            Exit Sub
        End If

        If tati.Rows.Count() = 0 Then
            MsgBox("Maaf, Proses tidak dapat dilanjutkan")
            Exit Sub
        End If

        If no_074.Text <> notrans_074.Text Then
            Dim pencari As New ByIskandar.CariKeDataBaseByIskandar
            pencari.AturPencarianDataBase("MASTERTRANSAKSI", "NOTRANS", notrans_074.Text, 1, krisna)
            If pencari.JumlanBaris > 0 Then
                MsgBox("Nomor transaksi sudah ada")
                Exit Sub
            End If
        End If

        Dim KS As New OleDb.OleDbCommand
        KS = New OleDb.OleDbCommand("DELETE * FROM MASTERTRANSAKSI WHERE NOTRANS= '" & notrans_074.Text & "'", krisna)
        krisna.Open()
        KS.ExecuteNonQuery()
        krisna.Close()

        KS = New OleDb.OleDbCommand("INSERT INTO MASTERTRANSAKSI (NOTRANS, TANGGALTRANSAKSI, JENISTRANSAKSI) VALUES ('" & notrans_074.Text & "', #" & tgl_074.Value.Month & "/" & tgl_074.Value.Day & "/" & tgl_074.Value.Year & "#, '" & jentr_074.Text & "')", krisna)
        krisna.Open()
        KS.ExecuteNonQuery()
        krisna.Close()

        KS = New OleDb.OleDbCommand("DELETE * FROM DETAILTRANSAKSI WHERE NOTRANS= '" & notrans_074.Text & "'", krisna)
        krisna.Open()
        KS.ExecuteNonQuery()
        krisna.Close()

        'Memeriksa isi jumlah baris dalam object tabel'
        For Each KK As DataRow In tati.Rows
            'Mengatur perintah simpan'
            KS = New OleDb.OleDbCommand("INSERT INTO DETAILTRANSAKSI (NOTRANS, KODEBARANG, UNIT, HARGA) VALUES ('" & notrans_074.Text & "', '" & KK("KODEBARANG") & "', " & KK("UNIT") & ", " & KK("HARGA") & ")", krisna)
            krisna.Open()
            KS.ExecuteNonQuery()
            krisna.Close()
            KS.Dispose()
        Next

        no_074.Text = "-"
        notrans_074.Text = ""
        jentr_074.Text = ""

        tati.Rows.Clear()

        TOTALJUMLAH()
        Latihan40A_36109074.real()
    End Sub
    Private Sub smp_074_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles smp_074.Click
        If no_074.Text = "-" Then
            Simpan_tambah()
        Else
            Simpan_edit()
        End If
    End Sub
End Class

Tidak ada komentar:

Posting Komentar