Minggu, 28 Oktober 2012

LATIHAN_40B_36110052


Latihan_40b _36110052

A. Object-object dalam Latihan_40B_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 akan diedit atau ditambah ke dalam database. Data yang akan diedit merupakan data yang sudah dipilih pada form Latihan_40_36110052.

6.      Object StatusStrip
 Terdapat satu object statustrip yang memiliki dua label (yang bertuliskan no transaksi)
  
B.     Script Unique
Untuk script, silahkan lihat selengkapnya pada Langkah-langkah kerja  latihan_40b_36110052


C.     Even
Anra2()
Latihan_40B_36110052_Load
Anra3()
Anra4()
Tambah()
Edit()
DGV_36110052_CellEndEdit
SIMPAN_36110052_Click






Langkah-langkah kerja  latihan_40b_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_40b_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_40B_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'")
    Public Sub anra2()
        Dim a As New OleDb.OleDbDataAdapter
        a = New OleDb.OleDbDataAdapter("select barang.KODEBARANG, barang.NAMABARANG, detailtransaksi.UNIT, detailtransaksi.HARGA, detailtransaksi.unit * detailtransaksi.harga as JUMLAH from barang inner join detailtransaksi on barang.kodebarang = detailtransaksi.kodebarang where notrans = '" & nt_36110052.Text & "'", vee)
        tabel.Rows.Clear()
        a.Fill(tabel)
    End Sub
    Public Sub anra3()
        Dim anra31 As Integer = 0
        For Each anra32 As DataRow In tabel.Rows
            anra31 += anra32("JUMLAH")
        Next
        total_36110052.Text = anra31
    End Sub

    Private Sub anra4()
        If nt_36110052.Text.Length = 0 Then
            MsgBox("no transaksi harus terisi")
            Exit Sub
        End If

        If jt_36110052.Text.Length = 0 Then
            MsgBox("jenis transaksi harus terisi")
            Exit Sub
        End If

        If tabel.Rows.Count = 0 Then
            MsgBox("Isi datatable")
            Exit Sub
        End If
    End Sub

    Private Sub tambah()
        anra4()
        veve.AturPencarianDataBase("mastertransaksi", "notrans", nt_36110052.Text, 1, vee)
        If veve.JumlanBaris > 0 Then
            MsgBox("Adami notrans seperti itu..")
            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 & "#, '" & tgl_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 = ""
        kode_36110052.Text = "-"

        tabel.Rows.Clear()
        LATIHAN_40_36110052.anra1()
    End Sub

    Public Sub edit()
        anra4()
        If nt_36110052.Text <> kode_36110052.Text Then
            veve.AturPencarianDataBase("mastertransaksi", "notrans", nt_36110052.Text, 1, vee)
            If veve.JumlanBaris > 0 Then
                MsgBox("no transaksi telah ada")
                Exit Sub
            End If
        End If

        via = New OleDb.OleDbCommand("delete * from mastertransaksi where notrans = '" & kode_36110052.Text & "'", vee)
        vee.Open()
        via.ExecuteNonQuery()
        vee.Close()

        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()

        via = New OleDb.OleDbCommand("delete * from detailtransaksi where notrans = '" & kode_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
        vee.Dispose()

        nt_36110052.Text = ""
        jt_36110052.Text = ""
        total_36110052.Text = ""
        kode_36110052.Text = "-"

        tabel.Rows.Clear()
        LATIHAN_40_36110052.anra1()
    End Sub
    Private Sub latihan_40b_36110052_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        anra2()

        Dim dc(1) As DataColumn
        dc(0) = tabel.Columns("kodebarang")
        tabel.PrimaryKey = dc

        tabel.Columns("unit").DefaultValue = 0
        tabel.Columns("harga").DefaultValue = 0
        tabel.Columns("jumlah").DefaultValue = 0

        dgv_36110052.DataSource = tabel
    End Sub

    Private Sub dgv_36110052_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
            anra3()
        End If
    End Sub

    Private Sub simpan_36110052_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles simpan_36110052.Click
        If kode_36110052.Text = "-" Then
            tambah()
        Else
            edit()
        End If
    End Sub
End Class


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


















Tidak ada komentar:

Posting Komentar