Latihan_40B_46110022


Deskripsi Form Latihan_40B 46110022
Dalam form ini terdapat 5 buah object yaitu object label, button, textbox, StatusStrip dan DataGriedView.

Object Label
Terdapat 4 buah object label yaitu No.Transakasi, Tgl Transaksi, Jenis Transaksi dan Total.

Object Textbox
Terdapat 3 buah object textbox yang berfungsi untuk menginput data yang akan ditampilkan di database.

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.

Object StatusStrip
Terdapat sebuah object StatusStrip yang berguna untuk menampilkan no.transaksi data yang di edit.


Script Unique

Tidak terdapat script unique pada form latihan ini.
   
Even
Click
Load
CellContentClick

Langkah-Langkah Membuat Form Latihan 40B_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_40B_46110022
    Dim alfa As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source =" & Application.StartupPath & "\Datamajemuk.ACCDB")
    Dim ega As New DataTable
    Dim baru(1) As DataColumn

    Public Sub noldi()
        Dim ttotal As Integer
        For Each hasil As DataRow In ega.Rows
            ttotal += hasil("Jumlah")
        Next
        total46110022.Text = ttotal
    End Sub
    Public Sub makecolumn()
        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


        baru(0) = ega.Columns("kodebarang")
        ega.PrimaryKey = baru
        dgv46110022.DataSource = ega

    End Sub

    Private Sub Latihan_40B_46110022_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        makecolumn()
    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

        If replace46110022.Text <> no46110022.Text Then
            Dim PENCARI As New ByIskandar.CariKeDataBaseByIskandar
            PENCARI.AturPencarianDataBase("mastertransaksi", "notrans", no46110022.Text, 1, alfa)

            If PENCARI.JumlanBaris > 0 Then
                MsgBox("The data has been exist please insert new data")
                Exit Sub
            End If
        End If

        Dim data As Integer = Val(replace46110022.Text)
        Dim kacci As New OleDb.OleDbCommand
        kacci = New OleDb.OleDbCommand("delete * from mastertransaksi where notrans='" & replace46110022.Text & "'", alfa)
        alfa.Open()
        kacci.ExecuteNonQuery()
        alfa.Close()

        kacci = New OleDb.OleDbCommand("delete * from detailtransaksi where notrans='" & replace46110022.Text & "'", alfa)
        alfa.Open()
        kacci.ExecuteNonQuery()
        alfa.Close()

        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()

        Latihan_40A_46110022.grabdata()

        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 40B seperti berikut :



    7. Selamat mencoba, semoga berhasil :)

0 Responses