Sabtu, 05 Januari 2013

Latihan 40b

Deskripsi

Deskripsi

1. Objek textbox
terdapat 3 objek textbox pada form ini. textbox tersebut berfungsi untuk menginput data baru dari data yang di edit. 1 diantaranya berstatus ReadOnly

2. objek button
terdapat 1 objek button form ini. berfungsi mengeksekusi input pada textbox dan menyimpan data ke access

3. objek datagridview
menampilkan hasil inputan pada textbox

4. objek datetimepicker
terdapat satu objek ini pada form kali ini

5. objek Status Strip
menampilkan nomor transaksi yang dipilih

even :  ButtonClick


Pembuatan Form
1. buka Microsoft Visual Studio anda
2. bukalah file kumpulan latihan anda
3. pilih menu project lalu klik add windows form
4. drag objek dari toolbox anda. susun hingga menjadi form seperti form pada gambar dibawah ini.


5. masukkan script berikut

Public Class Latihan_40b_46110008
    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 botto()
        Dim ttotal As Integer
        For Each hasil As DataRow In gitik.Rows
            ttotal += hasil("Jumlah")
        Next
        tot46110008.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='" & notr46110008.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
        dgv46110008.DataSource = gitik

    End Sub

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

        If jt46110008.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 ganti46110008.Text <> notr46110008.Text Then
            Dim PENCARI As New ByIskandar.CariKeDataBaseByIskandar
            PENCARI.AturPencarianDataBase("mastertransaksi", "notrans", notr46110008.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(ganti46110008.Text)
        Dim kacci As New OleDb.OleDbCommand
        kacci = New OleDb.OleDbCommand("delete * from mastertransaksi where notrans='" & ganti46110008.Text & "'", Jalan)
        Jalan.Open()
        kacci.ExecuteNonQuery()
        Jalan.Close()

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

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

        Next
        kacci.Dispose()

        'Mengosongkan isi text box
        notr46110008.Text = ""
        jt46110008.Text = ""

        'Mengosongkan baris datatable
        gitik.Rows.Clear()

        'mengambildata
        Latihan_40a_46110008.grabdata()

        'menutup form
        Me.Close()
    End Sub

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

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

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

            'mengitung jumlah dan total
        ElseIf e.ColumnIndex = 2 Or e.ColumnIndex = 3 Then
            dgv46110008.CurrentRow.Cells("jumlah").Value = dgv46110008.CurrentRow.Cells("unit").Value * dgv46110008.CurrentRow.Cells("harga").Value
            botto()
        End If
    End Sub

End Class

Tidak ada komentar:

Posting Komentar