Senin, 05 November 2012

Latihan_39_46110009

Latihan_39_46110009


1.      Langkah-langkah Untuk Membuat Form Baru
ü Buka project yang telah ada
ü Pilih/klik PROJECT pada menu bar
ü Setelah itu pilih Add Windows Form
ü Setelah dipilih maka akan muncul permintaan pengisian nama Form seperti gambar di bawah:
ü Buat dasign Form seperti gambar di bawah dengan menggunkan Toolbox:
ü Setelah form selesai masukkan rumus seperti dibawah ini 


2.      Deskripsi Form Latihan 39
Pada form latihan 34C ada 4 object yang digunakan yaitu Label, Text Box, Button dan Status strip.

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

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

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

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

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

 3.  Rumus
Public Class Latihan_39_46110009

    Dim ULHY As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source =" & Application.StartupPath & "\Datamajemuk.ACCDB")
    Dim MARS As New DataTable
    Private Sub botto()
        Dim ttotal As Integer
        For Each hasil As DataRow In MARS.Rows
            ttotal += hasil("Jumlah")
        Next
        Total_46110009.Text = ttotal
    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_46110009.Text & "'", ULHY)

        'bersihkan data
        MARS.Rows.Clear()

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

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

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


        DGV_46110009.DataSource = MARS

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

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

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

            'mengitung jumlah dan total
        ElseIf e.ColumnIndex = 2 Or e.ColumnIndex = 3 Then
            DGV_46110009.CurrentRow.Cells("jumlah").Value = DGV_46110009.CurrentRow.Cells("unit").Value * DGV_46110009.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_46110009.Click
        'Memeriksa isi textbox
        If NT_46110009.Text.Length = 0 Then
            MsgBox("Please, insert the Number of the transaction")
            Exit Sub
        End If

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

        If MARS.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_46110009.Text, 1, ULHY)
        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_46110009.Text & "',#" & DTP_46110009.Value.Month & "/" & DTP_46110009.Value.Day & "/" & DTP_46110009.Value.Year & "#,'" & JT_46110009.Text & "')", ULHY)
        ULHY.Open()
        kacci.ExecuteNonQuery()
        ULHY.Close()

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

        Next
        kacci.Dispose()

        'Mengosongkan isi text box
        NT_46110009.Text = ""
        JT_46110009.Text = ""

        'Mengosongkan baris datatable
        MARS.Rows.Clear()

        'menutup form
        Me.Close()
    End Sub

    Private Sub DGV_46110009_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGV_46110009.CellContentClick

    End Sub
End Class

Tidak ada komentar:

Posting Komentar