Buatlah database dan beberapa tabel menggunakan program Microsoft Access sesuai dengan
ketentuan berikut ini :
1
Eko Sugiharto, S.Kom
Setelah pembuatan database dan tabel menggunakan Microsoft Access selesai, selanjutnya ikuti
langkah-langkah berikut ini :
1. Aktifkan Microsoft Visual Basic 6.0
2. Kemudian klik Project – References untuk menambahkan Reference Microsoft ActiveX Data Objects
2.0 Library.
3. Pilih Microsoft ActiveX Data Objects 2.0 Library pada kotak dialog References
4. Tambahkan Module untuk menuliskan deklarasi variabel global dan procedure untuk koneksi database
Eko Sugiharto,
2
5. Ketik kode program sesuai contoh berikut ini :
Option Explicit
Public KonekDB As ADODB.Connection
Public Rs_Barang As New ADODB.Recordset
Public Rs_Supplier As New ADODB.Recordset
Public Rs_Beli As New ADODB.Recordset
Public Rs_Keluar As New ADODB.Recordset
'Deklarasi Variabel
Public strKonekDB As String
Public SQL As String
3
Eko Sugiharto,
8. Rancanglah form Data Barang dengan menambahkan 4 Label, 3 TextBox, 1 ComboBox, 1 Frame, 4
CommandButton dan 1 MsFlexGrid seperti contoh berikut ini:
9. Kemudian atur properti masing-masing objek seperti tertera pada tabel berikut ini :
Nama Objek Properti Nilai Pengaturan
Form1 Name frmBarang
Caption Data Barang
Label1 Caption Kode Barang
Label2 Caption Nama Barang
Label3 Caption Satuan
Label4 Caption Stok
Text1 Name txtKode
Text (Kosongkan)
Text2 Name txtNama
Text (Kosongkan)
Text3 Name txtStok
Text (Kosongkan)
Combo1 Name cbSatuan
Text Kosongkan
Frame1 Caption Proses
Command1 Name cmdInput
Caption &Input
Command2 Name cmdEdit
Caption &Edit
Command3 Name cmdHapus
Caption &Hapus
Command4 Name cmdTutup
Caption &Tutup
MsFlexGrid1 Name GridData
4
Eko Sugiharto,
10. Sehingga tampilan akhirnya menjadi seperti berikut ini :
Sub Aktif()
txtKode.Enabled = True
txtNama.Enabled = True
cbSatuan.Enabled = True
txtStok.Enabled = True
End Sub
Sub Kosong()
txtKode.Text = ""
txtNama.Text = ""
cbSatuan.Text = ""
txtStok.Text = ""
End Sub
5
txtStok.SetFocus
Eko Sugiharto,
Else
SQL = ""
SQL = "SELECT * FROM Barang WHERE Kode_Brg = '" & txtKode.Text & "'"
Set Rs_Barang = New ADODB.Recordset
Rs_Barang.Open SQL, KonekDB, adOpenDynamic, adLockOptimistic
If Not Rs_Barang.BOF Then
With Rs_Barang
.Fields!Kode_Brg = Trim(txtKode.Text)
.Fields!Nama_Brg = Trim(txtNama.Text)
.Fields!Satuan = Trim(cbSatuan.Text)
.Fields!Stok = Trim(txtStok.Text)
.Update
End With
Rs_Barang.Requery
Call Kosong
Call NonAktif
Call TampilGrid
MsgBox "Data berhasil diedit", vbOKOnly + vbInformation, "Informasi"
Else
MsgBox "Data gagal diedit", vbOKOnly + vbInformation, "Informasi"
End If
End If
End If
End Sub
6
End With
Eko Sugiharto,
Rs_Barang.Requery
Call Kosong
Call NonAktif
Call TampilGrid
MsgBox "Data berhasil tersimpan", vbOKOnly + vbInformation, "Informasi"
Else
MsgBox "Data tidak tersimpan", vbOKOnly + vbInformation, "Informasi"
End If
End If
End If
End Sub
Sub AktifGrid()
With GridData
.Cols = 5
.RowHeightMin = 300
.Col = 0
.Row = 0
.Text = "No"
.CellFontBold = True
.ColWidth(0) = 400
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
.RowHeightMin = 300
.Col = 1
.Row = 0
.Text = "Kode Barang"
.CellFontBold = True
.ColWidth(1) = 1750
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
.Col = 2
.Row = 0
.Text = "Nama Barang"
.CellFontBold = True
.ColWidth(2) = 2500
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
.Col = 3
.Row = 0
.Text = "Satuan"
.CellFontBold = True
.ColWidth(3) = 1500
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
.Col = 4
.Row = 0
.Text = "Stok"
.CellFontBold = True
.ColWidth(4) = 1000
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
End With
End Sub
7
Eko Sugiharto,
Sub TampilGrid()
Dim baris As Integer
GridData.Clear
Call AktifGrid
GridData.Rows = 2
baris = 0
Set Rs_Barang = New ADODB.Recordset
Rs_Barang.Open "SELECT * FROM Barang", KonekDB, adOpenDynamic, adLockOptimistic
If Rs_Barang.BOF Then
Exit Sub
Else
With Rs_Barang
.MoveFirst
Do While Not .EOF
On Error Resume Next
baris = baris + 1
GridData.Rows = baris + 1
GridData.TextMatrix(baris, 0) = baris
GridData.TextMatrix(baris, 1) = !Kode_Brg
GridData.TextMatrix(baris, 2) = !Nama_Brg
GridData.TextMatrix(baris, 3) = !Satuan
GridData.TextMatrix(baris, 4) = !Stok
.MoveNext
Loop
End With
End If
End Sub
If Rs_Barang.BOF Then
MsgBox "TABEL MASIH KOSONG!", vbOKOnly + vbInformation, "Error"
Exit Sub
Else
Rs_Barang.MoveFirst
Do While Not Rs_Barang.EOF
On Error Resume Next
txtKode.Text = Rs_Barang!Kode_Brg
txtNama.Text = Rs_Barang!Nama_Brg
cbSatuan.Text = Rs_Barang!Satuan
txtStok.Text = Rs_Barang!Stok
Rs_Barang.MoveNext
Loop
cmdEdit.Enabled = True
cmdHapus.Enabled = True
cmdTutup.Caption = "&Batal"
cmdInput.Caption = "&Input"
cmdInput.Enabled = False
Call Aktif
txtKode.Enabled = False
txtNama.SetFocus
End If
End Sub
8
Eko Sugiharto,
13. Tambahkan form baru dan rancanglah form Data Supplier dengan menambahkan 5 Label, 5 TextBox,
1 Frame, 4 CommandButton dan 1 MsFlexGrid seperti contoh berikut ini:
14. Atur properti masing-masing objek seperti tertera pada tabel berikut ini :
Nama Objek Properti Nilai Pengaturan
Form1 Name frmSupplier
Caption Data Supplier
Label1 Caption Kode Supplier
Label2 Caption Nama Supplier
Label3 Caption Alamat
Label4 Caption Kota
Label5 Caption Telepon
Text1 Name txtKode
Text (Kosongkan)
Text2 Name txtNama
Text (Kosongkan)
Text3 Name txtAlamat
Text (Kosongkan)
Text4 Name txtKota
Text (Kosongkan)
Text5 Name txtTelepon
Text (Kosongkan)
Frame1 Caption Proses
Command1 Name cmdInput
Caption &Input
Command2 Name cmdEdit
Caption &Edit
Command3 Name cmdHapus
Caption &Hapus
Command4 Name cmdTutup
Caption &Tutup
MsFlexGrid1 Name GridData
9
Eko Sugiharto,
15. Sehingga tampilan akhirnya menjadi seperti berikut ini :
Sub Aktif()
txtKode.Enabled = True
txtNama.Enabled = True
txtAlamat.Enabled = True
txtKota.Enabled = True
txtTelepon.Enabled = True
End Sub
Sub Kosong()
txtKode.Text = ""
txtNama.Text = ""
txtAlamat.Text = ""
txtKota.Text = ""
txtTelepon.Text = ""
End Sub
Eko Sugiharto,
txtTelepon.S
etFocus
Eko Sugiharto,
Else
SQL = ""
SQL = "SELECT * FROM Supplier WHERE Kode_Supp = '" & txtKode.Text & "'"
Set Rs_Supplier = New ADODB.Recordset
Rs_Supplier.Open SQL, KonekDB, adOpenDynamic, adLockOptimistic
If Not Rs_Supplier.BOF Then
With Rs_Supplier
.Fields!Kode_Supp = Trim(txtKode.Text)
.Fields!Nama_Supp = Trim(txtNama.Text)
.Fields!Alamat = Trim(txtAlamat.Text)
.Fields!Kota = Trim(txtKota.Text)
.Fields!Telepon = Trim(txtTelepon.Text)
.Update
End With
Rs_Supplier.Requery
Call Kosong
Call NonAktif
Call TampilGrid
MsgBox "Data berhasil diedit", vbOKOnly + vbInformation, "Informasi"
Else
MsgBox "Data gagal diedit", vbOKOnly + vbInformation, "Informasi"
End If
End If
End If
End Sub
1
.Fields!Kode_Supp = Trim(txtKode.Text)
Eko Sugiharto,
.Fields!Nama_Supp = Trim(txtNama.Text)
.Fields!Alamat = Trim(txtAlamat.Text)
.Fields!Kota = Trim(txtKota.Text)
.Fields!Telepon = Trim(txtTelepon.Text)
.Update
End With
Rs_Supplier.Requery
Call Kosong
Call NonAktif
Call TampilGrid
MsgBox "Data berhasil tersimpan", vbOKOnly + vbInformation, "Informasi"
Else
MsgBox "Data tidak tersimpan", vbOKOnly + vbInformation, "Informasi"
End If
End If
End If
End Sub
Sub AktifGrid()
With GridData
.Cols = 6
.RowHeightMin = 300
.Col = 0
.Row = 0
.Text = "No"
.CellFontBold = True
.ColWidth(0) = 400
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
.RowHeightMin = 300
.Col = 1
.Row = 0
.Text = "Kode Supplier"
.CellFontBold = True
.ColWidth(1) = 1750
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
.Col = 2
.Row = 0
.Text = "Nama Supplier"
.CellFontBold = True
.ColWidth(2) = 2000
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
.Col = 3
.Row = 0
.Text = "Alamat"
.CellFontBold = True
.ColWidth(3) = 3000
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
.Col = 4
.Row = 0
.Text = "Kota"
.CellFontBold = True
.ColWidth(4) = 1500
1
.AllowUserResizing = flexResizeColumns
Eko Sugiharto,
.CellAlignment = flexAlignCenterCenter
.Col = 5
.Row = 0
.Text = "Telepon"
.CellFontBold = True
.ColWidth(5) = 1500
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
End With
End Sub
Sub TampilGrid()
Dim baris As Integer
GridData.Clear
Call AktifGrid
GridData.Rows = 2
baris = 0
Set Rs_Supplier = New ADODB.Recordset
Rs_Supplier.Open "SELECT * FROM Supplier", KonekDB, adOpenDynamic, adLockOptimistic
If Rs_Supplier.BOF Then
Exit Sub
Else
With Rs_Supplier
.MoveFirst
Do While Not .EOF
On Error Resume Next
baris = baris + 1
GridData.Rows = baris + 1
GridData.TextMatrix(baris, 0) = baris
GridData.TextMatrix(baris, 1) = !Kode_Supp
GridData.TextMatrix(baris, 2) = !Nama_Supp
GridData.TextMatrix(baris, 3) = !Alamat
GridData.TextMatrix(baris, 4) = !Kota
GridData.TextMatrix(baris, 5) = !Telepon
.MoveNext
Loop
End With
End If
End Sub
If Rs_Supplier.BOF Then
MsgBox "TABEL MASIH KOSONG!", vbOKOnly + vbInformation, "Error"
Exit Sub
Else
Rs_Supplier.MoveFirst
Do While Not Rs_Supplier.EOF
On Error Resume Next
txtKode.Text = Rs_Supplier!Kode_Supp
txtNama.Text = Rs_Supplier!Nama_Supp
txtAlamat.Text = Rs_Supplier!Alamat
txtKota.Text = Rs_Supplier!Kota
txtTelepon.Text = Rs_Supplier!Telepon
Rs_Supplier.MoveNext
Loop
cmdEdit.Enabled = True
cmdHapus.Enabled = True
cmdTutup.Caption = "&Batal"
cmdInput.Caption = "&Input"
cmdInput.Enabled = False
Call Aktif
txtKode.Enabled = False
txtNama.SetFocus
End If
End Sub
13
Eko Sugiharto,
18. Tambahkan komponen Microsoft Windows Common Controls-2.6.0
19. Kemudian tambahkan form baru dan rancanglah form Data Pembelian dengan menambahkan 8 Label,
7 TextBox, 1 DTPicker, 1 Frame, 6 CommandButton seperti contoh berikut ini :
20. Atur properti masing-masing objek seperti tertera pada tabel berikut ini :
Nama Objek Properti Nilai Pengaturan
Form1 Name frmPembelian
Caption Data Pembelian
Label1 Caption No. Faktur
Label2 Caption Tanggal
Label3 Caption Kode Supplier
Label4 Caption Nama Supplier
Label5 Alignment Center
BackColor (Pilih Warna)
Caption Kode Barang
Label6 Alignment Center
BackColor (Pilih Warna)
Caption Nama Barang
14
Eko Sugiharto,
Label7 Alignment Center
BackColor (Pilih Warna)
Caption Jumlah
Label8 Caption Total
Text1 Name txtNoFak
Text Kosongkan
Text2 Name txtKdSupp
Text Kosongkan
Text3 Name txtNmSupp
Text Kosongkan
Text4 Name txtKdBrg
Text Kosongkan
Text5 Name txtNmBrg
Text Kosongkan
Text6 Name txtJumlah
Text Kosongkan
Text7 Name txtTotal
Text Kosongkan
DTPicker1 Name dtTanggal
Frame1 Caption Proses
Command1 Name cmdCariSupp
Caption ...
Command2 Name cmdCariBrg
Caption ...
Command3 Name cmdOK
Caption &OK
Command4 Name cmdSimpan
Caption &Simpan
Command5 Name cmdBatal
Caption &Batal
Command6 Name cmdTutup
Caption &Tutup
MsFlexGrid1 Name GridData
21. Sehingga tampilan akhirnya menjadi seperti berikut ini :
15
Eko Sugiharto,
22. Kemudian tambahkan kode program seperti contoh berikut ini :
baris = 1
GridData.Clear
GridData.Rows = 2
AktifGridData
End Sub
Eko Sugiharto,
16
.Col = 1
.Row = 0
.Text = "Nama Barang"
.CellFontBold = True
.ColWidth(1) = 4000
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
.Col = 2
.Row = 0
.Text = "Jumlah"
.CellFontBold = True
.ColWidth(2) = 1000
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
End With
End Sub
SQL = ""
SQL = "UPDATE Barang SET Stok=Stok + " & StokBaru & " WHERE Kode_Brg='" &
Kode & "'"
KonekDB.Execute SQL, , adCmdText
Next i
MsgBox "Data Pembelian telah tersimpan.", vbInformation + vbOKOnly, "Informasi"
Kosong
End If
Else
MsgBox "Maaf! Data pembelian barang masih kosong.", vbOKOnly + vbInformation,
"Informasi"
End If
End Sub
1
Rs_Barang.Open SQL, KonekDB, adOpenDynamic, adLockOptimistic
Eko Sugiharto,
If Not Rs_Barang.BOF Then
txtNmBrg = Rs_Barang.Fields!Nama_Brg
txtJumlah.SetFocus
End If
End If
End Sub
25. Atur properti masing-masing seperti tertera pada tabel berikut ini :
Nama Objek Properti Nilai Pengaturan
Form1 Name frmCariSupplier
Caption Pencarian
Frame1 Caption Kata Kunci
Text1 Name txtCari
Text (Kosongkan)
Command1 Name cmdTutup
Caption &Tutup
MsFlexGrid1 Name GridData
18
Eko Sugiharto,
26. Sehingga tampilan akhirnya menjadi seperti berikut ini :
Sub AktifGridData()
With GridData
.Cols = 6
.RowHeightMin = 300
.Col = 0
.Row = 0
.Text = "No"
.CellFontBold = True
.ColWidth(0) = 400
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
.Col = 1
.Row = 0
.Text = "Kode Supplier"
.CellFontBold = True
.ColWidth(1) = 2000
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
.Col = 2
.Row = 0
.Text = "Nama Supplier"
.CellFontBold = True
.ColWidth(2) = 2000
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
.Col = 3
.Row = 0
.Text = "Alamat"
.CellFontBold = True
.ColWidth(3) = 3500
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
.Col = 4
.Row = 0
.Text = "Kota"
.CellFontBold = True
.ColWidth(4) = 1500
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
19
Eko Sugiharto,
.Col = 5
.Row = 0
.Text = "Telepon"
.CellFontBold = True
.ColWidth(5) = 1800
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
End With
End Sub
Sub TampilGridData()
Dim baris As Byte
GridData.Clear
Call AktifGridData
GridData.Rows = 2
baris = 0
If Rs_Supplier.BOF Then
MsgBox "Data Supplier Masih Kosong..", vbInformation + vbOKOnly, "Informasi"
Exit Sub
Else
With Rs_Supplier
.MoveFirst
Do While Not .EOF
baris = baris + 1
GridData.Rows = baris + 1
GridData.TextMatrix(baris, 0) = baris
GridData.TextMatrix(baris, 1) = !Kode_Supp
GridData.TextMatrix(baris, 2) = !Nama_Supp
GridData.TextMatrix(baris, 3) = !Alamat
GridData.TextMatrix(baris, 4) = !Kota
GridData.TextMatrix(baris, 5) = !Telepon
.MoveNext
Loop
End With
End If
End Sub
If Rs_Supplier.BOF Then
MsgBox "Data Yang Anda Cari Tidak Ditemukan..!", vbInformation + vbOKOnly,
"Informasi"
txtCari.Text = ""
txtCari.SetFocus
Else
Call TampilGridData
End If
End If
End Sub
Eko Sugiharto,
20
29. Tambahkan form baru dan rancanglah form Pencarian Barang dengan menambahkan 1 Frame, 1
TextBox, 1 CommandButton dan 1 MsFlexGrid seperti contoh berikut ini :
30. Atur properti masing-masing seperti tertera pada tabel berikut ini :
Nama Objek Properti Nilai Pengaturan
Form1 Name frmCariBarang
Caption Pencarian
Frame1 Caption Kata Kunci
Text1 Name txtCari
Text (Kosongkan)
Command1 Name cmdTutup
Caption &Tutup
MsFlexGrid1 Name GridData
31. Sehingga tampilan akhirnya menjadi seperti berikut ini :
Sub AktifGridData()
With GridData
.Cols = 4
.RowHeightMin = 300
.Col = 0
.Row = 0
.Text = "No"
.CellFontBold = True
.ColWidth(0) = 400
.AllowUserResizing = flexResizeColumns
2
.CellAlignment = flexAlignCenterCenter
Eko Sugiharto,
.Col = 1
.Row = 0
.Text = "Kode Barang"
.CellFontBold = True
.ColWidth(1) = 2000
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
.Col = 2
.Row = 0
.Text = "Nama Barang"
.CellFontBold = True
.ColWidth(2) = 2000
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
.Col = 3
.Row = 0
.Text = "Stok"
.CellFontBold = True
.ColWidth(3) = 1500
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
End With
End Sub
Sub TampilGridData()
Dim baris As Byte
GridData.Clear
Call AktifGridData
GridData.Rows = 2
baris = 0
If Rs_Barang.BOF Then
MsgBox "Data Barang Masih Kosong..", vbInformation + vbOKOnly, "Informasi"
Exit Sub
Else
With Rs_Barang
.MoveFirst
Do While Not .EOF
baris = baris + 1
GridData.Rows = baris + 1
GridData.TextMatrix(baris, 0) = baris
GridData.TextMatrix(baris, 1) = !Kode_Brg
GridData.TextMatrix(baris, 2) = !Nama_Brg
GridData.TextMatrix(baris, 3) = !Stok
.MoveNext
Loop
End With
End If
End Sub
adLockBatchOptimistic
Eko Sugiharto,
22
If Rs_Barang.BOF Then
MsgBox "Data Yang Anda Cari Tidak Ditemukan..!", vbInformation + vbOKOnly,
"Informasi"
txtCari.Text = ""
txtCari.SetFocus
Else
Call TampilGridData
End If
End If
End Sub
35. Aturlah properti masing-masing objek seperti tertera pada tabel berikut ini :
Nama Objek Properti Nilai Pengaturan
Form1 Name frmPengeluaran
Caption Data Pengeluaran
Label1 Caption No. Keluar
Label2 Caption Tanggal
Label3 Alignment Center
BackColor (Pilih Warna)
Caption Kode Barang
Label4 Alignment Center
BackColor (Pilih Warna)
Caption Nama Barang
Label5 Alignment Center
BackColor (Pilih Warna)
Caption Stok
Label6 Alignment Center
BackColor (Pilih Warna)
Caption Qty Minta
Label7 Caption Total Minta
Text1 Name txtNo
Text Kosongkan
Text2 Name txtKdBrg
Text Kosongkan
Text3 Name txtNmBrg
Text Kosongkan
Text4 Name txtStok
Text Kosongkan
Text5 Name txtJumlah
Text Kosongkan
23
Eko Sugiharto,
Text6 Name txtTotal
Text Kosongkan
DTPicker1 Name dtTanggal
Frame1 Caption Proses
Command1 Name cmdCariBrg
Caption ...
Command2 Name cmdOK
Caption &OK
Command3 Name cmdSimpan
Caption &Simpan
Command4 Name cmdBatal
Caption &Batal
Command5 Name cmdTutup
Caption &Tutup
MsFlexGrid1 Name GridData
baris = 1
GridData.Clear
GridData.Rows = 2
AktifGridData
End Sub
24
Eko Sugiharto,
Eko Sugiharto,
Private Sub cmdOK_Click()
On Error Resume Next
Dim cekKode As String
25
End Sub
Eko Sugiharto,
Private Sub cmdSimpan_Click()
If baris <> 1 Then
If txtNo = "" Then
MsgBox "No. Keluar tidak boleh kosong!", vbOKOnly + vbInformation, "Informasi"
txtNo.SetFocus
Else
'Proses penyimpanan ke Pengeluaran
SQL = ""
SQL = "INSERT INTO Pengeluaran(No_Keluar,Tanggal,Total) VALUES('" & txtNo.Text &
"','" & dtTanggal.Value & "','" & txtTotal.Text & "')"
KonekDB.Execute SQL, , adCmdText
'Proses penyimpanan ke Detail_Keluar
For i = 1 To baris - 1
SQL = ""
SQL = "INSERT INTO Detail_Keluar(No_Keluar,Kode_Brg,Nama_Brg,Stok,Jumlah)
VALUES('" & txtNo.Text & "','" & GridData.TextMatrix(i, 0) & "','" &
GridData.TextMatrix(i, 1) & "','" & GridData.TextMatrix(i, 2) & "','" &
GridData.TextMatrix(i, 3) & "')"
KonekDB.Execute SQL, , adCmdText
Dim JumKeluar As Integer
Dim Kode As String
JumKeluar = Val(GridData.TextMatrix(i, 3))
Kode = GridData.TextMatrix(i, 0)
SQL = ""
SQL = "UPDATE Barang SET Stok=Stok - " & JumKeluar & " WHERE Kode_Brg='" &
Kode & "'"
KonekDB.Execute SQL, , adCmdText
Next i
MsgBox "Data Pengeluaran telah tersimpan.", vbInformation + vbOKOnly,
"Informasi"
Kosong
End If
Else
MsgBox "Maaf! Data Pengeluaran barang masih kosong.", vbOKOnly + vbInformation,
"Informasi"
End If
End Sub
Eko Sugiharto,
26
39. Tambahkan form baru dan rancanglah form Pencarian Barang dengan menambahkan 1 Frame, 1
TextBox, 1 CommandButton dan 1 MsFlexGrid seperti contoh berikut ini :
40. Atur properti masing-masing seperti tertera pada tabel berikut ini :
Nama Objek Properti Nilai Pengaturan
Form1 Name frmCariBarang2
Caption Pencarian
Frame1 Caption Kata Kunci
Text1 Name txtCari
Text (Kosongkan)
Command1 Name cmdTutup
Caption &Tutup
MsFlexGrid1 Name GridData
41. Sehingga tampilan akhirnya menjadi seperti berikut ini :
Sub AktifGridData()
With GridData
.Cols = 4
.RowHeightMin = 300
.Col = 0
.Row = 0
.Text = "No"
.CellFontBold = True
.ColWidth(0) = 400
.AllowUserResizing = flexResizeColumns
2
.CellAlignment = flexAlignCenterCenter
Eko Sugiharto,
.Col = 1
.Row = 0
.Text = "Kode Barang"
.CellFontBold = True
.ColWidth(1) = 2000
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
.Col = 2
.Row = 0
.Text = "Nama Barang"
.CellFontBold = True
.ColWidth(2) = 2000
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
.Col = 3
.Row = 0
.Text = "Stok"
.CellFontBold = True
.ColWidth(3) = 1500
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
End With
End Sub
Sub TampilGridData()
Dim baris As Byte
GridData.Clear
Call AktifGridData
GridData.Rows = 2
baris = 0
If Rs_Barang.BOF Then
MsgBox "Data Barang Masih Kosong..", vbInformation + vbOKOnly, "Informasi"
Exit Sub
Else
With Rs_Barang
.MoveFirst
Do While Not .EOF
baris = baris + 1
GridData.Rows = baris + 1
GridData.TextMatrix(baris, 0) = baris
GridData.TextMatrix(baris, 1) = !Kode_Brg
GridData.TextMatrix(baris, 2) = !Nama_Brg
GridData.TextMatrix(baris, 3) = !Stok
.MoveNext
Loop
End With
End If
End Sub
2
adLockBatchOptimistic
Eko Sugiharto,
If Rs_Barang.BOF Then
MsgBox "Data Yang Anda Cari Tidak Ditemukan..!", vbInformation + vbOKOnly,
"Informasi"
txtCari.Text = ""
txtCari.SetFocus
Else
Call TampilGridData
End If
End If
End Sub
45. Aturlah properti masing-masing objek seperti tertera pada tabel berikut ini :
Nama Objek Properti Nilai Pengaturan
Form1 Name frmLogin
Caption Login
Label1 Caption Username
Label2 Caption Password
Text1 Name txtUser
Text (Kosongkan)
Text2 Name txtPassword
PasswordChar *
Text (Kosongkan)
Command1 Name cmdOK
Caption &OK
Command1 Name cmdBatal
Caption &Batal
46. Sehingga tampilan akhirnya menjadi seperti berikut ini :
Dim db As ADODB.Connection
Dim rs As ADODB.Recordset
Dim SQL As String
Dim salah As Byte
Sub koneksi()
Set db = New ADODB.Connection
Set rs = New ADODB.Recordset
db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path &
"\database.mdb;Persist Security Info=False"
End Sub
txtUser.SetFocus
Eko Sugiharto, 29
ElseIf txtPassword = "" Then
MsgBox "Password tidak boleh kosong..!!", vbOKOnly + vbInformation, "Login"
txtPassword.SetFocus
Else
koneksi
SQL = "SELECT * FROM admin WHERE username='" & txtUser.Text & "' AND password='"
& txtPassword.Text & "'"
Set rs = db.Execute(SQL)
'Jika data user ditemukan
If Not rs.BOF Then
frmUtama.Show
Unload Me
Else
If salah < 2 Then
MsgBox "Nama user atau Password Salah..!! Silakan ulangi lagi..",
vbCritical + vbOKOnly, "Login"
txtUser.Text = ""
txtPassword.Text = ""
txtUser.SetFocus
salah = salah + 1
Else
MsgBox "Kesalahan Password 3 kali berturut-turut.., Silakan Login
ulang..", vbCritical + vbOKOnly, "Login"
salah = 0
End
End If
End If
End If
End Sub
30
Eko Sugiharto,
Caption Barang
Name mnuLapBarang
Caption Supplier
Name mnuLapSupplier
Caption -
Name mnuGaris2
Caption Pembelian
Name mnuLapBeli
Caption Pengeluaran
Name mnuLapKeluar
Keterangan : Untuk membuat sub menu seperti Data Barang yaitu dengan klik ikon panah arah ke
kanan ( )
50. Tambahkan kode program seperti contoh berikut ini :
31
Eko Sugiharto,
32
Eko Sugiharto,
Private Sub mnuLapSupplier_Click()
LapSupplier.Refresh
LapSupplier.Show
End Sub
53. Aturlah properti masing-masing objek seperti tertera pada tabel berikut ini :
Nama Objek Properti Nilai Pengaturan
Form1 Name frmLapBeli
Caption Laporan
Label1 Alignment 2 - Center
Caption Laporan Pembelian Barang
Font (Size) 14
Frame1 Caption Kategori
Option1 Name opt1
Caption No. Faktur
Tab Index 1
Option2 Name opt2
Caption Tanggal
Tab Index 2
Option3 Name opt3
Caption Per Periode
Tab Index 3
Option4 Name opt4
Caption Seluruh
Tab Index 0
Combo1 Name cbNo
Text (Kosongkan)
DTPicker1 Name dtTanggal
DTPicker2 Name dtAwal
DTPicker3 Name dtAkhir
Command1 Name cmdTampilkan
32
Caption Tampilkan
Eko Sugiharto,
Command2 Name cmdTutup
Caption Tutup
54. Sehingga tampilan akhirnya menjadi seperti berikut ini :
cbNo.Clear
Do While Not Rs1.EOF
cbNo.AddItem Rs1!No_Faktur
Rs1.MoveNext
Loop
End Sub
33
LapBeli.Show
Eko Sugiharto,
Eko Sugiharto,
End If
End Sub
Eko Sugiharto,
34
59. Hingga tampilan akhirnya menjadi seperti berikut ini :
cbNo.Clear
Do While Not Rs1.EOF
cbNo.AddItem Rs1!No_Keluar
Rs1.MoveNext
Loop
End Sub
End Sub
Eko Sugiharto,
35
Private Sub LapPengeluaranAll()
DELaporan.rsPengeluaran.Filter = ""
LapKeluar.Refresh
LapKeluar.Show
End Sub
36
Eko Sugiharto,
Langkah selanjutnya adalah membuat laporan menggunakan Data Report dengan cara sebagai
berikut :
1. Klik Project – More ActiveX Designers – Data Environment
3. Atur properti name DataEnvironment1 menjadi DELaporan dan Connection1 menjadi Conn
4. Selanjutnya klik kanan pada Conn kemudian klik Properties
Eko Sugiharto,
37
5. Pilih Microsoft Jet 4.0 OLE DB Provider, kemudian klik Next
6. Pilih database yang akan dikoneksikan dengan cara klik tombol browse dan pilih database.mdb atau
dengan mengetik nama database yaitu database.mdb pada bagian Select or enter a database name.
Tetapi dengan catatan penyimpanan database.mdb harus satu folder/direktori dengan project VB yang
kita buat.
Eko Sugiharto,
38
7. Untuk memastikan koneksi, Anda bisa menekan tombol Test Connection. Jika ada pesan sukses,
berarti kita sukses untuk membuat koneksi ke database. Selanjutnya klik OK
Sebelum dilanjutkan, kita buka file database.mdb pada program aplikasi Microsoft Access 2007
untuk menambahkan 2 buah query yang digunakan untuk laporan Pembelian dan laporan Pengeluaran
dengan langkah-langkah berikut ini :
1. Buka file database.mdb
2. Klik tombol Create, kemudian klik Query Design pada Ribbon
3. Pilih tabel Pembelian dan Detail_Beli kemudian klik Add lalu klik Close
4. Tambahkan field No_Faktur, Tanggal dan Nama_Supp dari tabel Pembelian dengan cara double klik
39
pada masing-masing nama field
Eko Sugiharto,
5. Tambahkan pula field Kode_Brg, Nama_Brg dan Jumlah dari tabel Detail_Beli
6. Sehingga menjadi seperti contoh berikut ini :
10. Tambahkan field No_Keluar dan Tanggal dari tabel Pengeluaran dan field Kode_Brg, Nama_Brg dan
Jumlah dari tabel Detail_Keluar
11. Sehingga menjadi seperti contoh berikut ini :
Eko Sugiharto,
40
Setelah selesai membuat 2 buah query pada Microsoft Access, kita kembali lagi ke Data Environment
pada project Visual Basic. Kemudian ikuti langkah-langkah berikut ini :
1. Klik kanan pada Conn kemudian klik Add Command
41
Eko Sugiharto,
4. Tambahkan command baru pada bagian Conn, kemudian atur sesuai contoh berikut ini :
5. Tambahkan command baru pada bagian Conn, kemudian atur sesuai contoh berikut ini :
42
Eko Sugiharto,
6. Terakhir tambahkan command baru pada bagian Conn, kemudian atur sesuai contoh berikut ini :
7. Sehingga tampilan akhir dari Data Environment menjadi seperti berikut ini :
8. Selanjutnya menambahkan Data Report dengan cara klik Project – Add Data Report
9. Kemudian atur propertiesnya sesuai dengan ketentuan berikut ini :
Nama Objek Properti Nilai Pengaturan
DataReport1 Name LapBarang
Caption Laporan Barang
DataSource DELaporan
DataMember Barang
GridX 10
GridY 10
WindowState 2 - vbMaximized
43
Eko Sugiharto,
10. Klik tahan (drag) command Barang pada Data Environment ke bagian Detail (Section1) pada Data
Report
Eko Sugiharto,
44
12. Modifikasi report dengan memindahkan objek Label ke bagian Page Header (Section2) dan mengatur
lebar masing-masing label sehingga menjadi seperti berikut ini :
13. Kita juga dapat menambahkan label pada bagian Report Header (Section4), mengatur Alignment
label, kita juga dapat menambahkan RptShape dan RptLine untuk membuat bingkai pada report yang
telah kita buat. Sehingga hasil akhirnya menjadi seperti berikut ini :
Eko Sugiharto,
45
19. Pada bagian code, tambahkan kode berikut ini :
Private Sub DataReport_Terminate()
DELaporan.rsSupplier.Close
End Sub
20. Simpan dengan nama LapSupplier
21. Tambahkan pula Data Report baru untuk membuat laporan Pembelian Barang
22. Atur propertiesnya sesuai ketentuan berikut ini :
Nama Objek Properti Nilai Pengaturan
DataReport1 Name LapBeli
Caption Laporan Pembelian Barang
DataSource DELaporan
DataMember Pembelian
GridX 10
GridY 10
WindowState 2 - vbMaximized
23. Desain report hingga tampilan akhirnya menjadi seperti berikut ini :
46
Eko Sugiharto,
29. Tambahkan kode berikut ini :
Private Sub DataReport_Terminate()
DELaporan.rsPengeluaran.Close
End Sub
30. Simpan dengan nama LapKeluar
Dan langkah terakhir adalah mengatur frmLogin sebagai Startup Project pada Project Properties
sebagai form awal yang tampil pada Program Aplikasi Persediaan Barang dengan cara klik Project –
Project (StokBarang) Properties kemudian atur seperti contoh berikut ini :
Dan untuk menjalankan program aplikasi kita bisa menekan tombol F5 dengan catatan tabel admin
untuk field username dan password sudah diisi dengan username dan password yang digunakan untuk
proses Login. Pada contoh Tutorial ini username dan password adalah admin.
.: Semoga Bermanfaat :.
TERIMA KASIH
Eko Sugiharto,
47