Minggu, 04 November 2012

Latihan_40A dan 40B_46110037



 
Deskripsi Form Latihan 40A dan 40B
*Pada Latihan_40A_46110037 terdapat 2 object yaitu DataGridView dan Button.
*Pada Latihan_40B_46110037 Terdapat 5 object yaitu Label; DataGridView; DateTimePicker, Textbox; Buttondan ToolStrip.
Object DataGridView
*Pada Latihan_40A_46110037 terdapat 2 DataDridView yang akan menampilkan data table.
*Pada Laatihan_40B_46110037 Terdapat 1 DataGridView yang akan menampilkan data table.
Object Button
*Pada Latihan_40A_46110037 terdapat 3 button yaitu Tombol Delete, Add dan Edit. Ketika Tombol Add atau Edit di click maka Form Latihan_40B_46110037 akan muncul.
*Pada Latihan_40B_46110037 terdapat 1 button yaitu tombol Save. Apabila tombol ini diclick maka data yang di input akan tersimpan pada form yang telah ditentukan.
Object Label
*Pada Latihan_40B_46110037 terdapat 4 Label yaitu  No.Transaksi; Tanggal; Jenis Transaksi dan Total
Object StatusStrip
*Pada Latihan_40B_46110037 terdapat 1 StatusStrip yaitu No. Transaksi Lama
Object Textbox
*Pada Latihan_40B_46110037 terdapat 2 textbox yang berstatus Input yaitu  No.Transaksi; Jenis Transaksi; sedangkan Textbox yang berstatus ReadOnly Total
Script Unique
Tidak ada script unique pada latihan ini karena scriptnya hampir sama dengan Latihan-latihan sebelumnya
Even
Load
Property
Default
Langkah-Langkah Menjalankan Form Latihan 40A dan 40B
Click Start Debugging untuk menjalankan Script Latihan_40A_46110037, kemudian click tombol “Delete” maka data yang dipilih akan terhapus. Jika tombol “Add”, maka Form Latihan_40B_46110037 akan muncul, setelah itu input data pada form Latihan_40B_46110037 kemudian click tombol “Save”, maka data akan tersimpan. Click tombol “Edit” , maka Form Latihan_40B_46110037 akan muncul, kemudian ubahlah data yang ingin diedit click save untuk menyimpan data.
Langkah-langkah Menyelesaikan Form Latihan 40A dan 40B
  • Buka project yang telah dibuat.
  • Buat form baru, caranya click Project pada Toolbar pilih Add Windows Form kemudian ketik nama form yang diinginkan lalu click Add
  • Buat desain form seperti gambar di atas (Latihan_40A_46110037 dan Latihan_40B_46110037) dengan menggunakan DataGridView, Textbox, Label; StatusStrip; DateTime Picker dan Button
  • Ganti nama DataGridView, Textbox, StatusStrip; dan DateTimePicker Button di properties-Name,
  • Click Kanan pada design Latihan_40A_46110037 lalu pilih View Code kemudian buatlah Script seperti dibawah ini:
Public Class LATIHAN_40A_46110037
    Dim go As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source =" & Application.StartupPath & "\Datamajemuk.ACCDB")
    Dim INNAdetail As New DataTable
    Dim INNAmaster As New DataTable
    Dim MUTHMILDS As New DataSet
    Dim bsdetail As New BindingSource
    Dim bsmaster As New BindingSource

    Public Sub grabdata()
        INNAdetail.Rows.Clear()
        INNAmaster.Rows.Clear()

        Dim master As New OleDb.OleDbDataAdapter
        master = New OleDb.OleDbDataAdapter("select* from mastertransaksi", go)
        master.Fill(INNAmaster)
        master.Dispose()

        Dim detail As New OleDb.OleDbDataAdapter
        detail = New OleDb.OleDbDataAdapter("select* from detailtransaksi", go)
        detail.Fill(INNAdetail)
        detail.Dispose()

    End Sub

    Private Sub Latihan40a_083_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        grabdata()
        INNAmaster.TableName = "YUHA"
        INNAdetail.TableName = "RIRIN"

        Look146110037.DataSource = bsmaster
        Look246110037.DataSource = bsdetail

        MUTHMILDS.Tables.Add(INNAmaster)
        MUTHMILDS.Tables.Add(INNAdetail)

        MUTHMILDS.Relations.Add(New DataRelation("relasi", MUTHMILDS.Tables("YUHA").Columns("notrans"), MUTHMILDS.Tables("RIRIN").Columns("notrans")))

        bsmaster.DataSource = MUTHMILDS
        bsmaster.DataMember = "YUHA"
        bsdetail.DataSource = bsmaster
        bsdetail.DataMember = "relasi"
    End Sub

    Private Sub Ganti_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Ganti46110037.Click
        LATIHAN_40B_46110037.Show()
        LATIHAN_40B_46110037.replace.Text = Look146110037.CurrentRow.Cells("notrans").Value
        LATIHAN_40B_46110037.NT46110037.Text = Look146110037.CurrentRow.Cells("notrans").Value
        LATIHAN_40B_46110037.DTP46110037.Text = Look146110037.CurrentRow.Cells("tanggaltransaksi").Value
        LATIHAN_40B_46110037.JT46110037.Text = Look146110037.CurrentRow.Cells("jenistransaksi").Value
        LATIHAN_40B_46110037.makecolumn()
        LATIHAN_40B_46110037.HITUNG()
    End Sub

    Private Sub Tambah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tambah46110037.Click
        LATIHAN_40B_46110037.Show()
        LATIHAN_40B_46110037.NT46110037.Text = ""
        LATIHAN_40B_46110037.JT46110037.Text = ""
        LATIHAN_40B_46110037.replace.Text = "-"
        LATIHAN_40B_46110037.makecolumn()
    End Sub

    Private Sub Hapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Hapus46110037.Click

        If MsgBox("seriously want to delete the record???", MsgBoxStyle.YesNo) = MsgBoxResult.No Then
            Exit Sub
        End If

        Dim MOBIL As New OleDb.OleDbCommand
        MOBIL = New OleDb.OleDbCommand("delete* from mastertransaksi where notrans='" & Look146110037.CurrentRow.Cells("notrans").Value & "'", go)
        go.Open()
        MOBIL.ExecuteNonQuery()
        go.Close()

        MOBIL = New OleDb.OleDbCommand("delete* from detailtransaksi where notrans='" & Look146110037.CurrentRow.Cells("notrans").Value & "'", go)
        go.Open()
        MOBIL.ExecuteNonQuery()
        go.Close()

        grabdata()

    End Sub
End Class
  • Selesaikan juga Script pada Latihan_40B_46110037dengan cara:
  • Pilih design form Latihan_40B_46110037, kemudian Click kanan dan pilih View Code, setelah itu ketik script seperti dibawah ini:
Public Class LATIHAN_40B_46110037
    Dim Jalan As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source =" & Application.StartupPath & "\Datamajemuk.ACCDB")
    Dim INNA As New DataTable
    Dim baru(1) As DataColumn

    Public Sub HITUNG()
        Dim ttotal As Integer
        For Each hasil As DataRow In INNA.Rows
            ttotal += hasil("Jumlah")
        Next
        Total46110037.Text = ttotal
    End Sub
    Public Sub makecolumn()
        Dim MOTOR As New OleDb.OleDbDataAdapter

        MOTOR = New OleDb.OleDbDataAdapter("SELECT detailtransaksi.kodebarang,barang.namabarang,detailtransaksi.unit,detailtransaksi.harga, detailtransaksi.unit * detailtransaksi.harga as jumlah FROM DETAILTRANSAKSI inner join barang on detailtransaksi.kodebarang=barang.kodebarang where detailtransaksi.notrans='" & NT46110037.Text & "'", Jalan)

        INNA.Rows.Clear()

        MOTOR.Fill(INNA)
        MOTOR.Dispose()

        INNA.Columns("Kodebarang").DefaultValue = ""
        INNA.Columns("NamaBarang").DefaultValue = ""
        INNA.Columns("unit").DefaultValue = 0
        INNA.Columns("harga").DefaultValue = 0
        INNA.Columns("jumlah").DefaultValue = 0

        INNA.Columns("NamaBarang").ReadOnly = True


        baru(0) = INNA.Columns("kodebarang")
        INNA.PrimaryKey = baru
        Showme46110037.DataSource = INNA

    End Sub


    Private Sub LATIHAN_40B_46110037_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        makecolumn()
    End Sub

    Private Sub Showme46110037_CellEndEdit(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles Showme46110037.CellEndEdit
        If e.ColumnIndex = 0 Then
            Showme46110037.CurrentRow.Cells("NamaBarang").Value = ""
            Showme46110037.CurrentRow.Cells("Unit").Value = 0
            Showme46110037.CurrentRow.Cells("harga").Value = 0
            Showme46110037.CurrentRow.Cells("Jumlah").Value = 0

            Dim Pencari As New ByIskandar.CariKeDataBaseByIskandar
            Pencari.AturPencarianDataBase("barang", "kodebarang", Showme46110037.CurrentRow.Cells("kodebarang").Value, 1, Jalan)
            If Pencari.JumlanBaris > 0 Then
                Showme46110037.CurrentRow.Cells("kodebarang").Value = Pencari.DataTablenya.Rows(0).Item(0)
                Showme46110037.CurrentRow.Cells("namabarang").Value = Pencari.DataTablenya.Rows(0).Item(1)
            Else
                MsgBox("the data is not found")
                If LATIHAN_383940_46110037.ShowDialog = Windows.Forms.DialogResult.OK Then
                    Showme46110037.CurrentRow.Cells("kodebarang").Value = LATIHAN_383940_46110037.view46110037.CurrentRow.Cells("KodeBarang").Value
                    Showme46110037.CurrentRow.Cells("Namabarang").Value = LATIHAN_383940_46110037.view46110037.CurrentRow.Cells("namabarang").Value
                End If
            End If

        ElseIf e.ColumnIndex = 2 Or e.ColumnIndex = 3 Then
            Showme46110037.CurrentRow.Cells("jumlah").Value = Showme46110037.CurrentRow.Cells("unit").Value * Showme46110037.CurrentRow.Cells("harga").Value
            HITUNG()
        End If
    End Sub

    Private Sub Simpan46110037_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Simpan46110037.Click
        If NT46110037.Text.Length = 0 Then
            MsgBox("Please, insert the Number of the transaction")
            Exit Sub
        End If

        If JT46110037.Text.Length = 0 Then
            MsgBox("Please, insert the type of the transaction")
            Exit Sub
        End If

        If INNA.Rows.Count = 0 Then
            MsgBox("the data is none")
            Exit Sub
        End If

        If replace.Text <> NT46110037.Text Then
            Dim PENCARI As New ByIskandar.CariKeDataBaseByIskandar
            PENCARI.AturPencarianDataBase("mastertransaksi", "notrans", NT46110037.Text, 1, Jalan)

            If PENCARI.JumlanBaris > 0 Then
                MsgBox("The data has been exist please insert new data")
                Exit Sub
            End If
        End If

        Dim data As Integer = Val(replace.Text)
        Dim MOBIL As New OleDb.OleDbCommand
        MOBIL = New OleDb.OleDbCommand("delete * from mastertransaksi where notrans='" & replace.Text & "'", Jalan)
        Jalan.Open()
        MOBIL.ExecuteNonQuery()
        Jalan.Close()

        MOBIL = New OleDb.OleDbCommand("delete * from detailtransaksi where notrans='" & replace.Text & "'", Jalan)
        Jalan.Open()
        MOBIL.ExecuteNonQuery()
        Jalan.Close()

        MOBIL = New OleDb.OleDbCommand("insert into mastertransaksi (notrans,tanggaltransaksi,jenistransaksi) values ('" & NT46110037.Text & "',#" & DTP46110037.Value.Month & "/" & DTP46110037.Value.Day & "/" & DTP46110037.Value.Year & "#,'" & JT46110037.Text & "')", Jalan)
        Jalan.Open()
        MOBIL.ExecuteNonQuery()
        Jalan.Close()

        For Each MUTH As DataRow In INNA.Rows
            MOBIL = New OleDb.OleDbCommand("insert into detailtransaksi (notrans,kodebarang,unit,harga) values ('" & NT46110037.Text & "','" & MUTH("kodebarang") & "'," & MUTH("unit") & "," & MUTH("harga") & ")", Jalan)
            Jalan.Open()
            MOBIL.ExecuteNonQuery()
            Jalan.Close()

        Next
        MOBIL.Dispose()

        NT46110037.Text = ""
        JT46110037.Text = ""

        INNA.Rows.Clear()

        LATIHAN_40A_46110037.grabdata()

        Me.Close()

    End Sub
End Class
  • Save dan Click Start Debugging untuk menjalankan form

Tidak ada komentar:

Posting Komentar