Copyright © APKOM 4 3AD4
Design by Dzignine
Sabtu, 03 November 2012

Latihan_38_46110002


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”.

Even
Load
ButtonClick

Script Unique
Lebih lengkap dan jelasnya silahkan dilihat pada script di bawah.

Langkah-Langkah Penyelesaian Form Latihan_38
·  Buka project yang telah dibuat sebelumnya.

·  Click project kemudian pilih add windows form, seperti pada gambar dibawah ini

·  Ketik nama form "Latihan_38_46110002" pada name kemudian click add

·  Buat form seperti berikut 


·         Setelah itu beri teks pada button dan label.


·         Kemudian beri nama pada semua objek kecuali label.

·  Setelah form selesai masukkan rumus seperti dibawah ini

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

    Private Sub Latihan_38_46110002_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_46110002.Text & "'", ILDA)

        'bersihkan data
        YANI.Rows.Clear()

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

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

        'perintah primarykey
        Dim WAHILDA(2) As DataColumn
        WAHILDA(0) = YANI.Columns("Kodebarang")
        YANI.PrimaryKey = WAHILDA
    End Sub
    Private Sub KB_46110002Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KB_46110002.Leave
        If KB_46110002.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_46110002.Text, 1, ILDA)
        If Pencari.JumlanBaris > 0 Then
            NB_46110002.Text = Pencari.DataTablenya.Rows(0).Item(1)
        Else
            MsgBox("the data is not exist, please choose from the this list")
            If Latihan_383940_46110002.ShowDialog = Windows.Forms.DialogResult.OK Then
                KB_46110002.Text = Latihan_383940_46110002.DGV_46110002.CurrentRow.Cells("KodeBarang").Value
                NB_46110002.Text = Latihan_383940_46110002.DGV_46110002.CurrentRow.Cells("namabarang").Value
                Harga_46110002.Text = Latihan_383940_46110002.DGV_46110002.CurrentRow.Cells("hargajual").Value
            Else
                KB_46110002.Text = ""
                NB_46110002.Text = ""
            End If
        End If

    End Sub

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

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

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

        'perintah pencarian data
        Dim CINTA As DataRow
        CINTA = YANI.Rows.Find(KB_46110002.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
        YANI.Rows.Add(KB_46110002.Text, NB_46110002.Text, Val(Unit_46110002.Text), Val(Harga_46110002.Text), Jumlah_46110002.Text)

        BATU()

        'mengosongkan textbox
        KB_46110002.Text = ""
        NB_46110002.Text = ""
        Unit_46110002.Text = ""
        Harga_46110002.Text = ""
        Jumlah_46110002.Text = ""
    End Sub

    Private Sub Harga_46110002_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Harga_46110002.TextChanged
        Jumlah_46110002.Text = Val(Unit_46110002.Text) * Val(Harga_46110002.Text)
    End Sub

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

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

        If YANI.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_46110002.Text, 1, ILDA)
        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_46110002.Text & "',#" & DTP_46110002.Value.Month & "/" & DTP_46110002.Value.Day & "/" & DTP_46110002.Value.Year & "#,'" & JT_46110002.Text & "')", ILDA)
        ILDA.Open()
        SABAR.ExecuteNonQuery()
        ILDA.Close()

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

        Next
        SABAR.Dispose()

        'Mengosongkan isi text box
        NT_46110002.Text = ""
        JT_46110002.Text = ""

        'Mengosongkan baris datatable
        YANI.Rows.Clear()

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

Langkah-Langkah Menjalankan Form Latihan 38
·         Klik start debugging lalu klik latihan 38
·         Input data pada textbox yang tersedia sesuai perintah yang ada pada label.

·         Jika ingin menambahkan data klik “insert”
·          Jika ingin menyimpan data yang telah diinput/ditambah ke data tabel (Data Majemuk) klik tombol “Save”
·         Selamat mencoba

0 komentar:

Posting Komentar