Minggu, 28 Oktober 2012

Latihan_39_36110040


v Tahap Penyelesaian Latihan_39_36110040

1.      Buka Project yang telah dibuat, lalu buka solution Explorer
2.       Setelah itu klik kanan nama project, pilih add dan klik “new item”
3.      Click Add New Item terbuka, pilih Windows Form, lalu isi Name dengan Nama Latihan_39_36110040
4.      Buat Form Latihan_39 dibawah ini:


5.       Berikut ini Rumus untuk menjalankan Form diatas:
Public Class Latihan_39_36110040
    'Mendeklarasikan object connection
    Dim Jembatan As New OleDb.OleDbConnection(" Provider = microsoft.ace.oledb.12.0; data source = " & Application.StartupPath & "\DataMajemuk.accdb; jet OLEDB:Database Password=040")


    'Mendeklarasikan datatable
    Dim Table As New DataTable

    Private Sub Latihan_39_36110040_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        'Mendeklarasikan adapter
        Dim Angkut As New OleDb.OleDbDataAdapter

        'Proses mengambil data dari table
        Angkut = New OleDb.OleDbDataAdapter("select Barang.KodeBarang, Barang.NamaBarang, Unit, Harga, Unit * Harga As Jumlah " & _
        "From Detailtransaksi Inner join Barang on Detailtransaksi.Kodebarang = Barang.Kodebarang where Notrans = '" & Notrans36110040.Text & "'", Jembatan)

        'Perintah membersihkan datatable
        Table.Rows.Clear()

        'Perintah mengisi datatable
        Angkut.Fill(Table)

        'Perintah menghapus adapter
        Angkut.Dispose()

        'Perintah menampilkan datatable ke datagridview
        dgv36110040.DataSource = Table
    End Sub

    Private Sub Hitung()
        'Proses perhitungan total unit dan total menggunakan prosedur tanpa parameter
        Dim Jumlah As Integer = 0
        For Each BarisX As DataGridViewRow In dgv36110040.Rows
            Jumlah = Jumlah + BarisX.Cells("Jumlah").Value
        Next
        Total36110040.Text = Jumlah
    End Sub

    Private Sub DataGridView1_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgv36110040.CellEndEdit
        If e.ColumnIndex = 0 Then
            dgv36110040.CurrentRow.Cells("NamaBarang").Value = ""
            dgv36110040.CurrentRow.Cells("Unit").Value = 0
            dgv36110040.CurrentRow.Cells("Harga").Value = 0
            dgv36110040.CurrentRow.Cells("Jumlah").Value = 0

            'Perintah memeriksa keberadaan kodebarang pada table Barang
            Dim Pencari As New ByIskandar.CariKeDataBaseByIskandar
            Pencari.AturPencarianDataBase("Barang", "KodeBarang", dgv36110040.CurrentRow.Cells("Kodebarang").Value, 1, Jembatan)

            'Perintah mengisi nama barang pada textbox
            If Pencari.JumlanBaris = 0 Then
                MsgBox("Kode barang tersebut tidak ada")
                If Latihan_383940.ShowDialog = Windows.Forms.DialogResult.OK Then
                    dgv36110040.CurrentRow.Cells("Kodebarang").Value = Latihan_383940.DataGridView1.CurrentRow.Cells("KodeBarang").Value
                    dgv36110040.CurrentRow.Cells("NamaBarang").Value = Latihan_383940.DataGridView1.CurrentRow.Cells("NamaBarang").Value
                Else
                    dgv36110040.CurrentRow.Cells("Kodebarang").Value = ""
                End If
                Exit Sub
            End If

            'Perintah mengisi nama barang pada textbox
            dgv36110040.CurrentRow.Cells("NamaBarang").Value = Pencari.DataTablenya.Rows(0).Item("NamaBarang")

        ElseIf e.ColumnIndex = 2 Or e.ColumnIndex = 3 Then
            'Perintah menghitung jumlah
            dgv36110040.CurrentRow.Cells("Jumlah").Value = dgv36110040.CurrentRow.Cells("Unit").Value * dgv36110040.CurrentRow.Cells("Harga").Value

            'Perintah menjalankan prosedur tanpa parameter
            Hitung()
        End If
    End Sub

    Private Sub Simpan_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Simpan.Click
        'Proses memeriksa datagridview yang masih kosong
        If Table.Rows.Count = 0 Then
            MsgBox("Datanya Belum Ada, Masukkan Kode Barang, Unit dan harganya")
            Exit Sub
        End If

        'Perintah memeriksa no. transaksi yang sama dengan table sumber
        Dim Periksa As New ByIskandar.CariKeDataBaseByIskandar
        Periksa.AturPencarianDataBase("MasterTransaksi", "Notrans", Notrans36110040.Text, 1, Jembatan)
        If Periksa.JumlanBaris > 0 Then
            MsgBox("No Transaksi Sudah Ada, Masukkan No Transaksi yang Lain")
            Exit Sub
        End If

        'Proses penyimpanan nomor, tanggal, dan jenis transaksi ke table sumber
        Dim Ambil As New OleDb.OleDbCommand
        Ambil = New OleDb.OleDbCommand("Insert Into MasterTransaksi (NoTrans, TanggalTransaksi, JenisTransaksi) " & _
        "Values ('" & Notrans36110040.Text & "', #" & tanggal36110040.Value.Month & "/" & tanggal36110040.Value.Day & "/" & tanggal36110040.Value.Year & "#, '" & Jenis36110040.Text & "')", Jembatan)
        Jembatan.Open()
        Ambil.ExecuteNonQuery()
        Jembatan.Close()

        'Proses penyimpanan isi datatable ke Detail Transaksi
        For Each BarisX As DataRow In Table.Rows
            Ambil = New OleDb.OleDbCommand("Insert Into DetailTransaksi (NoTrans, Kodebarang, Unit, Harga) " & _
            "Values ('" & Notrans36110040.Text & "', '" & BarisX("Kodebarang") & "', " & BarisX("Unit") & ", " & BarisX("Harga") & ")", Jembatan)
            Jembatan.Open()
            Ambil.ExecuteNonQuery()
            Jembatan.Close()
        Next
        Ambil.Dispose()

        'Mengosongkan kembali isi textbox
        Notrans36110040.Text = ""
        Jenis36110040.Text = ""

        'Mengosongkan kembali isi data table
        Table.Rows.Clear()

        'Perintah menjalankan prosedur tanpa parameter
        Hitung()
    End Sub
End Class
6.      Setelah itu jalankan Programnya dengan menekan “start debugging”
7.      Kemudian simpan file tersebut dengan menekan icon “save”
 8.      Selesai

Tidak ada komentar:

Posting Komentar