Jumat, 26 Oktober 2012

Latihan_35_36110034


Deskripsi penyelesaian
Form Latihan_35_36110034  terdapat dua object yaitu DataGreatView ,button, lebel, textbox, dan datetimepeker :

Object lebel
Terdapat enam objek lebel yang bertuliskan ( No.transaksi, tanggal, jenis transaksi, kode barang, unit, harga).
Object datetimepeker
Terdapat satu objek datetimepeker yang berfungsi sebagai penyedia tanggal secara kalender.
Object DataGreatview
Terdapat satu object datagreatview yang akan menampilkan table yang kolomnya berasal dari datamajemuk  , yaitu kode barang ,unit, dan harga yang datanya berasal dari tabel DETAIL TRANSAKSI  yang sebulumnya tersedia dan hanya dapat dilihat dengan menggunakan MS. Access.
Object Button
Terdapat dua objek button yang bertuliskan TAMBAH dan SIMPAN. tombol tambah  jika di klik akan menambah data pada table yang terdapat dalam datagreatview yang sebelumnya telah di input di setiap textbox, sedangkan tombol simpan jika di klik akan menyimpan perubahan terjadi pada form tersebut seperti penambahan data pada table.
Script Unique 
Buttom "Tambah”
If KB_36110034.Text.Length = 0 Then
            MsgBox("kode barang tidak terisi")
        ElseIf Val(UN_36110034.Text) = 0 Then
            MsgBox("unit tidak terisi")
        ElseIf Val(HAR_36110034.Text) = 0 Then
            MsgBox("harga barang tidak terisi")
            Exit Sub
        End If

        Dim w As DataRow
        w = kusuma.NewRow
        w("KODEBARANG") = KB_36110034.Text
        w("UNIT") = UN_36110034.Text
        w("HARGA") = HAR_36110034.Text

        kusuma.Rows.Add(w)

        KB_36110034.Text = ""
        UN_36110034.Text = ""
        HAR_36110034.Text = ""
    End Sub
Buttom "Simpan”
If NT_36110034.Text.Length = 0 Then
            MsgBox("nomor transaksi harus terisi")
        ElseIf Val(JT_36110034.Text) = 0 Then
            MsgBox("jenis transaksi harus terisi")
        ElseIf kusuma.Rows.Count = 0 Then
            MsgBox("data tabel tidak boleh kosong")
            Exit Sub
        End If

        andini.AturPencarianDataBase("MASTERTRANSAKSI", "NOTRANS", NT_36110034.Text, 1, dian)
        If andini.JumlanBaris > 0 Then
            MsgBox("nomor transaksi telah ada")
            Exit Sub
        End If

        Dim dini As New OleDb.OleDbCommand
        dini = New OleDb.OleDbCommand("insert into MASTERTRANSAKSI(NOTRANS,TANGGALTRANSAKSI,JENISTRANSAKSI)values ('" & NT_36110034.Text & "',#" & DTP_36110034.Value.Month & "/" & DTP_36110034.Value.Day & "/" & DTP_36110034.Value.Year & "#,'" & JT_36110034.Text & "')", dian)
        dian.Open()
        dini.ExecuteNonQuery()
        dian.Close()

        For Each x As DataRow In kusuma.Rows
            dini = New OleDb.OleDbCommand("insert into DETAILTRANSAKSI(NOTRANS,KODEBARANG,UNIT,HARGA) values ('" & NT_36110034.Text & "','" & x("KODEBARANG") & "','" & x("UNIT") & "','" & x("HARGA") & "')", dian)
            dian.Open()
            dini.ExecuteNonQuery()
            dian.Close()
        Next
        dini.Dispose()

        NT_36110034.Text = ""
        JT_36110034.Text = ""

        kusuma.Rows.Clear()
    End Sub
End Class

Property
Property Datagreatview => name => ok

Prosedur penyelesaian

1.   buka project yang telah dibuat sebelumnya klik add new item => add windows form => ganti nama project => add.
 
2.   membuat form dengan menggunakan DataGreatView,button, lebel, textbox, dan datetimepeker yang ada dalam "Toolbox”.
 
3.   ganti nama textbox dan button menggunakan "Properties Window".
 
4.   membuka lembar vb Masukkan rumus berikut untuk menyelesaikan latihan_35_36110034.
Public Class latihan_35_36110034
    Dim andini As New ByIskandar.CariKeDataBaseByIskandar
    Dim dian As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Application.StartupPath & "\DataMajemuk.accdb;jet oledb:database password=2304")
    Dim kusuma As New DataTable

    Private Sub latihan_35_36110034_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim aw As New OleDb.OleDbDataAdapter
        aw = New OleDb.OleDbDataAdapter("select KODEBARANG, UNIT, HARGA from DETAILTRANSAKSI where NOTRANS = '" & NT_36110034.Text & "'", dian)
        aw.Fill(kusuma)
        aw.Dispose()

        DGV_36110034.DataSource = kusuma
    End Sub

    Private Sub TAM_36110034_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles TAM_36110034.Click
        If KB_36110034.Text.Length = 0 Then
            MsgBox("kode barang tidak terisi")
        ElseIf Val(UN_36110034.Text) = 0 Then
            MsgBox("unit tidak terisi")
        ElseIf Val(HAR_36110034.Text) = 0 Then
            MsgBox("harga barang tidak terisi")
            Exit Sub
        End If

        Dim w As DataRow
        w = kusuma.NewRow
        w("KODEBARANG") = KB_36110034.Text
        w("UNIT") = UN_36110034.Text
        w("HARGA") = HAR_36110034.Text

        kusuma.Rows.Add(w)

        KB_36110034.Text = ""
        UN_36110034.Text = ""
        HAR_36110034.Text = ""
    End Sub

    Private Sub SIM_36110034_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles SIM_36110034.Click
        If NT_36110034.Text.Length = 0 Then
            MsgBox("nomor transaksi harus terisi")
        ElseIf Val(JT_36110034.Text) = 0 Then
            MsgBox("jenis transaksi harus terisi")
        ElseIf kusuma.Rows.Count = 0 Then
            MsgBox("data tabel tidak boleh kosong")
            Exit Sub
        End If

        andini.AturPencarianDataBase("MASTERTRANSAKSI", "NOTRANS", NT_36110034.Text, 1, dian)
        If andini.JumlanBaris > 0 Then
            MsgBox("nomor transaksi telah ada")
            Exit Sub
        End If

        Dim dini As New OleDb.OleDbCommand
        dini = New OleDb.OleDbCommand("insert into MASTERTRANSAKSI(NOTRANS,TANGGALTRANSAKSI,JENISTRANSAKSI)values ('" & NT_36110034.Text & "',#" & DTP_36110034.Value.Month & "/" & DTP_36110034.Value.Day & "/" & DTP_36110034.Value.Year & "#,'" & JT_36110034.Text & "')", dian)
        dian.Open()
        dini.ExecuteNonQuery()
        dian.Close()

        For Each x As DataRow In kusuma.Rows
            dini = New OleDb.OleDbCommand("insert into DETAILTRANSAKSI(NOTRANS,KODEBARANG,UNIT,HARGA) values ('" & NT_36110034.Text & "','" & x("KODEBARANG") & "','" & x("UNIT") & "','" & x("HARGA") & "')", dian)
            dian.Open()
            dini.ExecuteNonQuery()
            dian.Close()
        Next
        dini.Dispose()

        NT_36110034.Text = ""
        JT_36110034.Text = ""

        kusuma.Rows.Clear()
    End Sub
End Class
5.   Jalankan program dengan “start debugging”.

Tidak ada komentar:

Posting Komentar