Anda di halaman 1dari 8

Menggunakan Tabel Bantu untuk mencatat transaksi lebih

dari 1 item barang

TUJUAN : Mengenalkan konsep tabel bantu untuk memasukkan data lebih dari 1 item pada
form yang sama.

PERINTAH :

1. buatlah form faktur sederhana seperti tampak pada halaman berikut


2. Data control yanng dibuat:
a. Data1 untuk tabel BANTU
b. Data2 untuk tabel JUAL
c. Data3 untuk tabel CUSTOMER
d. Data4 untuk tabel BARANG
3. Dbgrid dipakai menampilkan data. DbGrid berupa tampilan seperti work-sheet yang
terdiri sel-sel yang terbentuk dari Kolom dan baris.
4. proses yang terjadi :
a. tabel bantu disiapkan sebanyak 10 record kosong
b. nomor faktur dan tanggal diisi secara manual
c. nomor customer diisi. Selesai pengisian dicari data nomor customer tersebut
ke Tabel Customer. Jika ketemu tampilkan di text box.
d. transaksi penjualan ini dimungkinkan untuk menjual barang lebih dari satu
item. Data item barang yang dijual dimasukkan, diedit, dihitung melalui
bantuan text-box dan hasilnya disimpan di file bantu dan di tampilkan di
dbgrid.
i. Asumsi kita yang pertama adalah data di dbgrid adalah kosong (tidak
memiliki data dalam recordnya)
ii. Memasukkan data barang adalah didasarkan pada no barang. Demikian
nomor barang dimasukkan maka program akan mencari data tersebut
di tabel Barang. Jika ketemu maka namanya ditampilkan di text nama
barang, dan harga jual ditampilkan di text hargajual. Pointer dipindah
ke sel unitjual.
iii. Nilai dihitung dari harga jual kali unit jual
iv. Jumlah seluruh transaksi ditampilkan di text jumlah trasaksi.
e. Jika command “simpan” di click maka data di textbox disimpan ke record di
tabel bantu. Ditanyakan apakah ada transaksi lainnya.

5. PENTING
UNTUK LATIHAN KALI INI PENYIMPANAN DATA KE TABEL JUAL DAN
PENGARUHNYA KE TABEL CUSTOMER DAN TABEL BARANG BELUM
DIBAHAS
Code Programnya :

Private Sub Command1_Click()


'jika disimpan, maka seluruh data dari text di form disimpan ke tabel bantu
Data1.Recordset.Edit
Data1.Recordset!notran = Text1.Text
Data1.Recordset!nocust = Text2.Text
Data1.Recordset!nobrg = Text5.Text
Data1.Recordset!nama = Text6.Text
Data1.Recordset!unitjual = Text8.Text
Data1.Recordset!hargajual = Text9.Text
Data1.Recordset!nilai = Text10.Text
Data1.Recordset.Update
Data1.Recordset.MoveNext

'ditanyakan masih ada data lain yg dijual tidak


'jika masih, data barang dikosongkan siap diisi data baru
jawab = MsgBox("masih ada barang lain dibeli?", vbYesNo)
If jawab = vbYes Then
Text5.Text = ""
Text6.Text = ""
Text8.Text = 0
Text9.Text = 0
Text10.Text = 0
Text5.SetFocus
Else
Command2.SetFocus
End If

End Sub

Private Sub Command2_Click()


End
End Sub

Private Sub Form_Activate()

'data di tabel bantu dihapus dan dibuat record kosong baru


'sebanyak 10 record
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!unitjual = 0
Data1.Recordset!hargajual = 0
Data1.Recordset!nilai = 0
Data1.Recordset.Update
Next N

Data1.Recordset.MoveFirst

'seluruh text dalam form di kosongkan


Text1.Text = ""
Text2.Text = ""
Text3.Text = " "
Text4.Text = " "
Text5.Text = " "
Text6.Text = " "
Text8.Text = 0
Text9.Text = 0
Text10.Text = 0
Text12.Text = 0
End Sub

Private Sub Text2_LostFocus()

'setelah diiisikan no customer kemudian dicari ke tabel customer dan ditampilkan


Data3.Recordset.Index = "nocutdex"
Data3.Recordset.Seek "=", Text2.Text
If Data3.Recordset.NoMatch Then
pesan = MsgBox("DATA TIDAK KETEMU", vbOKOnly)
Text1.SetFocus
Exit Sub
End If
Text3.Text = Data3.Recordset!NAMACUST
Text4.Text = Data3.Recordset!ALAMATCUST
Text5.SetFocus

End Sub

Private Sub Text5_LostFocus()

'setelah diiisikan no barang kemudian dicari ke tabel barang dan ditampilkan nama dan harga
barang
Data4.Recordset.Index = "nobrg"
Data4.Recordset.Seek "=", Text5.Text
If Data4.Recordset.NoMatch Then
pesan = MsgBox("DATA TIDAK KETEMU", vbOKOnly)
Text4.SetFocus
Exit Sub
End If
Text6.Text = Data4.Recordset!namabrg
Text9.Text = Data4.Recordset!hargabrg
Text8.SetFocus
End Sub

Private Sub Text8_LostFocus()

'setelah diisi dengan jumlah barang dibeli maka kemudian dihitung nilai dan jumlah
transaksinya
nilai = Text9 * Text8
Text10.Text = nilai
jumlah = Text12 + nilai
Text12.Text = jumlah
Command1.SetFocus
End Sub
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 :
6. buatlah form faktur sederhana seperti tampak pada halaman berikut
7. 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)
8. 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.
9. 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.
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

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
Data1.Recordset.Move posisi
DBGrid1.Col = 0
Exit Sub
End If
End Sub

Private Sub Form_Activate()


‘ menghapus seluruh data di tabel bantu
Data1.Recordset.MoveFirst
Do While Not Data1.Recordset.EOF
Data1.Recordset.Delete
Data1.Recordset.MoveNext
Loop

‘membuat 10 record kosong baru di tabel bantu


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

Anda mungkin juga menyukai