Latihan_39_46110003



Deskripsi Form Latihan 39
Pada form latihan 39 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 4 (no. transaksi, tanggal, jenis transaksi dan total).

Object TextBox
Pada form ini ada 3 textbox yang digunakan (2 status input dan 1 status readonly). Status input digunakan untuk memasukkan data. Data yang dimasukkan yaitu “no. transaksi dan jenis transaksi”.

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

Object Button
Terdapat 1 object button (save). Tombol “save” digunakan 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
Tidak terdapat script unik pada form ini..

Langkah-langkah penyelesaian form latihan 39

1.      Buat desain Form seperti contoh dibawah ini:
 
2.      Masukkan rumus:

Public Class Latihan_39_46110003
    Dim Jalan As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source =" & Application.StartupPath & "\Datamajemuk.ACCDB")
    Dim gitik As New DataTable
    Private Sub botto()
        Dim ttotal_46110003 As Integer
        For Each hasil As DataRow In gitik.Rows
            ttotal_46110003 += hasil("Jumlah")
        Next
        Total_46110003.Text = ttotal_46110003
    End Sub
    Private Sub Latihan39_083_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'mendeklarasikan kendaraan
        Dim bojel As New OleDb.OleDbDataAdapter

        'Mengatur data yang akan di angkut
        bojel = 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_46110003.Text & "'", Jalan)

        'bersihkan data
        gitik.Rows.Clear()

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

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

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


        Showme_46110003.DataSource = gitik

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

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

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

            'mengitung jumlah dan total_46110003
        ElseIf e.ColumnIndex = 2 Or e.ColumnIndex = 3 Then
            Showme_46110003.CurrentRow.Cells("jumlah").Value = Showme_46110003.CurrentRow.Cells("unit").Value * Showme_46110003.CurrentRow.Cells("harga").Value
            botto()

        End If
    End Sub

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

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

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

        'Proses Penyimpanan ke tabel master transaksi
        Dim kacci As New OleDb.OleDbCommand
        kacci = New OleDb.OleDbCommand("insert into mastertransaksi (notrans,tanggaltransaksi,jenistransaksi) values ('" & NT_46110003.Text & "',#" & DTP_46110003.Value.Month & "/" & DTP_46110003.Value.Day & "/" & DTP_46110003.Value.Year & "#,'" & JT_46110003.Text & "')", Jalan)
        Jalan.Open()
        kacci.ExecuteNonQuery()
        Jalan.Close()

        'penyimpanan isi datatable ke detail transaksi
        For Each nhana As DataRow In gitik.Rows
            kacci = New OleDb.OleDbCommand("insert into detailtransaksi (notrans,kodebarang,unit,harga) values ('" & NT_46110003.Text & "','" & nhana("kodebarang") & "'," & nhana("unit") & "," & nhana("harga") & ")", Jalan)
            Jalan.Open()
            kacci.ExecuteNonQuery()
            Jalan.Close()

        Next
        kacci.Dispose()

        'Mengosongkan isi text box
        NT_46110003.Text = ""
        JT_46110003.Text = ""

        'Mengosongkan baris datatable
        gitik.Rows.Clear()

        'menutup form
        Me.Close()

    End Sub
End Class

3.      Jalankan Program dengan mengklik Debugging.
 

0 komentar:

Posting Komentar

Copyright © 2012 amal maulanaTemplate by : UrangkuraiPowered by Blogger.Please upgrade to a Modern Browser.