Halaman

Jumat, 18 Januari 2013

Latihan_40B_46110055


Deskripsi Form Latihan 40B

Pada form Latihan 40B Terdapat 5 object yaitu Label; DataGridView; DateTimePicker, Textbox; Buttondan ToolStrip.

Object DataGridView
Terdapat 1 DataGridView yang akan menampilkan data table.

Object Button
Terdapat 1 button yaitu tombol Save. Apabila tombol ini diclick maka data yang di input akan tersimpan pada form yang telah ditentukan.

Object Label
Terdapat 4 Label yaitu  No.Transaksi; Tanggal; Jenis Transaksi dan Total

Object StatusStrip
Terdapat 1 StatusStrip yaitu No. Transaksi Lama

Object Textbox
Terdapat 2 textbox yang berstatus Input yaitu  No.Transaksi; Jenis Transaksi; sedangkan Textbox yang berstatus ReadOnly Total

Script Unique
Tidak ada script unique pada latihan ini karena scriptnya hampir sama dengan Latihan-latihan sebelumnya

Even
Load

Property
Default

Langkah-langkah membuat Latihan 40B:

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 40B”


6. Setelah itu beri teks pada label dan buatlah DataGridview, DateTimePicker, Textbox, StatusStrip 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_40B_46110055
    Dim Jalan As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source =" & Application.StartupPath & "\Datamajemuk.ACCDB")
    Dim gitik As New DataTable
    Dim baru(1) As DataColumn

    Public Sub TOTAL()
        Dim ttotal As Integer
        For Each hasil As DataRow In gitik.Rows
            ttotal += hasil("Jumlah")
        Next
        Total46110055.Text = ttotal
    End Sub
    Public Sub makecolumn()
        '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='" & NT46110055.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


        baru(0) = gitik.Columns("kodebarang")
        gitik.PrimaryKey = baru
        DGV46110055.DataSource = gitik

    End Sub

    Private Sub Latihan_40B_46110055_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        makecolumn()
    End Sub

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

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

            'mengitung jumlah dan total
        ElseIf e.ColumnIndex = 2 Or e.ColumnIndex = 3 Then
            DGV46110055.CurrentRow.Cells("jumlah").Value = DGV46110055.CurrentRow.Cells("unit").Value * DGV46110055.CurrentRow.Cells("harga").Value
            TOTAL()
        End If
    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 gitik.Rows.Count = 0 Then
            MsgBox("the data is none")
            Exit Sub
        End If

        'Memeriksa nomor transaksi pd master transaksi
        If ganti46110055.Text <> NT46110055.Text Then
            Dim PENCARI As New ByIskandar.CariKeDataBaseByIskandar
            PENCARI.AturPencarianDataBase("mastertransaksi", "notrans", NT46110055.Text, 1, Jalan)

            If PENCARI.JumlanBaris > 0 Then
                MsgBox("The data has been exist please insert new data")
                Exit Sub
            End If
        End If

        'Proses delete dan Penyimpanan ke tabel master transaksi
        Dim data As Integer = Val(ganti46110055.Text)
        Dim kacci As New OleDb.OleDbCommand
        kacci = New OleDb.OleDbCommand("delete * from mastertransaksi where notrans='" & ganti46110055.Text & "'", Jalan)
        Jalan.Open()
        kacci.ExecuteNonQuery()
        Jalan.Close()

        kacci = New OleDb.OleDbCommand("delete * from detailtransaksi where notrans='" & ganti46110055.Text & "'", Jalan)
        Jalan.Open()
        kacci.ExecuteNonQuery()
        Jalan.Close()

        kacci = New OleDb.OleDbCommand("insert into mastertransaksi (notrans,tanggaltransaksi,jenistransaksi) values ('" & NT46110055.Text & "',#" & DTP46110055.Value.Month & "/" & DTP46110055.Value.Day & "/" & DTP46110055.Value.Year & "#,'" & JT46110055.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 ('" & NT46110055.Text & "','" & nhana("kodebarang") & "'," & nhana("unit") & "," & nhana("harga") & ")", Jalan)
            Jalan.Open()
            kacci.ExecuteNonQuery()
            Jalan.Close()

        Next
        kacci.Dispose()

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

        'Mengosongkan baris datatable
        gitik.Rows.Clear()

        'mengambildata
        Latihan_40A_46110055.grabdata()

        'menutup form
        Me.Close()


    End Sub
End Class

9. Klik start debugging


10.  maka akan muncul hasil seperti dibawah ini:


Tidak ada komentar:

Posting Komentar