Saturday, January 21, 2012

latihan 40

Public Class LATIHAN40A_36109013
    Dim fany 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 uppa1()
        Dim S As New OleDb.OleDbDataAdapter
        DT2.Rows.Clear()
        DT1.Rows.Clear()

        S = New OleDb.OleDbDataAdapter("select * from mastertransaksi", fany)
        DT1.Rows.Clear()
        S.Fill(DT1)
        S = 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", fany)
        S.Fill(DT2)
    End Sub

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

        DS.Tables.Add(DT1)
        DS.Tables.Add(DT2)

        DT1.TableName = "fa"
        DT2.TableName = "fa2"

        DS.Relations.Add(New DataRelation("S", DS.Tables("fa").Columns("notrans"), DS.Tables("fa2").Columns("notrans")))

        BS1.DataSource = DS
        BS1.DataMember = "fa"

        BS2.DataSource = BS1
        BS2.DataMember = "S"

        Dim DC(1) As DataColumn
        DC(0) = DT1.Columns("notrans")
        DT1.PrimaryKey = DC

        dgv1_36109013.DataSource = BS1
        dgv2_36109013.DataSource = BS2

    End Sub

    Private Sub hapus36109013_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles hapus36109013.Click
        Dim COM As New OleDb.OleDbCommand
        COM = New OleDb.OleDbCommand("delete * from mastertransaksi where notrans = '" & dgv1_36109013.CurrentRow.Cells("notrans").Value & "'", fany)
        fany.Open()
        COM.ExecuteNonQuery()
        fany.Close()

        COM = New OleDb.OleDbCommand("delete * from detailtransaksi where notrans = '" & dgv1_36109013.CurrentRow.Cells("notrans").Value & "'", fany)
        fany.Open()
        COM.ExecuteNonQuery()
        fany.Close()
        COM.Dispose()
        uppa1()
    End Sub
    Private Sub tambah36109013_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tambah36109013.Click
        If LATIHAN40B_36109013.Visible = False Then
            LATIHAN40B_36109013.Show()
        Else
            LATIHAN40B_36109013.Activate()
        End If

        LATIHAN40B_36109013.no36109013.Text = ""
        LATIHAN40B_36109013.jt36109013.Text = ""
        LATIHAN40B_36109013.notran36109013.Text = "-"

        LATIHAN40B_36109013.uppa2()
        LATIHAN40B_36109013.uppa3()


    End Sub

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

        LATIHAN40B_36109013.no36109013.Text = dgv1_36109013.CurrentRow.Cells("notrans").Value
        LATIHAN40B_36109013.tgl36109013.Value = dgv1_36109013.CurrentRow.Cells("tanggaltransaksi").Value
        LATIHAN40B_36109013.jt36109013.Text = dgv1_36109013.CurrentRow.Cells("jenistransaksi").Value
        LATIHAN40B_36109013.notran36109013.Text = dgv1_36109013.CurrentRow.Cells("notrans").Value

        LATIHAN40B_36109013.uppa2()
        LATIHAN40B_36109013.uppa3()

    End Sub
End Class



Public Class LATIHAN40B_36109013
    Dim fany As New OleDb.OleDbConnection("PROVIDER = MICROSOFT.ACE.OLEDB.12.0; DATA SOURCE =" & Application.StartupPath & "/dataMajemuk.accdb")
    Dim DT As New DataTable
    Dim fa As New ByIskandar.CariKeDataBaseByIskandar
    Dim COM As New OleDb.OleDbCommand
    Public Sub uppa2()
        Dim S As New OleDb.OleDbDataAdapter
        S = 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 = '" & no36109013.Text & "'", fany)
        DT.Rows.Clear()
        S.Fill(DT)
        S.Dispose()
    End Sub
    Public Sub uppa3()
        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 uppa4()
        If no36109013.Text.Length = 0 Then
            MsgBox("No Transaksi Belum Di isi")
            Exit Sub
        End If

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

        If DT.Rows.Count = 0 Then
            MsgBox("Datatable Bulum Di isi")
            Exit Sub
        End If
    End Sub
    Private Sub nur()
        uppa4()
        fa.AturPencarianDataBase("mastertransaksi", "notrans", no36109013.Text, 1, fany)
        If fa.JumlanBaris > 0 Then
            MsgBox("No Transaksi Seperti Itu Sudah Ada")
            Exit Sub
        End If

        COM = New OleDb.OleDbCommand("insert into mastertransaksi (notrans, tanggaltransaksi, jenistransaksi) values ('" & no36109013.Text & "',#" & tgl36109013.Value.Month & "/" & tgl36109013.Value.Day & "/" & tgl36109013.Value.Year & "#,'" & jt36109013.Text & "')", fany)
        fany.Open()
        COM.ExecuteNonQuery()
        fany.Close()

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

        no36109013.Text = ""
        jt36109013.Text = ""
        total36109013.Text = ""
        notran36109013.Text = "-"

        DT.Rows.Clear()
        LATIHAN40A_36109013.uppa1()
    End Sub
    Public Sub Edit()
        uppa4()
        If no36109013.Text <> notran36109013.Text Then
            fa.AturPencarianDataBase("mastertransaksi", "notrans", no36109013.Text, 1, fany)
            If fa.JumlanBaris > 0 Then
                MsgBox("No Transaksi Seperti Itu Sudah Ada")
                Exit Sub
            End If
        End If

        COM = New OleDb.OleDbCommand("delete * from mastertransaksi where notrans = '" & notran36109013.Text & "'", fany)
        fany.Open()
        COM.ExecuteNonQuery()
        fany.Close()

        COM = New OleDb.OleDbCommand("insert into mastertransaksi(notrans, tanggaltransaksi, jenistransaksi) values ('" & no36109013.Text & "',#" & tgl36109013.Value.Month & "/" & tgl36109013.Value.Day & "/" & tgl36109013.Value.Year & "#,'" & jt36109013.Text & "')", fany)
        fany.Open()
        COM.ExecuteNonQuery()
        fany.Close()

        COM = New OleDb.OleDbCommand("delete * from detailtransaksi where notrans = '" & notran36109013.Text & "'", fany)
        fany.Open()
        COM.ExecuteNonQuery()
        fany.Close()

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

        no36109013.Text = ""
        jt36109013.Text = ""
        total36109013.Text = ""
        notran36109013.Text = "-"

        DT.Rows.Clear()
        LATIHAN40A_36109013.uppa1()
    End Sub
    Private Sub LATIHAN40B_36109013_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        uppa2()

        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

        dgv36109013.DataSource = DT

    End Sub
    Private Sub dgv36109013_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgv36109013.CellEndEdit
        If dgv36109013.Columns(e.ColumnIndex).Name = "KODEBARANG" Then

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

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

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

    Private Sub simpan36109013_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles simpan36109013.Click
        If notran36109013.Text = "-" Then
            nur()
        Else
            Edit()
            uppa3()
        End If
    End Sub
  
End Class

No comments:

Post a Comment