Jumat, 26 Oktober 2012

Latihan_40B_36110056

Deskripsi Latihan 40B:



Form Latihan 40B terdapat enam object yaitu Lable, Textbox, Datetimepicker, button, StatusStrip dan Dategridview

Object  label
Terdapat empat object label (yang bertuliskan no.transaksi, tanggal, jenis transaksi, dan total).

Object  TextBox
 Terdapat tiga buah object Textbox. Dimana dua yang berstatus input dan satu berstatus ReadOnly. 


Object  DateTimePicker
Terdapat sebuah object DateTimePicker yang digunakan untuk memasukkan tanggal transaksi.


Object  Button
Terdapat satu buah object Button yaitu  Simpan. Object button Simpan digunakan untuk menyimpan data baru ke DataBase. Kode barang yang diinput harus merupakan kode barang yang sudah ada pada tabel kode barang k. Jika kode barang yang diinput tidak ada, maka akan muncul form Latihan383940_36110056


Object  DateGridView
Terdapat satu object DataGridView digunakan untuk menampilkan semua field atau kolom yang akan atau diedit, yang terdapat dalam data D:\Apkom 4\LATIHAN 35-40 DATA MAJEMUK\DataMajemuk.


Object  StatusStrip 
Terdapat satu object statustrip yang memiliki dua label (yang diberi nama no transaksi dan -).


Script Unique
Untuk script, dapat dilihat secara menyeluruh pada Langkah-Langkah Penyelesaian Latihan 40B

Even
FromLoad
ButtonClick
CellendEdit
( )
Property
Property Windows TextBox ReadOnly = True


Langkah-langkah penyelesaian latihan 40B:
  • Buka project yang dibuat sebelumnya
  • Pilih Add new item

  • Setelah terbuka jendela Add new item, pilih windows form  serta anda dapat mengganti nama form, dan setelah itu pilih add


  • Buat form sesuai soal di atas dengan menggunakan Data Grid View, label, Button , datetimepicker, StatusStrip dan textbox yang terdapat dalam toolsbox
  • Setelah form selesai, ubah nama DataGridView ,Button, textbox, datetimpicker, label, StatusStrip yang terdapat dalam properties window  
  • Selanjutnya masukkan formula atau rumus untuk menjalan form  :
Public Class Form40b_36109003
    Dim arman As New ByIskandar.CariKeDataBaseByIskandar
    Dim anto As New DataTable
    Dim soe As New OleDb.OleDbCommand
    Dim ndut 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_36109003.Text & "'", ndut)
        anto.Rows.Clear()
        a.Fill(anto)
    End Sub
    Public Sub anra3()
        Dim anra31 As Integer = 0
        For Each anra32 As DataRow In anto.Rows
            anra31 += anra32("JUMLAH")
        Next
        total_36109003.Text = anra31
    End Sub

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

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

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

    Private Sub tambah()
        anra4()
        arman.AturPencarianDataBase("mastertransaksi", "notrans", nt_36109003.Text, 1, ndut)
        If arman.JumlanBaris > 0 Then
            MsgBox("Adami notrans seperti itu..")
            Exit Sub
        End If

        soe = New OleDb.OleDbCommand("insert into mastertransaksi (notrans, tanggaltransaksi, jenistransaksi) values ('" & nt_36109003.Text & "',#" & tgl_36109003.Value.Month & "/" & tgl_36109003.Value.Day & "/" & tgl_36109003.Value.Year & "#, '" & tgl_36109003.Text & "')", ndut)
        ndut.Open()
        soe.ExecuteNonQuery()
        ndut.Close()

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

        nt_36109003.Text = ""
        jt_36109003.Text = ""
        total_36109003.Text = ""
        kode_36109003.Text = "-"

        anto.Rows.Clear()
        form40a_36109003.anra1
    End Sub

    Public Sub edit()
        anra4()
        If nt_36109003.Text <> kode_36109003.Text Then
            arman.AturPencarianDataBase("mastertransaksi", "notrans", nt_36109003.Text, 1, ndut)
            If arman.JumlanBaris > 0 Then
                MsgBox("no transaksi telah ada")
                Exit Sub
            End If
        End If

        soe = New OleDb.OleDbCommand("delete * from mastertransaksi where notrans = '" & kode_36109003.Text & "'", ndut)
        ndut.Open()
        soe.ExecuteNonQuery()
        ndut.Close()

        soe = New OleDb.OleDbCommand("insert into mastertransaksi(notrans, tanggaltransaksi, jenistransaksi) values ('" & nt_36109003.Text & "',#" & tgl_36109003.Value.Month & "/" & tgl_36109003.Value.Day & "/" & tgl_36109003.Value.Year & "#, '" & jt_36109003.Text & "')", ndut)
        ndut.Open()
        soe.ExecuteNonQuery()
        ndut.Close()

        soe = New OleDb.OleDbCommand("delete * from detailtransaksi where notrans = '" & kode_36109003.Text & "'", ndut)
        ndut.Open()
        soe.ExecuteNonQuery()
        ndut.Close()

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

        nt_36109003.Text = ""
        jt_36109003.Text = ""
        total_36109003.Text = ""
        kode_36109003.Text = "-"

        anto.Rows.Clear()
        form40a_36109003.anra1()
    End Sub
    Private Sub Form40b_36109003_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        anra2()

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

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

        dgv_36109003.DataSource = anto
    End Sub

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

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

            arman.AturPencarianDataBase("barang", "kodebarang", dgv_36109003.CurrentRow.Cells("KODEBARANG").Value, 1, ndut)
            If arman.JumlanBaris > 0 Then
                dgv_36109003.CurrentRow.Cells("NAMABARANG").Value = arman.DataTablenya.Rows(0).Item("NAMABARANG")
            Else
                dgv_36109003.CurrentRow.Cells("NAMABARANG").Value = ""
                If form38_39_40_36109003.ShowDialog = Windows.Forms.DialogResult.OK Then
                    dgv_36109003.CurrentRow.Cells("KODEBARANG").Value = form38_39_40_36109003.dgv_36109003.CurrentRow.Cells("KODEBARANG").Value
                    dgv_36109003.CurrentRow.Cells("NAMABARANG").Value = form38_39_40_36109003.dgv_36109003.CurrentRow.Cells("NAMABARANG").Value
                End If
            End If

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

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

  • Selanjutnya jika ingin menjalankannya pilih Start de bungging 

  •  Setelah itu anda dapat menyimpannya dengan cara Ctrl S atau memilih menu seperti di bawah ini








Tidak ada komentar:

Posting Komentar