Latihan_39_46110022


Deskripsi Form Latihan_39 46110022
Dalam form ini terdapat 4 buah object yaitu object textbox, label, datetimepicker dan DataGriedView.

Object Label
Terdapat 4 buah object label yaitu no transaksi, tanggal, jenis transaksi, kode barang, unit,nama barang, jumlah, total dan harga.

Object  Textbox
Terdapat 3 buah object textbox yang berstatus input yang berfungsi untuk menginput data ke dalam data table.

Object  DateTimePicker
Terdapat sebuah object datetimepicker yang digunakkan untuk menginput date pada data table.

Object DataGriedView
Terdapat sebuah objek DataGriedView yang berfungsi untuk menampilkan data ke dalam bentuk tabel yang terdiri dari baris dan kolom.

Object Button
Terdapat sebuah object button yaitu “simpan” yang berfungsi untuk menyimpan data yang telah diinput di latihan ini ke dalam database.

Script Unique
1.   Mengosongkan data :
dgv46110022.CurrentRow.Cells("NamaBarang").Value = ""
dgv46110022.CurrentRow.Cells("Unit").Value = 0

2.   Mencari data yang ada di table :
Dim Pencari As New ByIskandar.CariKeDataBaseByIskandar
            Pencari.AturPencarianDataBase("barang", "kodebarang", dgv46110022.CurrentRow.Cells("kodebarang").Value, 1, alfa)
            If Pencari.JumlanBaris > 0 Then
                dgv46110022.CurrentRow.Cells("kodebarang").Value = Pencari.DataTablenya.Rows(0).Item(0)
                dgv46110022.CurrentRow.Cells("namabarang").Value = Pencari.DataTablenya.Rows(0).Item(1)
            Else
                MsgBox("the data is not found")

3.   Menghitung jumlah dan total :
ElseIf e.ColumnIndex = 2 Or e.ColumnIndex = 3 Then
            dgv46110022.CurrentRow.Cells("jumlah").Value = dgv46110022.CurrentRow.Cells("unit").Value * dgv46110022.CurrentRow.Cells("harga").Value
            noldi()
        End If
   
Even
Click
Load
CellContentClick

Langkah-Langkah Membuat Form Latihan 39_46110022

1. Buat form baru seperti langkah berikut :


2. Input nama form pada kolom yang tersedia, lalu klik "add" seperti berikut :

3. Buat desain form seperti gambar berikut :

 

4. Input script di bawah ini :

Public Class Latihan_39_46110022
    Dim alfa As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source =" & Application.StartupPath & "\Datamajemuk.ACCDB")
    Dim ega As New DataTable
    Private Sub noldi()
        Dim ttotal As Integer
        For Each hasil As DataRow In ega.Rows
            ttotal += hasil("Jumlah")
        Next
        tot46110022.Text = ttotal
    End Sub
  
    Private Sub Latihan_39_46110022_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim bojel As New OleDb.OleDbDataAdapter
        bojel = 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='" & no46110022.Text & "'", alfa)
        ega.Rows.Clear()

        bojel.Fill(ega)
        bojel.Dispose()

        ega.Columns("Kodebarang").DefaultValue = ""
        ega.Columns("NamaBarang").DefaultValue = ""
        ega.Columns("unit").DefaultValue = 0
        ega.Columns("harga").DefaultValue = 0
        ega.Columns("jumlah").DefaultValue = 0

        ega.Columns("NamaBarang").ReadOnly = True


        dgv46110022.DataSource = ega

        Dim kabotcibay(2) As DataColumn
        kabotcibay(0) = ega.Columns("Kodebarang")
        ega.PrimaryKey = kabotcibay
    End Sub

    Private Sub dgv46110022_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgv46110022.CellContentClick
        If e.ColumnIndex = 0 Then
            dgv46110022.CurrentRow.Cells("NamaBarang").Value = ""
            dgv46110022.CurrentRow.Cells("Unit").Value = 0
            dgv46110022.CurrentRow.Cells("harga").Value = 0
            dgv46110022.CurrentRow.Cells("Jumlah").Value = 0

            Dim Pencari As New ByIskandar.CariKeDataBaseByIskandar
            Pencari.AturPencarianDataBase("barang", "kodebarang", dgv46110022.CurrentRow.Cells("kodebarang").Value, 1, alfa)
            If Pencari.JumlanBaris > 0 Then
                dgv46110022.CurrentRow.Cells("kodebarang").Value = Pencari.DataTablenya.Rows(0).Item(0)
                dgv46110022.CurrentRow.Cells("namabarang").Value = Pencari.DataTablenya.Rows(0).Item(1)
            Else
                MsgBox("the data is not found")
                If Latihan_38_39_40_46110022.ShowDialog = Windows.Forms.DialogResult.OK Then
                    dgv46110022.CurrentRow.Cells("kodebarang").Value = Latihan_38_39_40_46110022.dgv46110022.CurrentRow.Cells("KodeBarang").Value
                    dgv46110022.CurrentRow.Cells("Namabarang").Value = Latihan_38_39_40_46110022.dgv46110022.CurrentRow.Cells("namabarang").Value
                End If
            End If

        ElseIf e.ColumnIndex = 2 Or e.ColumnIndex = 3 Then
            dgv46110022.CurrentRow.Cells("jumlah").Value = dgv46110022.CurrentRow.Cells("unit").Value * dgv46110022.CurrentRow.Cells("harga").Value
            noldi()
        End If
    End Sub

    Private Sub simpan46110022_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles simpan46110022.Click
        If no46110022.Text.Length = 0 Then
            MsgBox("Please, insert the Number of the transaction")
            Exit Sub
        End If

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

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

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

        Dim kacci As New OleDb.OleDbCommand
        kacci = New OleDb.OleDbCommand("insert into mastertransaksi (notrans,tanggaltransaksi,jenistransaksi) values ('" & no46110022.Text & "',#" & tgl46110022.Value.Month & "/" & tgl46110022.Value.Day & "/" & tgl46110022.Value.Year & "#,'" & jenis46110022.Text & "')", alfa)
        alfa.Open()
        kacci.ExecuteNonQuery()
        alfa.Close()

        For Each syg As DataRow In ega.Rows
            kacci = New OleDb.OleDbCommand("insert into detailtransaksi (notrans,kodebarang,unit,harga) values ('" & no46110022.Text & "','" & syg("kodebarang") & "'," & syg("unit") & "," & syg("harga") & ")", alfa)
            alfa.Open()
            kacci.ExecuteNonQuery()
            alfa.Close()

        Next
        kacci.Dispose()

        no46110022.Text = ""
        jenis46110022.Text = ""

        ega.Rows.Clear()

        Me.Close()

    End Sub
End Class  

     5.  Jalankan program dengan cara mengklik start debugging seperti berikut :

     6. Setelah menekan start debug, maka akan tampil hasil dari latihan 39 seperti berikut :



    7. Selamat mencoba, semoga berhasil :)

0 Responses