Pages

topbella

Minggu, 04 November 2012

Latihan_39_46110020


Deskripsi Form Latihan_39_46110020
Dalam form ini terdapat Tiga buah object yaitu Label, Textbox, DataGriedView, dan Button.
Object Label
Dalam form ini terdapat Empat objek Label yang bertuliskan (No. transaksi, tanggal, Jenis transaksi, dan Total).
Object TextBox
Dalam form ini terdapat Tiga objek Textbox di gunakan untuk mengisi data, Dua data yang di input dan satu untuk data di ReadOnly.
Object DateTimePicker
Dalam form ini terdapat 1 objek datetimepicker yang berfungsi untuk tampilan tanggal pada form.

Object DataGriedView
Dalam form ini terdapat satu objek DataGridView yang berfungsi untuk menampilkan data dari SQL (DataMajemuk).

Object Button
Terdapat Satu item object Button yang digunakan untuk menyimpan data yang ingin di masukkan dalam Data Majemuk.
Cara Membuat Form Latihan_39_46110020
1. Bukalah project yang anda telah buat sebelumnya
2. Pilih dan Bukalah Project dalam Visul Basic
3. Kemudian Pilih Add Windows form seperti berikut :

4. Lalu add new item dan rename file “form.vb menjadi Latihan_39_46110020”
5. Setelah namenya di rename pilih add lalu muncullah form seperti ini :
6. Kemudian mulailah membuat form 38 dengan mengunakan Label, TextBox, Button, Datetimepicker, dan Datagriedview.
7. Lalu buatlah sesuai contoh latihan 38 maka akan menjadi seperti ini :
8. Setelah form di atas telah jadi maka klik kanan lalu pilih View Code,kemudian masukkan rumus seperti berikut :
Public Class Latihan_39_46110020
    Dim YUNI As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source =" & Application.StartupPath & "\Datamajemuk.ACCDB")
    Dim AYU As New DataTable
    Private Sub BATU()
        Dim TTOTAL As Integer
        For Each hasil As DataRow In AYU.Rows
            TTOTAL += hasil("Jumlah")
        Next
        Total_46110020.Text = TTOTAL
    End Sub

    Private Sub Latihan_39_46110020_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        'mendeklarasikan kendaraan
        Dim RINDU As New OleDb.OleDbDataAdapter

        'Mengatur data yang akan di angkut
        RINDU = 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='" & NT_46110020.Text & "'", YUNI)

        'bersihkan data
        AYU.Rows.Clear()

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

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

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


        DGV_46110020.DataSource = AYU

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

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

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

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

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

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

        If AYU.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", NT_46110020.Text, 1, YUNI)
        If search.JumlanBaris > 0 Then
            MsgBox("the code has been exist")
            Exit Sub
        End If

        'Proses Penyimpanan ke tabel master transaksi
        Dim SABAR As New OleDb.OleDbCommand
        SABAR = New OleDb.OleDbCommand("insert into mastertransaksi (notrans,tanggaltransaksi,jenistransaksi) values ('" & NT_46110020.Text & "',#" & DTP_46110020.Value.Month & "/" & DTP_46110020.Value.Day & "/" & DTP_46110020.Value.Year & "#,'" & JT_46110020.Text & "')", YUNI)
        YUNI.Open()
        SABAR.ExecuteNonQuery()
        YUNI.Close()

        'penyimpanan isi datatable ke detail transaksi
        For Each YUYU As DataRow In AYU.Rows
            SABAR = New OleDb.OleDbCommand("insert into detailtransaksi (notrans,kodebarang,unit,harga) values ('" & NT_46110020.Text & "','" & YUYU("kodebarang") & "'," & YUYU("unit") & "," & YUYU("harga") & ")", YUNI)
            YUNI.Open()
            SABAR.ExecuteNonQuery()
            YUNI.Close()

        Next
        SABAR.Dispose()

        'Mengosongkan isi text box
        NT_46110020.Text = ""
        JT_46110020.Text = ""

        'Mengosongkan baris datatable
        AYU.Rows.Clear()

        'menutup form
        Me.Close()
    End Sub
End Class
9. Jalankan program dengan cara mengklik start debugging seperti berikut :
Langkah-Langkah Membuat Form Latihan _39_46110020
1.        Klik start debugging
2.      Maka data tersebut  akan tampil secara otomatis  seperti di bawah :
3.      Setelah muncul, maka isilah data-data yang anda ingin  input maka akan muncul pada kolom DataGriedView, setalah itu simpanlah pada tombol “Simpan”.
4.      Semoga Berhasil J
Script Unique
Script unik pada latihan ini sama dengan latihan sebelumnya, tatapi untuk menghitung jumlah dan total :

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


Even
Clik
CellContentClick
Load

0 komentar:

Posting Komentar

My Profile