LATIHAN 35 - 37 APKOM 4

 LATIHAN 35

Public Class Form35_36109010
    Dim rusna As New ByIskandar.CariKeDataBaseByIskandar
    Dim ningsi As New DataTable
    Dim soe As New OleDb.OleDbCommand
    Dim mickey As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" & Application.StartupPath & "\DataMajemuk.accdb'")

    Private Sub Form35_36109010_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim r As New OleDb.OleDbDataAdapter
        r = New OleDb.OleDbDataAdapter("select KODEBARANG, UNIT, HARGA from detailtransaksi where notrans = '" & nt_36109010.Text & "'", mickey)
        r.Fill(ningsi)
        r.Dispose()

        dgv.DataSource = ningsi
    End Sub
   
    Private Sub gg_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tambah.Click
        If kb_36109010.Text.Length = 0 Then
            MsgBox("kode barang tidak terisi")
        ElseIf Val(unit_36109010.Text) = 0 Then
            MsgBox("unit tidak terisi")
        ElseIf Val(harga_36109010.Text) = 0 Then
            MsgBox("harga barang tidak terisi")
            Exit Sub
        End If

        Dim dt As DataRow
        dt = ningsi.NewRow
        dt("KODEBARANG") = kb_36109010.Text
        dt("UNIT") = unit_36109010.Text
        dt("HARGA") = harga_36109010.Text

        ningsi.Rows.Add(dt)

        kb_36109010.Text = ""
        unit_36109010.Text = ""
        harga_36109010.Text = ""
    End Sub
  
    Private Sub hh_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles simpan.Click
        If nt_36109010.Text.Length = 0 Then
            MsgBox("nomor transaksi harus terisi")
        ElseIf jt_36109010.Text.Length = 0 Then
            MsgBox("Isi rong Jenis Transaksi na..")
        ElseIf ningsi.Rows.Count = 0 Then
            MsgBox("data table tidak boleh kosong")
            Exit Sub
        End If

        rusna.AturPencarianDataBase("mastertransaksi", "notrans", nt_36109010.Text, 1, mickey)
        If rusna.JumlanBaris > 0 Then
            MsgBox("nomor transaksi telah ada")
            Exit Sub
        End If

        soe = New OleDb.OleDbCommand("insert into mastertransaksi(notrans, tanggaltransaksi, jenistransaksi) values ('" & nt_36109010.Text & "',#" & tgl_36109010.Value.Month & "/" & tgl_36109010.Value.Day & "/" & tgl_36109010.Value.Year & "#,'" & jt_36109010.Text & "')", mickey)
        mickey.Open()
        soe.ExecuteNonQuery()
        mickey.Close()

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

        nt_36109010.Text = ""
        jt_36109010.Text = ""

        ningsi.Rows.Clear()
    End Sub
End Class
---------------------------------------------------------

 LATIHAN 36

 Public Class Form36_36109010
    Dim rusna As New ByIskandar.CariKeDataBaseByIskandar
    Dim ningsi As New DataTable
    Dim soe As New OleDb.OleDbCommand
    Dim mickey As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" & Application.StartupPath & "\DataMajemuk.accdb'")

    Private Sub Form36_36109010_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim r As New OleDb.OleDbDataAdapter
        r = New OleDb.OleDbDataAdapter("select KODEBARANG, UNIT, HARGA from detailtransaksi where notrans = '" & nt_36109010.Text & "'", mickey)
        r.Fill(ningsi)
        r.Dispose()

        dgv.DataSource = ningsi
        Dim dc(1) As DataColumn
        dc(0) = ningsi.Columns("kodebarang")
        ningsi.PrimaryKey = dc
    End Sub

    Private Sub gg_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        If kb_36109010.Text.Length = 0 Then
            MsgBox("kode barang tidak terisi")
        ElseIf Val(unit_36109010.Text) = 0 Then
            MsgBox("unit tidak terisi")
        ElseIf Val(harga_36109010.Text) = 0 Then
            MsgBox("harga barang tidak terisi")
            Exit Sub
        End If

        Dim dt As DataRow
        dt = ningsi.NewRow
        dt("KODEBARANG") = kb_36109010.Text
        dt("UNIT") = unit_36109010.Text
        dt("HARGA") = harga_36109010.Text

        ningsi.Rows.Add(dt)

        kb_36109010.Text = ""
        unit_36109010.Text = ""
        harga_36109010.Text = ""
    End Sub

    Private Sub hh_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        If nt_36109010.Text.Length = 0 Then
            MsgBox("nomor transaksi harus terisi")
        ElseIf jt_36109010.Text.Length = 0 Then
            MsgBox("Isi rong Jenis Transaksi na..")
        ElseIf ningsi.Rows.Count = 0 Then
            MsgBox("data table tidak boleh kosong")
            Exit Sub
        End If

        rusna.AturPencarianDataBase("mastertransaksi", "notrans", nt_36109010.Text, 1, mickey)
        If rusna.JumlanBaris > 0 Then
            MsgBox("nomor transaksi telah ada")
            Exit Sub
        End If

        soe = New OleDb.OleDbCommand("insert into mastertransaksi(notrans, tanggaltransaksi, jenistransaksi) values ('" & nt_36109010.Text & "',#" & tgl_36109010.Value.Month & "/" & tgl_36109010.Value.Day & "/" & tgl_36109010.Value.Year & "#,'" & jt_36109010.Text & "')", mickey)
        mickey.Open()
        soe.ExecuteNonQuery()
        mickey.Close()

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

        nt_36109010.Text = ""
        jt_36109010.Text = ""

        ningsi.Rows.Clear()
    End Sub
End Class


 LATIHAN 37
Public Class Form37_36109010
    Dim DT As New DataTable
    Dim TA As New OleDb.OleDbCommand
    Dim BI As New ByIskandar.CariKeDataBaseByIskandar
    Dim ISMI As New OleDb.OleDbConnection("PROVIDER = MICROSOFT.ACE.OLEDB.12.0; DATA SOURCE =" & Application.StartupPath & "/Datamajemuk.ACCDB")

    Private Sub Form37_36109010_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim a As New OleDb.OleDbDataAdapter
        a = New OleDb.OleDbDataAdapter("select barang.KODEBARANG, barang.NAMABARANG, detailtransaksi.UNIT, detailtransaksi.HARGA, detailtransaksi.unit*harga as JUMLAH from barang inner join detailtransaksi on barang.kodebarang = detailtransaksi.kodebarang where notrans ='" & NT_36109010.Text & "'", ISMI)
        DT.Rows.Clear()
        a.Fill(DT)
        a.Dispose()

        Dim DC(1) As DataColumn
        DC(0) = DT.Columns("kodebarang")
        DT.PrimaryKey = DC

        dgv_36109010.DataSource = DT
    End Sub
    Private Sub IMHI()
        Dim IMHI1 As Integer = 0
        For Each IMHI2 As DataRow In DT.Rows
            IMHI1 += IMHI2("JUMLAH")
        Next
        Total.Text = IMHI1
    End Sub

    Private Sub UNIT_36109010_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles UNIT_36109010.TextChanged
        jumlah_36109010.Text = Val(UNIT_36109010.Text) * Val(Harga_36109010.Text)
    End Sub

    Private Sub KB_36109010_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KB_36109010.TextChanged
        If KB_36109010.Text.Length = 0 Then
            Exit Sub
        End If
        BI.AturPencarianDataBase("barang", "kodebarang", KB_36109010.Text, 1, ISMI)
        If BI.JumlanBaris > 0 Then
            KB_36109010.Text = BI.DataTablenya.Rows(0).Item("KODEBARANG")
            NB_36109010.Text = BI.DataTablenya.Rows(0).Item("NAMABARANG")
        Else
            MsgBox("Kode barang itu tidak ada..")
            Exit Sub
        End If
    End Sub
    Private Sub KB_36109005_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KB_36109010.TextChanged
        NB_36109010.Text = ""
        UNIT_36109010.Text = ""
        Harga_36109010.Text = ""
    End Sub

    Private Sub tambah_36109010_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tambah_36109010.Click
        If KB_36109010.Text.Length = 0 Then
            MsgBox("Kode Barang Belum Di isi")
            Exit Sub
        End If

        If Val(UNIT_36109010.Text) = 0 Then
            MsgBox("Kode Barang Belum Di isi")
            Exit Sub
        End If

        If Val(Harga_36109010.Text) = 0 Then
            MsgBox("Kode Barang Belum Di isi")
            Exit Sub
        End If

        Dim DR As DataRow
        DR = DT.Rows.Find(KB_36109010.Text)
        If DR Is Nothing Then
            DR = DT.NewRow
            DR("KODEBARANG") = KB_36109010.Text
            DR("NAMABARANG") = NB_36109010.Text
            DR("UNIT") = Val(UNIT_36109010.Text)
            DR("HARGA") = Val(Harga_36109010.Text)
            DR("JUMLAH") = Val(jumlah_36109010.Text)

            DT.Rows.Add(DR)

            KB_36109010.Text = ""
            UNIT_36109010.Text = ""
            Harga_36109010.Text = ""

        Else
            MsgBox("Kode barang itu sudah ada, mohon ganti dengan kode barang yang lain...")
        End If
        IMHI()
    End Sub

    Private Sub simpan_36109010_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles simpan_36109010.Click
        If NT_36109010.Text.Length = 0 Then
            MsgBox("No Transaksi Belum Di isi")
            Exit Sub
        End If

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

        If DT.Rows.Count = 0 Then
            MsgBox("Isi datatable")
            Exit Sub
        End If

        BI.AturPencarianDataBase("mastertransaksi", "notrans", NT_36109010.Text, 1, ISMI)
        If BI.JumlanBaris > 0 Then
            MsgBox("No Trans Seperti Itu Sudah Ada")
            Exit Sub
        End If

        TA = New OleDb.OleDbCommand("insert into mastertransaksi (notrans, tanggaltransaksi, jenistransaksi) values ('" & NT_36109010.Text & "',#" & tgl_36109010.Value.Month & "/" & tgl_36109010.Value.Day & "/" & tgl_36109010.Value.Year & "#,'" & JT_36109010.Text & "')", ISMI)
        ISMI.Open()
        TA.ExecuteNonQuery()
        ISMI.Close()

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

        NT_36109010.Text = ""
        JT_36109010.Text = ""

        DT.Rows.Clear()
        IMHI()
    End Sub

    Private Sub Harga_36109010_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Harga_36109010.TextChanged
        jumlah_36109010.Text = Val(UNIT_36109010.Text) * Val(Harga_36109010.Text)
    End Sub

    Private Sub jumlah_36109010_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles jumlah_36109010.TextChanged
        jumlah_36109010.Text = Val(UNIT_36109010.Text) * Val(Harga_36109010.Text)
    End Sub
End Class



0 komentar:

Posting Komentar