Anda di halaman 1dari 4

LATIHAN 22

Memanfaatkan DB-Grid Untuk Editing Data Tabel Bantu

TUJUAN : Mengenalkan konsep memasukkan data lebih dari 1 item pada form yang
sama menggunakan db grid..

PERINTAH :
1. buatlah form faktur sederhana seperti tampak pada halaman berikut
2. Data control yanng dibuat:
a. Data1 untuk tabel bantu
(tabel bantu ini berisi field nobrg, namabrg, unitbeli, hargabeli dan
nilai)
b. Data2 untuk tabel stock (nobrg, namabrg, kode, hargabrg, unitbrg)
3. Dbgrid dipakai sebagai tempat untuk memasukkan, mengedit dan
menampilkan data. DbGrid berupa tampilan seperti work-sheet yang terdiri
sel-sel yang terbentuk dari Kolom dan baris. Nomor kolom dimulai dari 0, 1, 2
dst. Sesuai jumlah yang ada.
4. proses yang terjadi :
a. nomor faktur, nama customer dan tanggal diisi secara manual
b. transaksi penjualan ini dimungkinkan untuk menjual barang lebih dari
satu item. Data item barang yang dijual dimasukkan, diedit, dihitung
melalui bantuan db-grid.
c. Asumsi kita yang pertama adalah data di dbgrid adalah kosong (tidak
memiliki data dalam recordnya)
d. Memasukkan data barang adalah didasarkan pada no barang. Demikian
nomor barang dimasukkan maka program akan mencari data tersebut
di tabel stock. Jika ketemu maka namanya ditampilkan di sel nama
barang, kode barang (kelompok barang) ditampilkan di sel kodebrg,
dan harga beli ditampilkan di sel hargabeli. Poiter dipindah ke sel
unitbeli.

JOB SHEET - VISUAL BASIC DASAR Hal: 48


5. Tuliskan perintah berikut ini untuk melengkapi programnya

Private Sub CmdSimpan_Click()


Data1.Recordset.AddNew
Text1.setfocus

End Sub

Private Sub CmdSelesai_Click()


End
End Sub

Private Sub DBGrid1_AfterColEdit(ByVal ColIndex As Integer)

'simpan data ke memory


mhargaawal = Data1.Recordset!hargabeli
munitawal = Data1.Recordset!unitbeli

'JIKA YANG DIEDIT NOMOR BARANG


If DBGrid1.Col = 0 Then
Data2.Recordset.Index = "nobrg"
Data2.Recordset.Seek "=", DBGrid1.SelText
If Data2.Recordset.NoMatch Then
Beep
DBGrid1.Col = 0
Exit Sub
End If

'jika data barang ada tampilkan

JOB SHEET - VISUAL BASIC DASAR Hal: 49


Data1.Recordset.Edit
Data1.Recordset!nama = Data2.Recordset!namabrg
Data1.Recordset!hargabeli = Data2.Recordset!hargabrg
Data1.Recordset.Update
DBGrid1.Refresh
DBGrid1.Col = 3
Exit Sub
End If

'JIKA YG DI EDIT UNIT BELI

If DBGrid1.Col = 3 Then

'data di unit beli diganti dengan unit yang diinputkan baru


Data1.Recordset.Edit
Data1.Recordset!unitbeli = DBGrid1.SelText
Data1.Recordset.Update

'dihitung NILAI
BARU = Data1.Recordset!hargabeli * Data1.Recordset!unitbeli
Data1.Recordset.Edit
Data1.Recordset!nilai = BARU
Data1.Recordset.Update
DBGrid1.Refresh

'dihitung total nilai


totnilaibaru = Val(Text4.Text) + (Data1.Recordset!unitbeli - munitawal) * Data1.Recordset!hargabeli
Text4.Text = totnilaibaru
DBGrid1.Col = 4
Exit Sub
End If

'JIKA YG DIEDIT HARGA BARANG

If DBGrid1.Col = 4 Then

Data1.Recordset.Edit
Data1.Recordset!hargabeli = DBGrid1.SelText
Data1.Recordset.Update
BARU = Data1.Recordset!hargabeli * Data1.Recordset!unitbeli
Data1.Recordset.Edit
Data1.Recordset!nilai = BARU
Data1.Recordset.Update
DBGrid1.Refresh

'hitung total nilai


totnilaibaru = Val(Text4.Text) + (Data1.Recordset!hargabeli - mhargaawal) * Data1.Recordset!unitbeli
Text4.Text = totnilaibaru

JOB SHEET - VISUAL BASIC DASAR Hal: 50


Data1.Recordset.Move posisi
DBGrid1.Col = 0
Exit Sub
End If
End Sub

Private Sub Form_Activate()


Data1.Recordset.MoveFirst
Do While Not Data1.Recordset.EOF
Data1.Recordset.Delete
Data1.Recordset.MoveNext
Loop
For N = 1 To 10
Data1.Recordset.AddNew
Data1.Recordset!unitbeli = 0
Data1.Recordset!hargabeli = 0
Data1.Recordset!nilai = 0
Data1.Recordset.Update

Next N
Data1.Recordset.MoveFirst

End Sub

Keterangan :

Data1 adalah tabelbantu

Data 2 adalah Tabel Stok

JOB SHEET - VISUAL BASIC DASAR Hal: 51

Anda mungkin juga menyukai