Pages

Kamis, 08 November 2012

Latihan_38_46110027


              Deskripsi Form Latihan 38
Pada form latihan 38 ada 5 object yang digunakan yaitu Label, Text Box, Button, Date Time Picker dan Data Grid View.

Object Label
Pada form ini label yang digunakan ada 6 (no. transaksi, tanggal, jenis transaksi, kode barang, nama barang, unit, harga, jumlah dan total).

Object TextBox
Pada form ini ada 8 textbox yang digunakan (6 status input dan 3 status readonly). Status input digunakan untuk memasukkan data. Data yang dimasukkan yaitu “no. transaksi, tanggal, jenis transaksi, kode barang, unit dan harga”.

Object DateTimePicker
Pada latihan 38 terdapat 1 datetimepicker. Datetimepicker digunakan dalam menginput data berupa tahun, bulan dan tanggal.

Object Button                                                          
Terdapat 2 object button (insert dan save). Tombol “insert” digunakan untuk menambah data dan tombol “save” untuk menyimpan data yang telah ditambahkan ke “Data Majemuk”.

Object DataGridView
Terdapat 1 object datagridview yang berfungsi untuk menampilkan data tabel “Data Majemuk”.

 Script Unique
Lebih lengkap dapat dilihat pada script yang ada pada langkah-langkah membuat form pada poin ke 5 dibawah ini

Even
Load
ButtonClick

Langkah-Langkah membuat Form Latihan_38
1. Buka Project yang telah dibuat sebelumnya , Pilih menu Project lalu klik add windows form
2.  Ketik nama Latihan_38  yang akan dibuat pada kotak “NAME” lalu pilih “add”
 3. Buatlah desain seperti berikut menggunakan toolbox
     


     

Klik kanan, pilih "properties" dan Beri nama pada objek di kolom "Name" kecuali pada object Label

4. Pilih menu “view” klik  “code”
5. Masukkan rumus berikut: 

Public Class Latihan_38A_46110027
    Dim rsty As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source =" & Application.StartupPath & "\Datamajemuk.ACCDB")
    Dim yosna As New DataTable
    Private Sub BATU()
        Dim TTOTAL As Integer
        For Each hasil As DataRow In yosna.Rows
            TTOTAL += hasil("Jumlah")
        Next
        tot_46110027.Text = TTOTAL
    End Sub

    Private Sub Latihan_38_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='" & notrans_46110027.Text & "'", rsty)

        'bersihkan data
        yosna.Rows.Clear()

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

        'untuk menampilkan isi datatable ke data grid view
        RINDU.Dispose()
        dgv_46110027.DataSource = yosna

        'perintah primarykey
        Dim WAHrsty(2) As DataColumn
        WAHrsty(0) = yosna.Columns("Kodebarang")
        yosna.PrimaryKey = WAHrsty
    End Sub
    Private Sub KB_46110020Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles kb_46110027.Leave
        If kb_46110027.Text.Length = 0 Then
            Exit Sub
        End If
        'mencari data yang ada di tabel
        Dim Pencari As New ByIskandar.CariKeDataBaseByIskandar
        Pencari.AturPencarianDataBase("barang", "kodebarang", kb_46110027.Text, 1, rsty)
        If Pencari.JumlanBaris > 0 Then
            nabar_46110027.Text = Pencari.DataTablenya.Rows(0).Item(1)
        Else
            MsgBox("the data is not exist, please choose from the this list")
            If Latihan_383940_46110027.ShowDialog = Windows.Forms.DialogResult.OK Then
                kb_46110027.Text = Latihan_383940_46110027.dgv1_46110027.CurrentRow.Cells("KodeBarang").Value
                nabar_46110027.Text = Latihan_383940_46110027.dgv1_46110027.CurrentRow.Cells("namabarang").Value
                h_46110027.Text = Latihan_383940_46110027.dgv1_46110027.CurrentRow.Cells("hargajual").Value
            Else
                kb_46110027.Text = ""
                nabar_46110027.Text = ""
            End If
        End If

    End Sub

    Private Sub INSERT_46110020_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles insert_46110027.Click
        'Memeriksa isi textbox
        If kb_46110027.Text.Length = 0 Then
            MsgBox("Please, insert the code of goods")
            Exit Sub
        End If

        If u_46110027.Text.Length = 0 Then
            MsgBox("Please, insert the unit of goods")
            Exit Sub
        End If

        If h_46110027.Text.Length = 0 Then
            MsgBox("Please, insert the cost of goods")
            Exit Sub
        End If

        'perintah pencarian data
        Dim CINTA As DataRow
        CINTA = yosna.Rows.Find(kb_46110027.Text)
        If Not CINTA Is Nothing Then
            MsgBox("Sorry, the data has been exist!!! Please insert new data")
            Exit Sub
        End If

        'penyimpanan data ke datatable
        yosna.Rows.Add(kb_46110027.Text, nabar_46110027.Text, Val(u_46110027.Text), Val(h_46110027.Text), jml_46110027.Text)

        BATU()

        'mengosongkan textbox
        kb_46110027.Text = ""
        nabar_46110027.Text = ""
        u_46110027.Text = ""
        h_46110027.Text = ""
        jml_46110027.Text = ""
    End Sub

    Private Sub Unit_46110020_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles u_46110027.TextChanged
        jml_46110027.Text = Val(u_46110027.Text) * Val(h_46110027.Text)
    End Sub

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

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

        If yosna.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_46110027.Text, 1, rsty)
        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 ('" & notrans_46110027.Text & "',#" & tgl_46110027.Value.Month & "/" & tgl_46110027.Value.Day & "/" & tgl_46110027.Value.Year & "#,'" & jetrans_46110027.Text & "')", rsty)
        rsty.Open()
        SABAR.ExecuteNonQuery()
        rsty.Close()

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

        Next
        SABAR.Dispose()

        'Mengosongkan isi text box
        notrans_46110027.Text = ""
        jetrans_46110027.Text = ""

        'Mengosongkan baris datatable
        yosna.Rows.Clear()

        'menutup form
        Me.Close()
    End Sub
End Class


6.    Klik start debugging
7. Maka akan tampil sbb:

8. Masukkan data transaksi  yg ada pada Latihan_383940 dan klik button "Insert", data akan tampil pada datagridview lalu pilih button "Save"





0 komentar:

Posting Komentar