Senin, 29 Oktober 2012

Deskripsi_Latihan_38_36110054


Cara Membuat Progam/Apliaksi Latihan 38
Dengan Software Microsoft Visual Basic 2008
Form Latihan 38 terdapat lima object yaitu Lable, Textbox, Datetimepicker, button, dan Dategridview

Object  label
Terdapat sembilan object label (yang bertuliskan no.transaksi, tanggal, jenis transaksi, kode barang, nama barang, unit, harga, jumlah, dan total).

Object  TextBox
 Terdapat delapan buah object Textbox. Dimana lima yang berstatus input dan tiga berstatus ReadOnly.

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

Object  Button
Terdapat dua buah object Button yaitu Tambah dan Simpan. object button tambah digunakan untuk menambahkan data baru  ke DataBase. Sedangkan object button Simpan digunakan untuk menyimpan data baru ke DataBase.

Object  DateGridView
Terdapat satu object DataGridView digunakan untuk menampilkan semua field atau kolom yang terdapat dalam
D:\Ruslan\Materi Kuliah\Apkom 4\LATIHAN 35-40 DATA MAJEMUK\DATAMAJEMUK.accdb")
  
Script Unique
Untuk script, dapat dilihat secara menyeluruh pada Langkah-Langkah Penyelesaian Latihan 38

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

Langkah 1:
Buka Aplikasi Visual Basic 2008/Visual Studio 2008
Langkah 2:
    Buat Project Baru dengan Cara,
-          File| New Project | Windows From Application,
-          Dan Nama Project Tersebut.
-          Lihat Gambar Berikut :
Langkah 3:
Rancanglah Form Seperti Gambar Berikut Berikut
 Langkah 4:
Masukkan Rumus untuk menjalankan form di atas .
Berikut ini Rumus untuk menjalankan form :


Public Class Latihan_38_36110054
    Dim ruslan As New OleDb.OleDbConnection(" Provider = microsoft.ace.oledb.12.0; data source = D:\Ruslan\Materi Kuliah\Apkom 4\LATIHAN 35-40 DATA MAJEMUK\DATAMAJEMUK.accdb")
    Dim tabelRuslan As New DataTable

    Private Sub Latihan_38_36110054_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim ruru As New OleDb.OleDbDataAdapter

        ruru = New OleDb.OleDbDataAdapter("Select BARANG.KODEBARANG, BARANG.NAMABARANG, UNIT, HARGA, UNIT * HARGA As JUMLAH " & _
        "From DETAILTRANSAKSI Inner join BARANG on DETAILTRANSAKSI.KODEBARANG = BARANG.KODEBARANG where NOTRANS = '" & NOtrans_36110054.Text & "'", ruslan)

        tabelRuslan.Rows.Clear()

        ruru.Fill(tabelRuslan)

        ruru.Dispose()

        Dim KolomPrimary(1) As DataColumn
        KolomPrimary(0) = tabelRuslan.Columns("KODEBARANG")
        tabelRuslan.PrimaryKey = KolomPrimary

        DGV_36110054.DataSource = tabelRuslan
    End Sub

    Private Sub Hitung()
        Dim Jumlah As Integer = 0
        For Each row As DataRow In tabelRuslan.Rows
            Jumlah = Jumlah + row("Jumlah")
        Next
        Total_36110054.Text = Jumlah
    End Sub

    Private Sub UNIT_36110054_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Unit_36110054.TextChanged, Hrg_36110054.TextChanged
        Jmlh_36110054.Text = Val(Unit_36110054.Text) * Val(Hrg_36110054.Text)
    End Sub

    Private Sub KODE_36110054_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles Kdgbrg_36110054.Leave
        If Kdgbrg_36110054.Text.Length = 0 Then
            Exit Sub
        End If

        Dim Pencari As New ByIskandar.CariKeDataBaseByIskandar
        Pencari.AturPencarianDataBase("BARANG", "KODEBARANG", Kdgbrg_36110054.Text, 1, ruslan)

        If Pencari.JumlanBaris = 0 Then
            MsgBox("Kode barang tersebut tidak ada")
            If Latihan_383940_36110054.ShowDialog = Windows.Forms.DialogResult.OK Then
                Kdgbrg_36110054.Text = Latihan_383940_36110054.dgv_36110054.CurrentRow.Cells("KODEBARANG").Value
                Nmabrg_36110054.Text = Latihan_383940_36110054.dgv_36110054.CurrentRow.Cells("NAMABARANG").Value
            Else
                Kdgbrg_36110054.Text = ""
            End If
            Exit Sub
        End If

        Nmabrg_36110054.Text = Pencari.DataTablenya.Rows(0).Item("NAMABARANG")
    End Sub

    Private Sub Kdgbrg_36110054_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Kdgbrg_36110054.TextChanged
        Nmabrg_36110054.Text = ""
        Unit_36110054.Text = ""
        Hrg_36110054.Text = ""
    End Sub

    Private Sub TAMBAH_36110054_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Tambah_36110054.Click
        If Kdgbrg_36110054.Text.Length = 0 Then
            MsgBox("Anda Harus Masukkan Kode Barangnya")
            Exit Sub
        End If
        If Nmabrg_36110054.Text.Length = 0 Then
            MsgBox("Anda Harus Masukkan Nama Barangnya")
            Exit Sub
        End If
        If Val(Unit_36110054.Text) = 0 Then
            MsgBox("Anda Harus Masukkan Unit Barangnya")
            Exit Sub
        End If
        If Val(Hrg_36110054.Text) = 0 Then
            MsgBox("Anda Harus Masukkan Harga Barangnya")
            Exit Sub
        End If

        If tabelRuslan.Rows.Find(Kdgbrg_36110054.Text) Is Nothing Then
            tabelRuslan.Rows.Add(Kdgbrg_36110054.Text, Nmabrg_36110054.Text, Val(Unit_36110054.Text), Val(Hrg_36110054.Text), Val(Jmlh_36110054.Text))
        Else
            MsgBox("Kode Barang Sudah Ada, Masukkan Kode Barang yang Lain!")
            Exit Sub
        End If

        Kdgbrg_36110054.Text = ""
        Unit_36110054.Text = ""
        Hrg_36110054.Text = ""

        Hitung()
    End Sub

    Private Sub SIMPAN_36110054_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles simpan_36110054.Click
        If NOtrans_36110054.Text.Length = 0 Then
            MsgBox("Anda Harus Masukkan No Transaksinya")
            Exit Sub
        End If
        If Jnstrans_36110054.Text.Length = 0 Then
            MsgBox("Anda Harus Masukkan Jenis Transaksinya")
            Exit Sub
        End If

        If tabelRuslan.Rows.Count = 0 Then
            MsgBox("Datanya Belum Ada, Masukkan Kode Barang, Unit dan harganya")
            Exit Sub
        End If

        Dim Periksa As New ByIskandar.CariKeDataBaseByIskandar
        Periksa.AturPencarianDataBase("MASTERTRANSAKSI", "NOTRANS", NOtrans_36110054.Text, 1, ruslan)
        If Periksa.JumlanBaris > 0 Then
            MsgBox("No Transaksi Sudah Ada, Masukkan No Transaksi yang Lain")
            Exit Sub
        End If

        Dim ruru As New OleDb.OleDbCommand
        ruru = New OleDb.OleDbCommand("Insert Into MASTERTRANSAKSI (NOTRANS, TANGGALTRANSAKSI, JENISTRANSAKSI) " & _
        "Values ('" & NOtrans_36110054.Text & "', #" & Tgl_36110054.Value.Month & "/" & Tgl_36110054.Value.Day & "/" & Tgl_36110054.Value.Year & "#, '" & Jnstrans_36110054.Text & "')", ruslan)
        ruslan.Open()
        ruru.ExecuteNonQuery()
        ruslan.Close()

        For Each row As DataRow In tabelRuslan.Rows
            ruru = New OleDb.OleDbCommand("Insert Into DETAILTRANSAKSI (NOTRANS, KODEBARANG, UNIT, HARGA) " & _
            "Values ('" & NOtrans_36110054.Text & "', '" & row("KODEBARANG") & "', " & row("UNIT") & ", " & row("HARGA") & ")", ruslan)
            ruslan.Open()
            ruru.ExecuteNonQuery()
            ruslan.Close()
        Next
        ruru.Dispose()

        NOtrans_36110054.Text = ""
        Jnstrans_36110054.Text = ""

        tabelRuslan.Rows.Clear()

        Hitung()
    End Sub
End Class



Tidak ada komentar:

Posting Komentar