Halaman

Jumat, 18 Januari 2013

Latihan_38_46110055


Deskripsi Form Latihan 38

Pada Form latihan 38 Terdapat 5 object yaitu Label; DataGridView; DateTimePicker, Textbox dan Button.

Object Label
Terdapat 6 Label yaitu  No.Transaksi; Tanggal; Jenis Transaksi; Kode Barang; Nama Barang; Unit; Harga; Jumlah dan Total

Object DataGridView
Terdapat 1 DataGridView yang akan menampilkan data table.

Object DateTimePicker
Terdapat 1 DateTimePicker yaitu Tanggal.

Object Textbox
Terdapat 6 textbox yang berstatus Input yaitu  No.Transaksi; Jenis Transaksi; Kode Barang; Unit; Harga dan Total, sedangkan Textbox yang berstatus ReadOnly Nama Barang dan Jumlah

Object Button
Terdapat 2 button yaitu Tombol Insert dan Save. Ketika Tombol Insert di click maka akan menambah data yang diinput kedalam data table yang muncul pada datagridview . Ketika tombol Save diclick maka data yang ada di data table akan tersimpan di data access.

Script Unique
Tidak ada Script Unique pada latihan ini karena hampir sama dengan latihan sebelumnya.

Even
Load, click

Property
TextBox -> ReadOnly

Langkah-langkah membuat Latihan 38:

1. Buka  Microsoft Visual Studio 2008
2. Setelah itu  pilih “kumpulan_Latihan_46110055” (sesuai dengan nama file anda)


3. Pilih menu Project lalu klik add windows form


4. Ketik nama latihan yang akan dibuat pada kotak “NAME”  (namun jangan menghapus nama .vb) setelah itu pilih “add”.


5. Buatlah desain sesuai dengan yang diperintahkan soal “Latihan 38”


6. Setelah itu beri teks pada label dan buatlah DataGridview, DateTimePicker, Textbox dan Button, serta ganti nama design yang diakhiri nim anda pada semua object,kecuali label.



7. Pilih menu “view” klik  “code”.
8. Masukkan rumus/script berikut :

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

    Private Sub Latihan_38_46110055_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.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='" & NT46110055.Text & "'", FEBI)

        'bersihkan data
        FEB.Rows.Clear()

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

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

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

    Private Sub KB46110055_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KB46110055.TextChanged
        If KB46110055.Text.Length = 0 Then
            Exit Sub
        End If
        'mencari data yang ada di tabel
        Dim Pencari As New ByIskandar.CariKeDataBaseByIskandar
        Pencari.AturPencarianDataBase("barang", "kodebarang", KB46110055.Text, 1, FEBI)
        If Pencari.JumlanBaris > 0 Then
            NB46110055.Text = Pencari.DataTablenya.Rows(0).Item(1)
        Else
            MsgBox("the data is not exist, please choose from the this list")
            If Latihan_383940_46110055.ShowDialog = Windows.Forms.DialogResult.OK Then
                KB46110055.Text = Latihan_383940_46110055.DGV46110055.CurrentRow.Cells("KodeBarang").Value
                NB46110055.Text = Latihan_383940_46110055.DGV46110055.CurrentRow.Cells("namabarang").Value
                Harga46110055.Text = Latihan_383940_46110055.DGV46110055.CurrentRow.Cells("hargajual").Value
            Else
                KB46110055.Text = ""
                NB46110055.Text = ""
            End If
        End If
    End Sub

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

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

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

        'perintah pencarian data
        Dim CINTA As DataRow
        CINTA = FEB.Rows.Find(KB46110055.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
        FEB.Rows.Add(KB46110055.Text, NB46110055.Text, Val(Unit46110055.Text), Val(Harga46110055.Text), Jumlah46110055.Text)

        BATU()

        'mengosongkan textbox
        KB46110055.Text = ""
        NB46110055.Text = ""
        Unit46110055.Text = ""
        Harga46110055.Text = ""
        Jumlah46110055.Text = ""
    End Sub



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

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

        If FEB.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", NT46110055.Text, 1, FEBI)
        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 ('" & NT46110055.Text & "',#" & DTP46110055.Value.Month & "/" & DTP46110055.Value.Day & "/" & DTP46110055.Value.Year & "#,'" & JT46110055.Text & "')", FEBI)
        FEBI.Open()
        SABAR.ExecuteNonQuery()
        FEBI.Close()

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

        Next
        SABAR.Dispose()

        'Mengosongkan isi text box
        NT46110055.Text = ""
        JT46110055.Text = ""

        'Mengosongkan baris datatable
        FEB.Rows.Clear()

        'menutup form
        Me.Close()
    End Sub


    Private Sub HARGA46110055_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Unit46110055.TextChanged
        Jumlah46110055.Text = Val(Unit46110055.Text) * Val(Harga46110055.Text)
    End Sub
End Class

9. Klik start debugging


10.  maka akan muncul hasil seperti dibawah ini:


Tidak ada komentar:

Posting Komentar