Minggu, 28 Oktober 2012

Latihan_39_36110046

Deskripsi & Prosedur Form Latihan_39_36110046

Deskripsi Form Latihan_39_36110046

 

Pada Form Latihan 39 terdapat 5 object, yaitu button, label, datetimepicker, datagridview dan textbox.

Object Pada Form
Object Button
Terdapat 2 objek button (seperti terlihat gambar di atas)
Object Label
Terdapat 4 objek label (seperti terlihat gambar di atas)
Object DateTimePicker
Terdapat 1 objek label (seperti terlihat gambar di atas)
Object DataGridview
Terdapat 1 objek label (seperti terlihat gambar di atas)
Object Textbox
Terdapat 3 objek textbox (seperti terlihat gambar di atas)

Script Unique
-

Event
ButtonClick
TextChanged

Property
ReadOnly

Prosedur Form Latihan_39_36110046




Langkah-langkah mengerjakan Latihan 39, sbb:
1.        Buka Ms. Visual Studio
2.        Klik Create Project
3.        Ketik nama file yang ingin disimpan
4.        Akan terbuka jendela pekerjaan Ms. Visual Studio
5.        Design form dengan menggunakan tools pada toolbox
6.        Buat  objek semua objek sesuai dengan design pada latihan 39 dengan toolbox, ikuti gambar dibawah ini:

7.        Setelah design sudah bagus, saatnya untuk membuat script
8.        Buat script prosedur sendiri seperti dibawah ini:
Public Class Latihan_39_36110046
    Dim Connect As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source =" & Application.StartupPath & "\DataMajemuk.ACCDB")
    Dim Table As New DataTable
    Private Sub botto()
        Dim ttotal As Integer
        For Each hasil As DataRow In Table.Rows
            ttotal += hasil("Jumlah")
        Next
        TOTAL_36110046.Text = ttotal
    End Sub
    Private Sub Latihan_39_3610046_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'mendeklarasikan kendaraan
        Dim adapter As New OleDb.OleDbDataAdapter

        'Mengatur data yang akan di angkut
        adapter = 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='" & NOTRANS_36110046.Text & "'", Connect)

        'bersihkan data
        Table.Rows.Clear()

        'untuk memasukkan data yg telah di angkut ke dalam datatable
        adapter.Fill(Table)
        adapter.Dispose()

        'untuk menampilkan isi datatable ke data grid view
        Table.Columns("Kodebarang").DefaultValue = ""
        Table.Columns("NamaBarang").DefaultValue = ""
        Table.Columns("unit").DefaultValue = 0
        Table.Columns("harga").DefaultValue = 0
        Table.Columns("jumlah").DefaultValue = 0

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


        DGV_36110046.DataSource = Table

        'perintah primarykey
        Dim kolom(2) As DataColumn
        kolom(0) = Table.Columns("Kodebarang")
        Table.PrimaryKey = kolom
    End Sub

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

            'mencari data yang ada di tabel
            Dim Pencari As New ByIskandar.CariKeDataBaseByIskandar
            Pencari.AturPencarianDataBase("barang", "kodebarang", DGV_36110046.CurrentRow.Cells("kodebarang").Value, 1, Connect)
            If Pencari.JumlanBaris > 0 Then
                DGV_36110046.CurrentRow.Cells("kodebarang").Value = Pencari.DataTablenya.Rows(0).Item(0)
                DGV_36110046.CurrentRow.Cells("namabarang").Value = Pencari.DataTablenya.Rows(0).Item(1)
            Else
                MsgBox("the data is not found")
                If Latihan_383940_36110046.ShowDialog = Windows.Forms.DialogResult.OK Then
                    DGV_36110046.CurrentRow.Cells("kodebarang").Value = Latihan_383940_36110046.DGV_36110046.CurrentRow.Cells("KodeBarang").Value
                    DGV_36110046.CurrentRow.Cells("Namabarang").Value = Latihan_383940_36110046.DGV_36110046.CurrentRow.Cells("namabarang").Value
                End If
            End If

            'mengitung jumlah dan total
        ElseIf e.ColumnIndex = 2 Or e.ColumnIndex = 3 Then
            DGV_36110046.CurrentRow.Cells("jumlah").Value = DGV_36110046.CurrentRow.Cells("unit").Value * DGV_36110046.CurrentRow.Cells("harga").Value
            botto()
        End If
    End Sub

    Private Sub SIMPAN_36110046_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SIMPAN_36110046.Click
        'Memeriksa isi textbox
        If NOTRANS_36110046.Text.Length = 0 Then
            MsgBox("Please, insert the Number of the transaction")
            Exit Sub
        End If

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

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

        'Memeriksa nomor transaksi pd master transaksi
        Dim search As New ByIskandar.CariKeDataBaseByIskandar
        search.AturPencarianDataBase("mastertransaksi", "notrans", NOTRANS_36110046.Text, 1, Connect)
        If search.JumlanBaris > 0 Then
            MsgBox("the code has been exist")
            Exit Sub
        End If

        'Proses Penyimpanan ke tabel master transaksi
        Dim QP As New OleDb.OleDbCommand
        QP = New OleDb.OleDbCommand("insert into mastertransaksi (notrans,tanggaltransaksi,jenistransaksi) values ('" & NOTRANS_36110046.Text & "',#" & TGL_36110046.Value.Month & "/" & TGL_36110046.Value.Day & "/" & TGL_36110046.Value.Year & "#,'" & JNSTRANS_36110046.Text & "')", Connect)
        Connect.Open()
        QP.ExecuteNonQuery()
        Connect.Close()

        'penyimpanan isi datatable ke detail transaksi
        For Each baris As DataRow In Table.Rows
            QP = New OleDb.OleDbCommand("insert into detailtransaksi (notrans,kodebarang,unit,harga) values ('" & NOTRANS_36110046.Text & "','" & baris("kodebarang") & "'," & baris("unit") & "," & baris("harga") & ")", Connect)
            Connect.Open()
            QP.ExecuteNonQuery()
            Connect.Close()

        Next
        QP.Dispose()

        'Mengosongkan isi text box
        NOTRANS_36110046.Text = ""
        JNSTRANS_36110046.Text = ""

        'Mengosongkan baris datatable
        Table.Rows.Clear()

        'menutup form
        Me.Close()

    End Sub
End Class
9.        Silahkan jalankan program anda. Wassalam.

Tidak ada komentar:

Posting Komentar