Minggu, 28 Oktober 2012

LATIHAN_38_36110052


Latihan_38 _36110052

A.   Object-object dalam Latihan_38_36110052:
        1.      Object Label
Terdapat sembilan label (yang bertuliskan no transaksi, tanggal, jenis transaksi, kode barang, namabarang, unit, harga, jumlah, dan total).

           
2.      Object Textbox
Terdapat delapan textbox (lima status input dan tiga status readonly). Status input digunakan untuk memasukkan nilai: no transaksi, jenis transaksi, kode barang, unit, dan harga. Status readonly digunakan untuk menampilkan nama barang, jumlah, dan total.

           
3.      Object Button
Terdapat dua object button (Tambah dan Simpan). Tombol tambah digunakan untuk menyimpan data yang telah diinput pada textbox ke dalam datatabel (yang ditampilkan pada datagridview). 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 tidak ada, maka  akan muncul form Latihan_383940_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.
 


B.     Script Unique
Untuk script, silahkan lihat selengkapnya pada Langkah-langkah kerja  latihan_38_36110052


C.     Even
TAMBAH_36110052_Click
Latihan_38_36110052Load
SIMPAN_36110052_Click
anra()
UNIT_36110052_TextChanged
HARGA_36110052.TextChanged
kb_36110052_Leave
kb_36110052_TextChanged

D.    Property
Property TextBox ==> ReadOnly=True






Langkah-langkah kerja  latihan_38_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_38_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_38_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_38_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 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 kb_36110052_leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles kb_36110052.Leave
        If kb_36110052.Text.Length = 0 Then
            Exit Sub
        End If
        veve.AturPencarianDataBase("barang", "kodebarang", kb_36110052.Text, 1, vee)
        If veve.JumlanBaris > 0 Then
            kb_36110052.Text = veve.DataTablenya.Rows(0).Item("KODEBARANG")
            nb_36110052.Text = veve.DataTablenya.Rows(0).Item("NAMABARANG")
        Else
            MsgBox("Kode barang tidak terdaftar")
            If LATIHAN_38_39_40_36110052.ShowDialog = Windows.Forms.DialogResult.OK Then
                kb_36110052.Text = LATIHAN_38_39_40_36110052.dgv_36110052.CurrentRow.Cells("kodebarang").Value
                nb_36110052.Text = LATIHAN_38_39_40_36110052.dgv_36110052.CurrentRow.Cells("namabarang").Value
            Else
                kb_36110052.Text = ""
            End If
        End If
    End Sub

    Private Sub kb_36109003_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles kb_36110052.TextChanged
        nb_36110052.Text = ""
        unit_36110052.Text = ""
        harga_36110052.Text = ""
    End Sub

    Private Sub tambah_36110052_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tambah_36110052.Click
        If kb_36110052.Text.Length = 0 Then
            MsgBox("kode barang tidak terisi")
        ElseIf Val(unit_36110052.Text) = 0 Then
            MsgBox("unit tidak terisi")
        ElseIf Val(harga_36110052.Text) = 0 Then
            MsgBox("harga barang tidak terisi")
            Exit Sub
        End If

        Dim dt As DataRow
        dt = tabel.Rows.Find(kb_36110052.Text)
        If dt Is Nothing Then
            dt = tabel.NewRow
            dt("KODEBARANG") = kb_36110052.Text
            dt("NAMABARANG") = nb_36110052.Text
            dt("UNIT") = unit_36110052.Text
            dt("HARGA") = harga_36110052.Text
            dt("JUMLAH") = Val(jumlah_36110052.Text)

            tabel.Rows.Add(dt)

            kb_36110052.Text = ""
            unit_36110052.Text = ""
            harga_36110052.Text = ""
        Else
            MsgBox("kode barang telah terdaftar,")
        End If
        anra()
    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 = ""

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

    Private Sub unit_36110052_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles unit_36110052.TextChanged
        jumlah_36110052.Text = Val(unit_36110052.Text) * Val(harga_36110052.Text)
    End Sub

    Private Sub harga_36110052_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles harga_36110052.TextChanged
        jumlah_36110052.Text = Val(unit_36110052.Text) * Val(harga_36110052.Text)
    End Sub
End Class

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

















Tidak ada komentar:

Posting Komentar