Kamis, 15 Desember 2011

tugas 40

tugas 40A

Public Class Form40A_36109015
    Dim ridha As New OleDb.OleDbConnection("PROVIDER = MICROSOFT.ACE.OLEDB.12.0; DATA SOURCE =" & Application.StartupPath & "/DataMajemuk.accdb")
    Dim dt1 As New DataTable
    Dim dt2 As New DataTable
    Dim ds As New DataSet
    Dim bs1 As New BindingSource
    Dim bs2 As New BindingSource

    Public Sub risa()
        Dim ak As New OleDb.OleDbDataAdapter
        dt2.Rows.Clear()
        dt1.Rows.Clear()
        ak = New OleDb.OleDbDataAdapter("select * from mastertransaksi", ridha)
        ak.Fill(dt1)
        ak = New OleDb.OleDbDataAdapter("select detailtransaksi.notrans, barang.kodebarang, barang.namabarang, detailtransaksi.unit, detailtransaksi.harga, detailtransaksi.unit*harga as jumlah from barang inner join detailtransaksi on barang.kodebarang = detailtransaksi.kodebarang", ridha)
        ak.Fill(dt2)
    End Sub
    Private Sub Form40A_36109015_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        risa()

        ds.Tables.Add(dt1)
        ds.Tables.Add(dt2)

        dt1.TableName = "CA"
        dt2.TableName = "DO"

        ds.Relations.Add(New DataRelation("AH", ds.Tables("CA").Columns("notrans"), ds.Tables("DO").Columns("notrans")))

        bs1.DataSource = ds
        bs1.DataMember = "CA"

        bs2.DataSource = bs1
        bs2.DataMember = "AH"

        Dim DOCIL(1) As DataColumn
        DOCIL(0) = dt1.Columns("notrans")
        dt1.PrimaryKey = DOCIL

        dgv_36109015.DataSource = bs1
        dgv2_36109015.DataSource = bs2

    End Sub

    Private Sub hapus_36109015_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles hapus_36109015.Click
        Dim saleh As New OleDb.OleDbCommand
        saleh = New OleDb.OleDbCommand("delete * from mastertransaksi where notrans = '" & dgv_36109015.CurrentRow.Cells("notrans").Value & "'", ridha)
        ridha.Open()
        saleh.ExecuteNonQuery()
        ridha.Close()

        saleh = New OleDb.OleDbCommand("delete * from detailtransaksi where notrans = '" & dgv_36109015.CurrentRow.Cells("notrans").Value & "'", ridha)
        ridha.Open()
        saleh.ExecuteNonQuery()
        ridha.Close()
        saleh.Dispose()
        risa()
    End Sub

    Private Sub tambah_36109015_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tambah_36109015.Click
        If Form40B_36109015.Visible = False Then
            Form40B_36109015.Show()
        Else
            Form40B_36109015.Activate()
        End If

        Form40B_36109015.notra_36109015.Text = ""
        Form40B_36109015.jt_36109015.Text = ""
        Form40B_36109015.TS_36109015.Text = "-"

        Form40B_36109015.risa1()
        Form40B_36109015.risa2()
    End Sub

    Private Sub edit_36109015_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles edit_36109015.Click
        If Form40B_36109015.Visible = False Then
            Form40B_36109015.Show()
        Else
            Form40B_36109015.Activate()
        End If

        Form40B_36109015.notra_36109015.Text = dgv_36109015.CurrentRow.Cells("notrans").Value
        Form40B_36109015.tgl_36109015.Value = dgv_36109015.CurrentRow.Cells("tanggaltransaksi").Value
        Form40B_36109015.jt_36109015.Text = dgv_36109015.CurrentRow.Cells("jenistransaksi").Value
        Form40B_36109015.TS_36109015.Text = dgv_36109015.CurrentRow.Cells("notrans").Value

        Form40B_36109015.risa1()
        Form40B_36109015.risa2()
    End Sub
End Class

tugas 40B

Public Class Form40B_36109015
    Dim ridha As New OleDb.OleDbConnection("PROVIDER = MICROSOFT.ACE.OLEDB.12.0; DATA SOURCE =" & Application.StartupPath & "/dataMajemuk.accdb")
    Dim yanti As New DataTable
    Dim saleh As New ByIskandar.CariKeDataBaseByIskandar
    Dim OLEDB As New OleDb.OleDbCommand

    Public Sub risa1()
        Dim Ak As New OleDb.OleDbDataAdapter
        Ak = New OleDb.OleDbDataAdapter("select barang.KODEBARANG, barang.NAMABARANG, detailtransaksi.UNIT, detailtransaksi.HARGA, detailtransaksi.unit * detailtransaksi.harga as JUMLAH from barang inner join detailtransaksi on barang.kodebarang = detailtransaksi.kodebarang where notrans = '" & notra_36109015.Text & "'", ridha)
        yanti.Rows.Clear()
        Ak.Fill(yanti)
    End Sub

    Public Sub risa2()
        Dim total As Integer = 0
        For Each x As DataRow In yanti.Rows
            total += x("Jumlah")
        Next
        Tot_36109015.Text = total
    End Sub
    Private Sub risa3()
        If notra_36109015.Text.Length = 0 Then
            MsgBox("No Transaksi Belum Di isi")
            Exit Sub
        End If

        If jt_36109015.Text.Length = 0 Then
            MsgBox("Jenis Transaksi Belum Di isi")
            Exit Sub
        End If

        If yanti.Rows.Count = 0 Then
            MsgBox("Datatable Bulum Di isi")
            Exit Sub
        End If
    End Sub
    Private Sub ahkam()
        risa3()
        saleh.AturPencarianDataBase("mastertransaksi", "notrans", notra_36109015.Text, 1, ridha)
        If saleh.JumlanBaris > 0 Then
            MsgBox("No Transaksi Seperti Itu Sudah Ada")
            Exit Sub
        End If
        OLEDB = New OleDb.OleDbCommand("insert into mastertransaksi (notrans, tanggaltransaksi, jenistransaksi) values ('" & notra_36109015.Text & "',#" & tgl_36109015.Value.Month & "/" & tgl_36109015.Value.Day & "/" & tgl_36109015.Value.Year & "#,'" & jt_36109015.Text & "')", ridha)
        ridha.Open()
        OLEDB.ExecuteNonQuery()
        ridha.Close()

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

        notra_36109015.Text = ""
        jt_36109015.Text = ""
        Tot_36109015.Text = ""
        TS_36109015.Text = "-"

        yanti.Rows.Clear()
        Form40A_36109015.risa()
    End Sub
    Public Sub Edit()
        risa3()
        If notra_36109015.Text <> TS_36109015.Text Then
            saleh.AturPencarianDataBase("mastertransaksi", "notrans", notra_36109015.Text, 1, ridha)
            If saleh.JumlanBaris > 0 Then
                MsgBox("No Transaksi Seperti Itu Sudah Ada")
                Exit Sub
            End If
        End If

        OLEDB = New OleDb.OleDbCommand("delete * from mastertransaksi where notrans = '" & TS_36109015.Text & "'", ridha)
        ridha.Open()
        OLEDB.ExecuteNonQuery()
        ridha.Close()

        OLEDB = New OleDb.OleDbCommand("insert into mastertransaksi(notrans, tanggaltransaksi, jenistransaksi) values ('" & notra_36109015.Text & "',#" & tgl_36109015.Value.Month & "/" & tgl_36109015.Value.Day & "/" & tgl_36109015.Value.Year & "#,'" & jt_36109015.Text & "')", ridha)
        ridha.Open()
        OLEDB.ExecuteNonQuery()
        ridha.Close()

        OLEDB = New OleDb.OleDbCommand("delete * from detailtransaksi where notrans = '" & TS_36109015.Text & "'", ridha)
        ridha.Open()
        OLEDB.ExecuteNonQuery()
        ridha.Close()

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

        notra_36109015.Text = ""
        jt_36109015.Text = ""
        Tot_36109015.Text = ""
        TS_36109015.Text = "-"

        yanti.Rows.Clear()
        Form40A_36109015.risa()
    End Sub

    Private Sub Form40B_36109015_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        risa1()

        Dim hai(1) As DataColumn
        hai(0) = yanti.Columns("kodebarang")
        yanti.PrimaryKey = hai

        yanti.Columns("unit").DefaultValue = 0
        yanti.Columns("harga").DefaultValue = 0
        yanti.Columns("jumlah").DefaultValue = 0

        dgv_36109015.DataSource = yanti
    End Sub

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

            dgv_36109015.CurrentRow.Cells("NAMABARANG").Value = ""
            dgv_36109015.CurrentRow.Cells("UNIT").Value = 0
            dgv_36109015.CurrentRow.Cells("HARGA").Value = 0
            dgv_36109015.CurrentRow.Cells("JUMLAH").Value = 0

            saleh.AturPencarianDataBase("barang", "kodebarang", dgv_36109015.CurrentRow.Cells("KODEBARANG").Value, 1, ridha)
            If saleh.JumlanBaris > 0 Then
                dgv_36109015.CurrentRow.Cells("NAMABARANG").Value = saleh.DataTablenya.Rows(0).Item("NAMABARANG")
            Else
                dgv_36109015.CurrentRow.Cells("NAMABARANG").Value = ""
                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
                End If
            End If

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

    Private Sub simpan_36109015_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles simpan_36109015.Click
        If TS_36109015.Text = "-" Then
            ahkam()
        Else
            Edit()
        End If
    End Sub
End Class

0 komentar:

Posting Komentar