Minggu, 04 November 2012

Latihan_38_46110037

Deskripsi Form Latihan 38
Terdapat 5 object yaitu Label; DataGridView; DateTimePicker, Textbox dan Button.
Object Label
Terdapat 6 Label yaitu  No.Transaksi; Tanggal; Jenis Transaksi; Kode Barang; Nama Barang; Unit; Harga; Jumlah dan Total
Object DataGridView
Terdapat 1 DataGridView yang akan menampilkan data table.
Object DateTimePicker
Terdapat 1 DateTimePicker yaitu Tanggal.
Object Textbox
Terdapat 6 textbox yang berstatus Input yaitu  No.Transaksi; Jenis Transaksi; Kode Barang; Unit; Harga dan Total, sedangkan Textbox yang berstatus ReadOnly Nama Barang dan Jumlah
Object Button
Terdapat 2 button yaitu Tombol Insert dan Save. Ketika Tombol Insert di click maka akan menambah data yang diinput kedalam data table yang muncul pada datagridview . Ketika tombol Save diclick maka data yang ada di data table akan tersimpan di data access.
Script Unique
Tidak ada Script Unique pada latihan ini karena hampir sama dengan latihan sebelumnya.
Even
Load, click
Property
TextBox -> ReadOnly
Langkah-Langkah Menjalankan Form Latihan 38 46110037
Click Start Debugging untuk menjalankan Script Latihan_38_46110037, masukkan data pada semua textbox dan datetimepicker, kemudian click Tombol Insert, maka data yang diinput akan mucul pada tabel yang ada di data gridview,  click tombol Save untuk menyimpan data tersebut kedalam file access.
Langkah-langkah Menyelesaikan Form Latihan 38 46110037
  • Buka project yang telah dibuat.
  • Buat form baru, caranya click Project pada Toolbar pilih Add Windows Form kemudian ketik nama form yang diinginkan lalu click Add
  • Buat desain form seperti gambar di atas (Latihan_38_46110037) dengan menggunakan Label; DataGridView; DateTimePicker, Textbox dan Button.
  • Ganti nama DataGridView, Textbox, DateTimePicker dan Button di properties-Name,
  • Click Kanan pada design Latihan_38_46110037 lalu pilih View Code kemudian buatlah Script seperti dibawah ini:
Public Class LATIHAN_38_46110037
    Dim Jalan As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source =" & Application.StartupPath & "\Datamajemuk.ACCDB")
    Dim INNA As New DataTable
    Private Sub HITUNGTOTAL()
        Dim ttotal As Integer
        For Each hasil As DataRow In INNA.Rows
            ttotal += hasil("Jumlah")
        Next
        Total46110037.Text = ttotal
    End Sub
    Private Sub LATIHAN_38_46110037_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim MOTOR As New OleDb.OleDbDataAdapter

        MOTOR = New OleDb.OleDbDataAdapter("SELECT detailtransaksi.kodebarang,barang.namabarang,detailtransaksi.unit,detailtransaksi.harga, detailtransaksi.unit * detailtransaksi.harga as jumlah FROM DETAILTRANSAKSI inner join barang on detailtransaksi.kodebarang=barang.kodebarang where detailtransaksi.notrans='" & NT46110037.Text & "'", Jalan)

        INNA.Rows.Clear()

        MOTOR.Fill(INNA)

        MOTOR.Dispose()
        Showme46110037.DataSource = INNA

        Dim kabotcibay(2) As DataColumn
        kabotcibay(0) = INNA.Columns("Kodebarang")
        INNA.PrimaryKey = kabotcibay
    End Sub
    Private Sub KB46110037_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KB46110037.Leave
        If KB46110037.Text.Length = 0 Then
            Exit Sub
        End If

        Dim Pencari As New ByIskandar.CariKeDataBaseByIskandar
        Pencari.AturPencarianDataBase("barang", "kodebarang", KB46110037.Text, 1, Jalan)
        If Pencari.JumlanBaris > 0 Then
            NB46110037.Text = Pencari.DataTablenya.Rows(0).Item(1)
        Else
            MsgBox("the data is not exist, please choose from the this list")
            If LATIHAN_383940_46110037.ShowDialog = Windows.Forms.DialogResult.OK Then
                KB46110037.Text = LATIHAN_383940_46110037.view46110037.CurrentRow.Cells("KodeBarang").Value
                NB46110037.Text = LATIHAN_383940_46110037.view46110037.CurrentRow.Cells("namabarang").Value
                Harga46110037.Text = LATIHAN_383940_46110037.view46110037.CurrentRow.Cells("hargajual").Value
            Else
                KB46110037.Text = ""
                NB46110037.Text = ""
            End If
        End If

    End Sub
    Private Sub Tambah46110037_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tambah46110037.Click
        If KB46110037.Text.Length = 0 Then
            MsgBox("Please, insert the code of goods")
            Exit Sub
        End If

        If Unit46110037.Text.Length = 0 Then
            MsgBox("Please, insert the unit of goods")
            Exit Sub
        End If

        If Harga46110037.Text.Length = 0 Then
            MsgBox("Please, insert the cost of goods")
            Exit Sub
        End If

        Dim drlebay As DataRow
        drlebay = INNA.Rows.Find(KB46110037.Text)
        If Not drlebay Is Nothing Then
            MsgBox("Sorry, the data has been exist!!! Please insert new data")
            Exit Sub
        End If

        INNA.Rows.Add(KB46110037.Text, NB46110037.Text, Val(Unit46110037.Text), Val(Harga46110037.Text), Jumlah46110037.Text)

        HITUNGTOTAL()

        KB46110037.Text = ""
        NB46110037.Text = ""
        Unit46110037.Text = ""
        Harga46110037.Text = ""
        Jumlah46110037.Text = ""
    End Sub
    Private Sub Unit_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Unit46110037.TextChanged, Harga46110037.TextChanged
        Jumlah46110037.Text = Val(Unit46110037.Text) * Val(Harga46110037.Text)
    End Sub
    Private Sub Simpan46110037_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Simpan46110037.Click
        If NT46110037.Text.Length = 0 Then
            MsgBox("Please, insert the Number of the transaction")
            Exit Sub
        End If

        If JT46110037.Text.Length = 0 Then
            MsgBox("Please, insert the type of the transaction")
            Exit Sub
        End If

        If INNA.Rows.Count = 0 Then
            MsgBox("the data is none")
            Exit Sub
        End If

        Dim search As New ByIskandar.CariKeDataBaseByIskandar
        search.AturPencarianDataBase("mastertransaksi", "notrans", NT46110037.Text, 1, Jalan)
        If search.JumlanBaris > 0 Then
            MsgBox("the code has been exist")
            Exit Sub
        End If

        Dim MOBIL As New OleDb.OleDbCommand
        MOBIL = New OleDb.OleDbCommand("insert into mastertransaksi (notrans,tanggaltransaksi,jenistransaksi) values ('" & NT46110037.Text & "',#" & TANGGAL46110037.Value.Month & "/" & TANGGAL46110037.Value.Day & "/" & TANGGAL46110037.Value.Year & "#,'" & JT46110037.Text & "')", Jalan)
        Jalan.Open()
        MOBIL.ExecuteNonQuery()
        Jalan.Close()

        For Each MUTH As DataRow In INNA.Rows
            MOBIL = New OleDb.OleDbCommand("insert into detailtransaksi (notrans,kodebarang,unit,harga) values ('" & NT46110037.Text & "','" & MUTH("kodebarang") & "'," & MUTH("unit") & "," & MUTH("harga") & ")", Jalan)
            Jalan.Open()
            MOBIL.ExecuteNonQuery()
            Jalan.Close()

        Next
        MOBIL.Dispose()

        NT46110037.Text = ""
        JT46110037.Text = ""

        INNA.Rows.Clear()

        Me.Close()

    End Sub
End Class
  • save dan Click Start Debugging untuk menjalankan form


Tidak ada komentar:

Posting Komentar