Minggu, 28 Oktober 2012

LATIHAN_39_36110052


Latihan_39 _36110052

A.   Object-object dalam Latihan_39_36110052 :
           1.      Object Label
Terdapat empat label (yang bertuliskan no transaksi, tanggal, jenis transaksi, dan total).

           
2.      Object Textbox
Terdapat tiga textbox (dua status input dan sat status readonly). Status input digunakan untuk memasukkan nilai no transaksi dan jenis transaksi. Status readonly digunakan untuk menampilkan total.

           
3.      Object Button
Terdapat satu object button (Simpan). Tombol simpan digunakan untuk menyimpan data yang telah diinput ke dalam database (DATA MAJEMUK). Kode barang yang diinput harus merupakan kode barang yang sudah ada pada tabel kode barang karena nama barang akan ditampilkan pada textbox readonly sesuai dengan kode barang yang diinput. Jika kode barang yang diinput tidak ada, maka akan muncul form Latihan_38_39_40_36110052.


4.      Object DateTimePicker
Terdapat satu object datetimepicker yang digunakan untuk menentukan tanggal transaksi.

5.      Object DataGridView
Terdapat satu object datagridview yang digunakan untuk menampilkan data yang telah diinput pada textbox. Dan juga digunakan untuk menginput kode barang.
  
B.     Script Unique
Untuk script, silahkan lihat selengkapnya pada. Langkah-langkah kerja  latihan_39_36110052


C.     Even
Latihan_39_36110052_Load
anra()
DGV_36110052_CellEndEdit
SIMPAN_36110052_Click

D.    Property
Property TextBox ==> ReadOnly=True




Langkah-langkah kerja  latihan_39_36110052
1.      Buat new windows form dengan cara ketik project àadd windows form  pada project yang telah dibuat dan berikan nama form yang diinginkan
Contoh: latihan_39_36110052
2.      Design form dengan menggunakan tools pada toolbox
3.      Setiap tools yang diambil pada textbox dapat diubah propertiesnya seperti nama dan teksnya dengan cara klik kanan-properties
4.      Buat form dengan bentuk seperti ini:



5.      Setelah selesai form, masuk ke lembar Vb dan masukkan script

Public Class LATIHAN_39_36110052
    Dim veve As New ByIskandar.CariKeDataBaseByIskandar
    Dim tabel As New DataTable
    Dim via As New OleDb.OleDbCommand
    Dim vee As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" & Application.StartupPath & "\DataMajemuk.accdb'")

    Private Sub LATIHAN_39_36110052_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim r As New OleDb.OleDbDataAdapter
        r = New OleDb.OleDbDataAdapter("select barang.KODEBARANG, barang.NAMABARANG, detailtransaksi.UNIT, detailtransaksi.HARGA, detailtransaksi.unit*harga as JUMLAH from barang inner join detailtransaksi on barang.kodebarang = detailtransaksi.kodebarang where notrans ='" & nt_36110052.Text & "'", vee)
        tabel.Rows.Clear()
        r.Fill(tabel)
        r.Dispose()

        dgv_36110052.DataSource = tabel

        Dim sudar(1) As DataColumn
        sudar(0) = tabel.Columns("kodebarang")
        tabel.PrimaryKey = sudar
    End Sub

    Private Sub dgv_36109003_Cellendedit(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgv_36110052.CellEndEdit
        If dgv_36110052.Columns(e.ColumnIndex).Name = "KODEBARANG" Then

            dgv_36110052.CurrentRow.Cells("NAMABARANG").Value = ""
            dgv_36110052.CurrentRow.Cells("UNIT").Value = 0
            dgv_36110052.CurrentRow.Cells("HARGA").Value = 0
            dgv_36110052.CurrentRow.Cells("JUMLAH").Value = 0

            veve.AturPencarianDataBase("barang", "kodebarang", dgv_36110052.CurrentRow.Cells("KODEBARANG").Value, 1, vee)
            If veve.JumlanBaris > 0 Then
                dgv_36110052.CurrentRow.Cells("NAMABARANG").Value = veve.DataTablenya.Rows(0).Item("NAMABARANG")
            Else
                dgv_36110052.CurrentRow.Cells("NAMABARANG").Value = ""
                If LATIHAN_38_39_40_36110052.ShowDialog = Windows.Forms.DialogResult.OK Then
                    dgv_36110052.CurrentRow.Cells("KODEBARANG").Value = LATIHAN_38_39_40_36110052.dgv_36110052.CurrentRow.Cells("KODEBARANG").Value
                    dgv_36110052.CurrentRow.Cells("NAMABARANG").Value = LATIHAN_38_39_40_36110052.dgv_36110052.CurrentRow.Cells("NAMABARANG").Value
                End If
            End If

        ElseIf dgv_36110052.Columns(e.ColumnIndex).Name = "UNIT" Or dgv_36110052.Columns(e.ColumnIndex).Name = "HARGA" Then
            dgv_36110052.CurrentRow.Cells("JUMLAH").Value = dgv_36110052.CurrentRow.Cells("UNIT").Value * dgv_36110052.CurrentRow.Cells("HARGA").Value
            anra()
        End If
    End Sub

    Private Sub anra()
        Dim anra1 As Integer = 0
        For Each anra2 As DataRow In tabel.Rows
            anra1 += anra2("JUMLAH")
        Next
        total_36110052.Text = anra1
    End Sub

    Private Sub simpan_36110052_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles simpan_36110052.Click
        If nt_36110052.Text.Length = 0 Then
            MsgBox("nomor transaksi harus terisi")
        ElseIf jt_36110052.Text.Length = 0 Then
            MsgBox("Isi rong Jenis Transaksi na..")
        ElseIf tabel.Rows.Count = 0 Then
            MsgBox("data table tidak boleh kosong")
            Exit Sub
        End If

        veve.AturPencarianDataBase("mastertransaksi", "notrans", nt_36110052.Text, 1, vee)
        If veve.JumlanBaris > 0 Then
            MsgBox("nomor transaksi telah ada")
            Exit Sub
        End If

        via = New OleDb.OleDbCommand("insert into mastertransaksi(notrans, tanggaltransaksi, jenistransaksi) values ('" & nt_36110052.Text & "',#" & tgl_36110052.Value.Month & "/" & tgl_36110052.Value.Day & "/" & tgl_36110052.Value.Year & "#,'" & jt_36110052.Text & "')", vee)
        vee.Open()
        via.ExecuteNonQuery()
        vee.Close()

        For Each x As DataRow In tabel.Rows
            via = New OleDb.OleDbCommand("insert into detailtransaksi(notrans, kodebarang, unit, harga) values ('" & nt_36110052.Text & "','" & x("kodebarang") & "','" & x("unit") & "','" & x("harga") & "')", vee)
            vee.Open()
            via.ExecuteNonQuery()
            vee.Close()
        Next
        via.Dispose()

        nt_36110052.Text = ""
        jt_36110052.Text = ""
        total_36110052.Text = ""

        tabel.Rows.Clear()
        anra()
    End Sub
End Class

6.      Uji  program dengan mengklik “Start  Debbuging” dan save program dengan mengklik “Save”.
7.      SELESAI

















Tidak ada komentar:

Posting Komentar