Copyright © APKOM 4 3AD4
Design by Dzignine
Sabtu, 03 November 2012

Latihan_40_46110002


Deskripsi Form Latihan 40A
Pada form latihan 40A ada 3 object yang digunakan yaitu Label, Button, dan Data Grid View.

Object Label
Pada form ini label yang digunakan ada 1 (Data Transaksi).

Object Button                                                                
Terdapat 3 object button (hapus, tambah dan edit). Tombol “hapus” digunakan untuk menghapus data yang telah dipilih sebelumnya. Tombol “tambah” digunakan untuk menambah data. Tombol “edit” digunakan untuk mengedit data yang telah ada sebelumnya.

Object DataGridView
Terdapat 2 object datagridview yang berfungsi untuk menampilkan data tabel.

Even
Load
ButtonClick

Script Unique
Lebih lengkap dan jelasnya silahkan dilihat pada script di bawah.

Langkah-Langkah Penyelesaian Form Latihan_40A
·  Buka project yang telah dibuat sebelumnya.
·  Click project kemudian pilih add windows form, seperti pada gambar dibawah ini

·  Ketik nama form "Latihan_40A_46110002" pada name kemudian click add

·  Buat form seperti berikut 


·         Setelah itu beri teks pada button dan label.



·         Kemudian beri nama pada semua objek kecuali label.

·  Setelah form selesai masukkan rumus seperti dibawah ini 

Public Class Latihan_40A_46110002
    Dim go As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source =" & Application.StartupPath & "\Datamajemuk.ACCDB")
    Dim dtdetail As New DataTable
    Dim dtmaster As New DataTable
    Dim atur2 As New DataSet
    Dim bsdetail As New BindingSource
    Dim bsmaster As New BindingSource

    Public Sub grabdata()
        'proses pengosongan dan pengisian data tabel
        dtdetail.Rows.Clear()
        dtmaster.Rows.Clear()

        Dim master As New OleDb.OleDbDataAdapter
        master = New OleDb.OleDbDataAdapter("select* from mastertransaksi", go)
        master.Fill(dtmaster)
        master.Dispose()

        Dim detail As New OleDb.OleDbDataAdapter
        detail = New OleDb.OleDbDataAdapter("select* from detailtransaksi", go)
        detail.Fill(dtdetail)
        detail.Dispose()

    End Sub

    Private Sub Latihan_40A_46110002_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        grabdata()
        'memasukkan datatabel ke dalam dataset
        dtmaster.TableName = "CINTA"
        dtdetail.TableName = "SAYANG"

        DGV_46110002.DataSource = bsmaster
        DGV1_46110002.DataSource = bsdetail

        atur2.Tables.Add(dtmaster)
        atur2.Tables.Add(dtdetail)

        atur2.Relations.Add(New DataRelation("relasi", atur2.Tables("CINTA").Columns("notrans"), atur2.Tables("SAYANG").Columns("notrans")))

        'menampilkan datatabel ke dGV dg menggunakan binding
        bsmaster.DataSource = atur2
        bsmaster.DataMember = "CINTA"
        bsdetail.DataSource = bsmaster
        bsdetail.DataMember = "relasi"
    End Sub

    Private Sub EDIT_46110002_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EDIT_46110002.Click
        Latihan_40B_46110002.Show()
        Latihan_40B_46110002.replace_46110002.Text = DGV_46110002.CurrentRow.Cells("notrans").Value
        Latihan_40B_46110002.NT.Text = DGV_46110002.CurrentRow.Cells("notrans").Value
        Latihan_40B_46110002.DTP_46110002.Text = DGV_46110002.CurrentRow.Cells("tanggaltransaksi").Value
        Latihan_40B_46110002.JT_46110002.Text = DGV_46110002.CurrentRow.Cells("jenistransaksi").Value
        Latihan_40B_46110002.makecolumn()
        Latihan_40B_46110002.YUYU()
    End Sub

    Private Sub TAMBAH_46110002_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TAMBAH_46110002.Click
        Latihan_40B_46110002.Show()
        Latihan_40B_46110002.NT.Text = ""
        Latihan_40B_46110002.JT_46110002.Text = ""
        Latihan_40B_46110002.replace_46110002.Text = "-"
        Latihan_40B_46110002.makecolumn()
    End Sub

    Private Sub HAPUS_46110002_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles HAPUS_46110002.Click
        If MsgBox("seriously want to delete the record???", MsgBoxStyle.YesNo) = MsgBoxResult.No Then
            Exit Sub
        End If

        Dim GUGU As New OleDb.OleDbCommand
        GUGU = New OleDb.OleDbCommand("delete* from mastertransaksi where notrans='" & DGV_46110002.CurrentRow.Cells("notrans").Value & "'", go)
        go.Open()
        GUGU.ExecuteNonQuery()
        go.Close()

        GUGU = New OleDb.OleDbCommand("delete* from detailtransaksi where notrans='" & DGV_46110002.CurrentRow.Cells("notrans").Value & "'", go)
        go.Open()
        GUGU.ExecuteNonQuery()
        go.Close()

        grabdata()
    End Sub
End Class

Deskripsi Form Latihan 40B
Pada form latihan 40B ada 6 object yang digunakan yaitu Label, Text Box, Button, Date Time Picker, Status Strip 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 40B 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”.

Object StatusStrip
Ada 2 statusstrip yang digunakan (no transaksi dan -). “-“ nantinya akan menampilkan no transaksi.

Even
Load
ButtonClick

Script Unique
Lebih lengkap dan jelasnya silahkan dilihat pada script di bawah.

Langkah-Langkah Penyelesaian Form Latihan_40B
·  setelah membuat desain latihan 40A lanjut kelatihan 40B.
·  Click project kemudian pilih add windows form, seperti pada gambar dibawah ini

·  Ketik nama form "Latihan_40B_46110002" pada name kemudian click add

·  Buat form seperti berikut 


·         Setelah itu beri teks pada button dan label.


·         Kemudian beri nama pada semua objek kecuali label.

·  Setelah form selesai masukkan rumus seperti dibawah ini

 Public Class Latihan_40B_46110002
    Dim ILDA As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source =" & Application.StartupPath & "\Datamajemuk.ACCDB")
    Dim YANI As New DataTable
    Dim baru(1) As DataColumn

    Public Sub YUYU()
        Dim TTOTAL As Integer
        For Each hasil As DataRow In YANI.Rows
            TTOTAL += hasil("Jumlah")
        Next
        Total_46110002.Text = TTOTAL
    End Sub
    Public Sub makecolumn()
        'mendeklarasikan kendaraan
        Dim BUBU As New OleDb.OleDbDataAdapter

        'Mengatur data yang akan di angkut
        BUBU = 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_46110002.Text & "'", ILDA)

        'bersihkan data
        YANI.Rows.Clear()

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

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

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


        baru(0) = YANI.Columns("kodebarang")
        YANI.PrimaryKey = baru
        DGV_46110002.DataSource = YANI

    End Sub


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

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

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

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

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

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

        If YANI.Rows.Count = 0 Then
            MsgBox("the data is none")
            Exit Sub
        End If

        'Memeriksa nomor transaksi pd master transaksi
        If replace_46110002.Text <> NT.Text Then
            Dim PENCARI As New ByIskandar.CariKeDataBaseByIskandar
            PENCARI.AturPencarianDataBase("mastertransaksi", "notrans", NT_46110002.Text, 1, ILDA)

            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(replace_46110002.Text)
        Dim FUFU As New OleDb.OleDbCommand
        FUFU = New OleDb.OleDbCommand("delete * from mastertransaksi where notrans='" & replace_46110002.Text & "'", ILDA)
        ILDA.Open()
        FUFU.ExecuteNonQuery()
        ILDA.Close()

        FUFU = New OleDb.OleDbCommand("delete * from detailtransaksi where notrans='" & replace_46110002.Text & "'", ILDA)
        ILDA.Open()
        FUFU.ExecuteNonQuery()
        ILDA.Close()

        FUFU = New OleDb.OleDbCommand("insert into mastertransaksi (notrans,tanggaltransaksi,jenistransaksi) values ('" & NT_46110002.Text & "',#" & DTP_46110002.Value.Month & "/" & DTP_46110002.Value.Day & "/" & DTP_46110002.Value.Year & "#,'" & JT_46110002.Text & "')", ILDA)
        ILDA.Open()
        FUFU.ExecuteNonQuery()
        ILDA.Close()

        'penyimpanan isi datatable ke detail transaksi
        For Each PAPA As DataRow In YANI.Rows
            FUFU = New OleDb.OleDbCommand("insert into detailtransaksi (notrans,kodebarang,unit,harga) values ('" & NT_46110002.Text & "','" & PAPA("kodebarang") & "'," & PAPA("unit") & "," & PAPA("harga") & ")", ILDA)
            ILDA.Open()
            FUFU.ExecuteNonQuery()
            ILDA.Close()

        Next
        FUFU.Dispose()

        'Mengosongkan isi text box
        NT_46110002.Text = ""
        JT_46110002.Text = ""

        'Mengosongkan baris datatable
        YANI.Rows.Clear()

        'mengambildata
        Latihan_40A_46110002.grabdata()

        'menutup form
        Me.Close()

    End Sub
End Class

Langkah-Langkah Menjalankan Form Latihan 40
1.      Klik start debugging lalu klik latihan 40
2.      Tentukan perintah apa yang akan anda jalankan.

3.      Jika ingin menghapus data, pilih data yang ingin dihapus kemudian klik tombol “hapus”
4.      Jika ingin menambah data klik tombol “tambah”, maka form Latihan_40B_46110002 akan muncul

5.      Jika ingin mengedit data klik tombol “edit”, maka form Latihan_40B_46110007 akan muncul
6.      Setelah itu klik “save” untuk menyimpan hasil edit/tambah data.
7.      Selamat mencoba.


0 komentar:

Posting Komentar