You are on page 1of 30

WYI

Database Visual Basic

Database Pada Visual Basic


1. Membuat Database Baru
Klik Menu add-Ins pada Menubar
Pilih Visual Data Manager, akan Muncul Jendela Visdata
Pilih File , New , Microsoft Access, Version 7.0 MDB.

Simpan Dengan nama :Penjualan , Simpan Di C:\Lab B Pagi\13054.


Klik Kanan Pada Properties, Pilih New Table

Tipe Field

Long
Currency
Single
Double
Date/Time
Text
Memo

Fungsi

Digunakan untuk menampung data numerik untuk bilangan


bulat
Digunakan untuk menampung data numerik. Kelebihannya
adalah currency tidak akan melakukan pembulatan bilangan
pada operasi matematik
Digunakan untuk menampung data numerik untuk bilangan
pecahan
Fungsinya sama dengan single
Digunakan untuk menampung data tanggal atau jam
Digunakan untuk menyimpan data karakter dengan daya
tampung sebesar 255 karakter
Sama dengan text tetapi dapat menampung sampai dengan
64.000 karakter

WYI

Database Visual Basic

Table name: Barang , lalu klik Add Field


Name
Type
Size
kdbrg
Text
5
nama
Text
15
harga
Currency
8
satuan
Text
15

Primary Key

Klik Add Index, Name= Kobar, Pada Available Fields : kdbrg


Build The table
Desain Form spt di bawah ini :

Data
Data
Microsoft data Bound
grid 5.0 (SP 3)
Ctrl Microsoft
T , atau Data Bound
Grid
5.0 (SP 3)
Klik kanan
Ctrl T , atau
toolbox,pilih
Klik Kanan pd
Components
Koneksi Data Ke Database:
Toolbox,
1. Pada Tabel Properties, Database Name : Path / alamat tempat penyimpanan
Components
database
2. Record Source: Barang <nama Tabelnya>
3. RecordSource Type : 0-Table
Koneksi Setiap Textbox pada Database
1. Pada Setiap Textbox, Data Source: Data1
2. Data Field: kdbrg <sesuaikan textbox dg nama fieldnya>
Koneksi DBGrid :
1. Pada Tabel Properties, Data Sorce: data1
2. Klik kanan Pada DbGrid, Pilih Retrieve Fields

WYI

Database Visual Basic

Sub aktif()
Text1.Enabled = True
Text2.Enabled = True
Text3.Enabled = True
Text4.Enabled = True
End Sub
Sub tidak()
Text1.Enabled = False
Text2.Enabled = False
Text3.Enabled = False
Text4.Enabled = False
End Sub
Private Sub Cmdfirst_Click()
Data1.Recordset.MoveFirst
MsgBox "data awal",48 , "info"
End Sub
Private Sub Cmdprev_Click()
Data1.Recordset.MovePrevious
If Data1.Recordset.BOF Then
Data1.Recordset.MoveFirst
MsgBox "data awal",48 , "info"
End If
End Sub
Private Sub cmdkeluar_Click()
Unload Me
End Sub

Simbol Nama
cmdtop

Private Sub Cmdnext_Click()


Data1.Recordset.MoveNext
If Data1.Recordset.EOF Then
Data1.Recordset.MoveLast
MsgBox "data akhir",
48 ,"info"
End If
End Sub
Private Sub Cmdlast_Click()
Data1.Recordset.MoveLast
MsgBox "data akhir",48,"info"
End Sub
Private Sub
Cmdtambah_Click()
aktif
Data1.Recordset.AddNew
Text1.SetFocus
End Sub
Private Sub
Cmdsimpan_Click()
Data1.Recordset.Update
tidak
End Sub
Private Sub Form_Activate()
tidak
Me.cmdtambah.SetFocus
End Sub

Style
Picture
1-graphical c:\program file\microsoft visual studio\
fp98\wizards\wizbmps\wztop

cmdback 1-graphical c:\program file\microsoft visual studio\


fp98\wizards\wizbmps\wztop
cmdnext 1-graphical c:\program file\microsoft visual studio\
fp98\wizards\wizbmps\wztop
cmdlast

1-graphical c:\program file\microsoft visual studio\


fp98\wizards\wizbmps\wztop

WYI

Database Visual Basic

Buka Database Penjualan,


Pada Jendela Visdata, Pilih File, open, Microsoft access
Kemudian, klik kanan pada properties, pilih new Table
Table Name: Transaksi , klik add field
Name
Type
Size
Primary Key
nofak
Text
5
Name : kofak
namapel
Text
15
Available fields: Nofak
kdbrg
text
8
jml
single
4
total
currency
8
diskon
currency
8
bayar
currency
8
tglfak
Date
8
Desainlah form seperti yang dibawah

Dbcombo1
Koneksi
Rowsource
Listfield

: Ctrl T, Microsoft Data Bound list Control


: pada tabel properties :
: barang
: kdbrg

Sub aktif()
Me.nofak.Enabled = True
Me.nama.Enabled = True
Me.DBCombo1.Enabled = True
Me.jml.Enabled = True
Me.total.Enabled = True
Me.diskon.Enabled = True
Me.tobay.Enabled = True
End Sub

WYI

Database Visual Basic

Sub tidak()
Me.nofak.Enabled = False
Me.nama.Enabled = False
Me.DBCombo1.Enabled = False
Me.jml.Enabled = False
Me.total.Enabled = False
Me.diskon.Enabled = False
Me.tobay.Enabled = False
End Sub
Sub bersih()
nofak = ""
nama = ""
namabrg = ""
harga = ""
DBCombo1 = ""
harga = ""
jml = ""
total = ""
diskon = ""
tobay = ""

End Sub
Private Sub DBCombo1_Change()
With barang.recordset
.Index = "kobar"
.Seek "=", DBCombo1.Text
If Not .NoMatch Then
namabrg = !nama
harga = !harga
End If
End with
End Sub
Private Sub Form_Activate()
tidak
bersih
tambah.SetFocus
End Sub
Private Sub lihat_Click()
Form3.Show
End Sub

Private Sub jml_KeyPress(KeyAscii As Integer)


If KeyAscii = 13 Then
total = Val(harga) * Val(jml)
If Val(jml) > 6 Then
diskon = 0.1 * Val(total)
ElseIf Val(jml) > 10 Then
diskon = 0.5 * Val(total)
Else
diskon = 0
End If
tobay = Val(total) - Val(diskon)
End If
End Sub
Private Sub tambah_Click()
Me.aktif
nofak.SetFocus
End Sub
Private Sub Timer1_Timer()
tgl.Text = Date
End Sub
Private Sub keluar_Click()
a = MsgBox("Keluaaaaaaaaaaaaaaar ", vbQuestion + vbYesNo, "Infooo")
If a = vbYes Then End
End Sub

WYI

Database Visual Basic

Private Sub simpan_Click()


Data2 . Recordset.AddNew
Data2 . Recordset ! tglfak = Me.tgl
Data2 . Recordset ! nofak = Me.nofak
Data2 . Recordset ! namapel = Me.nama
Data2 . Recordset ! kdbrg = Me.DBCombo1
Data2 . Recordset ! jumlah = Me.jml
Data2. Recordset ! total = Me.total
Data2 . Recordset ! diskon = Me.diskon
Data2 . Recordset ! tobay = Me.tobay
Data2 . Recordset.Update
tidak
End Sub
Buatlah 1 form baru, desain seperti gambar di bawah ini:

Microsoft Data
Bound Grid
Control 5.0 (SP
3)
<Ctrl T>

Data
Private sub cmdkembali_click()
Form2.show
Form3.hide
End Sub

1. Buat Database dengan nama : Penjualan, sebelumnya tentukan dahulu tempat


penyimpanan difolder masing-masing.
2. Buat Tabel Baru dengan nama : Tbl_Barang
Name
Kd_Brg
Nm_Brg
Harga
Stok
Satuan

Type
Text
Text
Currency
Integer
Text

Size
5
20
10

3. Buat Index dengan nama : Kode dari Kd_Brg


4. Isi Tabel sebanyak 5 Record
Kd_Brg
BKSD1
PGH01
PGR01
PLG01
PSL2B

Nm_Brg
Buku
Sinar
Dunia
Penghapus
Pengaris
Pulpen
Gel
Warna
Pensil 2B

Harga Stok
25000 75

Satuan
Buah

4500
5000
11000

20
30
35

Buah
Unit
Buah

2500

45

Unit

Setelah
Database
Koneksi,
Kanan
:Retrieve
Fields

Klik

DBGrid1
(Objek
Baru
pada VB)

Microsoft Data Bound Grid Control 5.0 (SP3), Name : DBGrid1


Cara Menambah Objek baru pada Toolbox yaitu dengan : CTRL + T atau Klik kanan
pada ToolBox pilih Component, atau Klik menu Project pada menu utama VB,
pilih Component.

Objek
Command1
Command2
Timer1
Data1

DBGrid1

Properties
Name
Enabled
Name
Enabled
Interval
DatabaseName
RecordSource
Name
DataSource

Nilai
CmdSimpan
False
CmdBatal
False
100
(Klik tombolcari
database)
Tbl_Barang
BARANG
BARANG

Sub mati()
CmdTambah.Enabled = False Sub tampil()
TxtKode = Barang.Recordset!kd_brg
CmdSIMPAN.Enabled = True TxtNAMA = Barang.Recordset!nm_brg
CmdBatal.Enabled = True
TxtHARGA = Barang.Recordset!harga
CmdCARI.Enabled = False
TxtJUMLAH = Barang.Recordset!stok
CmdHapus.Enabled = False Cbosat = Barang.Recordset!satuan
CmdKELUAR.Enabled = False End Sub
End Sub
Sub kosong()
Sub hidup()
CmdTambah.Enabled = True
CmdSIMPAN.Enabled = False
CmdBatal.Enabled = False
CmdCARI.Enabled = True
CmdHapus.Enabled = True
End Sub

TxtKode = ""
TxtNAMA = ""
TxtHARGA = ""
TxtJUMLAH = ""
Cbosat = ""
End Sub
Private Sub CmdBatal_Click()
kosong
hidup
End Sub

Private Sub CmdBACK_Click()


On Error Resume Next
Barang.Recordset.MovePrevious
tampil
If Barang.Recordset.BOF Then
MsgBox "Sudah Awal Record", 64, "Informasi"
Barang.Recordset.MoveFirst
tampil
End If
End Sub

Private Sub CmdCARI_Click()


cari = InputBox("Masukan Kode Yang Dicari", "Pencarian")
temukan = "kd_brg= ' " & cari & " ' "
Barang.Recordset.FindFirst temukan
If Barang.Recordset.NoMatch Then
MsgBox "Data Tidak Ditemukan", 48, "Informasi"
Else
tampil
End If
End Sub

30

Private Sub CmdEND_Click()


Barang.Recordset.MoveLast
tampil
End Sub
Private Sub CmdHAPUS_Click()
If MsgBox("Yakin Akan Hapus Data ?", vbYesNo + vbQuestion, "Info") = vbYes Then
Barang.Recordset.Delete
Barang.Recordset.MoveLast
tampil
End If
End Sub
Private Sub CmdKELUAR_Click()
pesan = MsgBox("Yakin Mau Keluar Program?", vbYesNo + vbQuestion, "Perhatian")
If pesan = vbNo Then
Cancel = 1
Else
End
End If
End Sub
Private Sub CmdNEXT_Click()
On Error Resume Next
Barang.Recordset.MoveNext
tampil
If Barang.Recordset.EOF Then
MsgBox "Sudah Akhir Record", 48, "Informasi"
Barang.Recordset.MoveLast
Private Sub Form_Load()
tampil
Cbosat.AddItem "Unit"
End If
Cbosat.AddItem "Potong"
End Sub
Cbosat.AddItem "Buah"
Private Sub CmdSIMPAN_Click()
Barang.Recordset.AddNew
Barang.Recordset!kd_brg = TxtKode
Barang.Recordset!nm_brg = TxtNAMA
Barang.Recordset!harga = TxtHARGA
Barang.Recordset!stok = TxtJUMLAH
Barang.Recordset!satuan = Cbosat.Text
Barang.Recordset.Update
CmdBatal_Click
End Sub
Private Sub CmdTOP_Click()
Barang.Recordset.MoveFirst
tampil
End Sub

Cbosat.AddItem Pasang
End Sub
Private Sub Timer1_Timer()
LblJam.Caption = Time
End Sub

Private Sub CmdTAMBAH_Click()


kosong
mati
TxtKode.SetFocus
End Sub

B.

Relasi DBCombo dengan properties


1. Buat Database dengan nama DataObat, simpan di folder masing-masing
2. Buat Table : Obat

Field Name
kode_obat
nama_obat
jenis_obat
harga_obat
Isi data sebanyak 3 record
Kode_obat
OSF01
OSK02
OMA03
3.

Type
Text
Text
Text
Double

Nama_obat
Obat Sakit Flu
Obat Sakit Kepala
Obat Masuk Angin

Buat table :Transaksi


Field Name
Type
kode_obat
Text
harga_obat
Double
jumlah
Integer
bayar
Double
discount
Double
total
Double

Size
5
25
15

Jenis_obat
Tablet
Kapsul
Cair

Harga_obat
1500
1750
2000

Size
5

4. Desain Form seperti tampilan dibawah ini !


Objek
Properties
DBCombo DataSource
Name
RowSource
ListField

DBCombo
Componnent:
Microsoft Data
Bound
List
Controls 6.0.

Private Sub aktif()


dbkode.Enabled = True
txtjumlah.Enabled = True
txtbayar.Enabled = True

Nilai
Data_obat
DBKode
Data_obat
Kode_obat

txtdiscount.Enabled = True
txttotal.Enabled = True
cmdinput.Enabled = False
cmdsave.Enabled = True
End Sub
Private Sub Form_Activate()
nonaktif
End Sub
Private Sub dbkode_Change()
Data1.Recordset.FindFirst "kode_obat=' " & dbkode.Text & " ' "
txtnama = Data1.Recordset!nama_obat
txtjenis = Data1.Recordset!jenis_obat
txtharga = Data1.Recordset!harga_obat
txtjumlah.SetFocus
End Sub
Private Sub cmdinput_Click()
aktif
dbkode = "Pilih Kode"
txtnama = ""
txtjenis = ""
txtharga = ""
txtjumlah = ""
txtbayar = ""
txtdiscount = ""
txttotal = ""
dbkode.SetFocus
End Sub
Private Sub cmdsave_Click()
Private Sub txtjumlah_Change()
Data2.Recordset.AddNew
txtbayar = Val(txtjumlah) * Val(txtharga)
Data2.Recordset!kode_obat = dbkode
If Val(txtbayar) >= 15000 Then
Data2.Recordset!harga_obat =
txtdiscount = 0.1 * Val(txtbayar)
txtharga
Else
Data2.Recordset!jumlah = txtjumlah
txtdiscount = 0
Data2.Recordset!bayar = txtbayar
End If
Data2.Recordset!discount = txtdiscount
End Sub
Data2.Recordset!total = txttotal
Private Sub nonaktif()
Data2.Recordset.Update
dbkode.Enabled = False
Data2.Refresh
txtnama.Enabled = False
cmdinput.Enabled = True
txtjenis.Enabled = False
cmdsave.Enabled = False
txtharga.Enabled = False
End Sub
txtjumlah.Enabled = False
Private Sub cmdtotal_Click()
txtbayar.Enabled = False
txttotal = Val(txtbayar) - Val(txtdiscount)
txtdiscount.Enabled = False
End Sub
txttotal.Enabled = False
cmdinput.Enabled = True
cmdsave.Enabled = False
EndSub

Latihan Database
1. Buat Database Baru dengan nama : Elektronik
2. Buat Table Baru

Table : Barang
Name
Type
Size
Kobar
Text
5
Nabar
Text
25
Harga
Currency
8
Add Index
Name:Kode
Available Field : Kobar
Isi Record Berikut :
Kobar
Nabar
Harga
LMS01
Lemari Es
2500000
MSC02 Mesin Cuci 2000000
RTP03
Radio Tape
850000
Table : Penjualan
Name
Type
No_faktur
Text
Tgl
Date/Time
Kobar
Text
Jml
Single
Total
Currency
Add Index =Name: nofak
Available Field : No_faktur

Size
5
8
5
4
8

DTPicker
Ctrl T
Microsoft Windows Common
Control-2 6.0 (SP 4)

DBCombo1 :
Ctrl T
Microsoft data
Bound list Control 6.0
Koneksi :
Row Source : Data1
List Field: Kobar

Name: Data2
DatabaseName: C:\Lab
Pagi\1305\Elektronik
RecordSource : Barang
RecordSourceType: 0-Table

DBGrid: * Ctrl T
*Microsoft Data Bound grid Control 5.0 (SP 3)
Koneksi , Data Source: Data1
Klik Kanan Pada Dbgrid, Pilih Retrieve Fields

Name: Data1
DatabaseName: C:\Lab
Pagi\1305\Elektronik
RecordSource : Penjualan
RecordSourceType: 0-Table

sub bersih()
Me. nofak = ""
Me. nama = ""
Me. nabar = ""
Me. harga = ""
Me. jml = ""
Me. total = ""
Me. DBCombo1 = ""
Option1. Value = False
Option2. Value = False
End Sub
Sub mati()
Me. nofak. Enabled = False
Me. nama. Enabled = False
Me. nabar. Enabled = False
Me. harga. Enabled = False
Me. jml. Enabled = False
Me. total. Enabled = False
Me. DBCombo1. Enabled = False
End Sub
Sub hidup()
Me. nofak. Enabled = True
Me. nabar. Enabled = True
Me. harga. Enabled = True
Me. jml. Enabled = True
Me. total. Enabled = True
Me. DBCombo1. Enabled = True
End Sub
Private Sub cmdadd_Click()
hidup
bersih
nofak. SetFocus
End Sub
Private Sub cmdbatal_Click()
bersih
mati
cmdadd. SetFocus
End Sub
Private Sub cmdkeluar_Click()
Unload Me
End Sub
Private Sub cmdsave_Click()
If nofak = "" Then
Private Sub Form_Activate()
mati
bersih
Me. DBGrid1. Refresh
End Sub
Private Sub jml_Change()
total = Val(jml) * Val(harga)
End Sub
Private Sub Option1_Click()

MsgBox "isi terlebih dahulu nofak


nya!", 64, "kasi tau"
nofak. SetFocus
End If
With Data1. Recordset
. Index = "nofak"
. Seek "=", nofak
If . NoMatch Then
. AddNew
!no_faktur = nofak
!tgl = Me. DTPicker1
If Option1. Value = True Then
!jenis_pel = "tetap"
Else
!jenis_pel = "umum"
End If
!kdbrg = DBCombo1
!nama = nama
!jml = jml
!total = total
. Update
Else
MsgBox "data sudah ada", 64, "info"
bersih
End If
End With
Me. DBGrid1. Refresh
mati
End Sub
Private Sub DBCombo1_Change()
With Data2 . Recordset
. Index = "kode"
. Seek "=", DBCombo1
If Not . NoMatch Then
nabar = !nabar
harga = !harga
End If
End With
End Sub
Private Sub DBCombo1_Click(Area As
Integer)
Me . jml . SetFocus
End Sub
nama. Enabled = True
nama. SetFocus
End Sub
Private Sub Option2_Click()
nama. Enabled = False
End Sub

Created BY WYI

SQL (Structured Query Language)


SQL adalah bahasa yang digunakan untuk memuat, mengurutkan, menyaring, mengupdate dan mengolah relasi antar
database suatu data sehingga dihasilkan suatu data yang spesifik dari suatu database.
Bentuk Umum :
<Objek Data>. RecordSource = <String SQL>
Ket: <String SQL> adalah string yang berisi pernyataan dalam SQL.
Bentuk-Bentuk dalam SQL
1. Select.From
Digunakan Untuk memilih field dan tabel data dengan SQL
BU : Select <Daftar Field> From <Nama Tabel> In <Nama Database>
Ket : <Field> Adalah nama-nama field yang diinginkan, bisa satu /lebih field
<Nama Tabel> adalah salah satu nama tabel yang ada dalam database (*) untuk semua field
2. Select.FromWhere
Digunakan Untuk Menyaring data berdasarkan Kriteria tertentu
BU : Select <Daftar Field> From <Nama Tabel> Where <Syarat>
3. SelectFromOrderBy
Digunakan untuk mengakses suatu data dengan hasil yang terurut (mengurutkan data secara Assembly)
BU : Select <Daftar Field> From <Nama Tabel> In <Nama Database> Order By <Field Kunci1>, <Field Kunci2>
Latihan :
1. Buat Database dengan nama : Mahasiswa, simpan difolder masing-masing.
2. Buat Tabel baru dengan nama : Tbl_Mhs
Name
Type
Size
Nim
Text
5
Nama
Text
25
Jurusan
Text
25
Kelas
Text
5
IPK
Single

32

4.
Nim
12011
11025
13020
12055
13021

Isi Record Sebanyak 5 :


Nama
Vina Ade
Lyra Chandra
Abdul Fatah
Hendra Adi
Dendy Reski

Jurusan
Manajemen Informatika
Komputerisasi Akutansi
Teknik Komputer
Manajemen Informatika
Teknik Komputer

Kelas
MI4D
KA4C
TK4E
MI4R
TK4F

IPK
2.85
3.15
3.23
2.72
3.45

Private Sub CmdTampil_Click()


Listing Form :
Data1.RecordSource = Text1.Text
Private Sub Cmdselesai_Click()
Data1.Refresh
Pesan = MsgBox("Yakin Nih Ingin Keluar ?", 32 + 1, "Info")
End Sub
If pesan = vbOK Then
End
Else
Pesan = MsgBox(Ga Jadi Keluar Ah!, vbInformation + vbOkOnly, Informasi)
End If
End Sub

Created BY WYI
Proses Program :
Cara menjalankan program dengan mengetikkan perintah SQL pada Text Box, kemudian klik Command Tampil Data
maka data yang dimunculkan pada DBGrid1 akan terseleksi dengan perintah SQL yang diketik. Buatlah perintah SQL
dibawah ini :
1. Select nim, nama, kelas from Tbl_Mhs
2. Select * from Tbl_Mhs
3. Select * from Tbl_Mhs where jurusan = Teknik Komputer
4. Select * from Tbl_Mhs where ipk > 3.00
5. Select * from Tbl_Mhs order by nama
6. Select * from Tbl_Mhs order by ipk

33

Created BY WYI
Database One To Many
Normalisasi:
Adalah pengelompokkan data-data dalam bentuk tabel-tabel.
Bentuk normalisasi:
1. Unnormalized form (bentuk tidak normal)
Ciri:
-didapat dari dokumen masukan dan keluaran
-semua data direkam apa adanya dan masih adanya field yang redudant (sama)
2. First Normalized Form (Normalisasi bentuk pertama 1 NF)
-sudah ada lagi data yang redudant
-adanya candidate key
3. Second Normalized Form( 2NF)
-memenuhi bentuk 1 NF
-dalam bentuk tabel, sudah ada relasi dan PK
-masih adanya ketergantungan transitif
4. Third Normalized Form (3NF)
- Sudah memenuhi bentuk ke dua
- Tidak adanya ketergantungan transitif
Contoh: penjualan Buku
Buat normalisasi:
1. Unnormalized Form
Kodebuku
Jenis
Pengarang
Penerbit
Harga
Kdcus
Nmcus
Alamat
Notelp
Notrans
Tgltrans
Kdcus
Kodebuku
Jenis
Pengarang
Penerbit
Harga
Jumlah
Tot
total

Created BY WYI
2. First Normalized Form

Kodebuku*
Jenis
Pengarang
Penerbit
Harga
Kdcus*
Nmcus
Alamat
Notelp
Notrans*
Tgltrans
Jumlah
Tot
total

3. Second Normalized Form(2NF)


Buku

Customer

Kodebuku*
Jenis
Pengarang
Penerbit
Harga

Kdcus*
Nmcus
Alamat
Notelp
Transaksi

Notrans*
Tgltrans
Jumlah
Tot
total
Kodebuku**
Kdcus**

Normalized Form (3NF)

4. Thir
d

Created BY WYI

Created BY WYI

Buat Database:penjualan_buku dengan table:


Simpan dengan nama : buku
Field
Type
Size Keterangan
Kodebuku Text
5
Primary key
Jenis
Text
25
Pengarang Text
25
Penerbit
Text
25
Harga
currency 8
Isi data 3 record
Simpan dengan nama : customer
Field
Type Size
Kdcus Text 5
Nmcus Text 25
Alamat Text 50
notelp Text 12
Isi 3 record
Simpan dengan nama : detail
Field
Type
Notrans
Text
Kodebuku text
Jenis
Text
Harga
Currency
Jumlah
Single
tot
currency

Keterangan
Primary key

Size Keterangan
8
5
25
8
4
8

Simpan dengan nama sementara


Field
Type
Size Keterangan
Kodebuku text
5
Jenis
Text
25
pengarang text
25
harga
Currency 8
jumlah
single
4
Tot
Currency 8
Simpan dengan nama : transaksi
Field
Type
Size Keterangan
notrans Text
8
Primary key
tgltrans text
12
kdcus
text
5
total
currency 8

Created BY WYI
Form Buku
Microsoft
tabbed dialog
control 6.0
(sp3)

penerbit
harga

kobuk

jebuk

pengarang

harga

penerbit

Data1:
DatabaseName : path tempat penyimpanan
database
RecordSource : buku
RecordSourceType:1-Table

Created BY WYI
Syntax:
Sub bersih()
Me.kobuk = ""
Me.jebuk = ""
Me.penerbit = ""
Me.pengarang = ""
Me.harga = ""
End Sub
Sub isi()
kobuk.Enabled = True
jebuk.Enabled = True
penerbit.Enabled = True
pengarang.Enabled = True
harga.Enabled = True
End Sub
Sub tidak()
kobuk.Enabled = False
jebuk.Enabled = False
penerbit.Enabled = False

pengarang.Enabled = False
harga.Enabled = False
End Sub
Sub tampil()
With Data1.Recordset
kobuk = !kodebuku
jebuk = !jenis
pengarang = !pengarang
penerbit = !penerbt
harga = !harga
End With
End Sub
Private Sub add_Click()
isi
bersih
kobuk.SetFocus
End Sub

Private Sub cari_Click()


On Error Resume Next
KeyAscii = Asc(UCase(Chr(KeyAscii)))
kobuk = InputBox("Isi Data Buku!!!", "Find@!", " Isi 5 digit")
With Data1.Recordset
.Index = "kodebuk"
.Seek "=", kobuk
If Not .NoMatch Then
tampil
tidak
Else
MsgBox " Kode Buku " & kobuk & "tidak ada", 48, "info"
bersih
.MoveFirst
End If
End With
End Sub
Private Sub dele_Click()
del = MsgBox(" mau di hapus???", vbYesNo, "Pemberitahuan")
If del = vbYes Then
Data1.Recordset.Delete
Data1.Recordset.MoveNext
If Data1.Recordset.EOF Then
Data1.Recordset.MoveLast
End If
End If
bersih
End Sub

Created BY WYI
Private Sub edit_Click()
tampil
isi
kobuk.Enabled = False
jebuk.SetFocus
End Sub

Private Sub Form_Activate()


tidak
tgl = Date
add.SetFocus
kobuk.MaxLength = 5
End Sub

Private Sub harga_KeyPress(KeyAscii As Integer)


If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then
KeyAscii = 0
End Sub
Private Sub jebuk_KeyPress(KeyAscii As
Integer)
Private Sub kobuk_KeyPress(KeyAscii As
KeyAscii = Asc(UCase(Chr(KeyAscii)))
Integer)
If KeyAscii = 13 Then
KeyAscii = Asc(UCase(Chr(KeyAscii)))
pengarang.SetFocus
If KeyAscii = 13 Then
End If
jebuk.SetFocus
End Sub
End If
Private Sub keluar_Click()
End Sub
Unload Me
End Sub
Private Sub penerbit_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If KeyAscii = 13 Then
harga.SetFocus
End If
End Sub
Private Sub pengarang_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If KeyAscii = 13 Then
penerbit.SetFocus
End If
End Sub
Private Sub save_Click()
If kobuk = "" Or jebuk = "" Or pengarang = "" Or penerbit = "" Or harga = "" Then
MsgBox " lengkapi data terlebih dahulu", 48, "info"
Exit Sub
End If
With Data1.Recordset
.Index = "kodebuk"
.Seek "=", kobuk.Text
If .NoMatch Then
.AddNew
!kodebuku = kobuk
!jenis = jebuk
!pengarang = pengarang
!penerbt = penerbit
!harga = harga
.Update
Else

Created BY WYI
.edit
!jenis = jebuk
!pengarang = pengarang
!penerbt = penerbit
!harga = harga
.Update
End If
End With
tidak
Data1.Refresh
End Sub

Tabel Penjualan Buku

Data buku :
Data pelanggan:
Data transaski:
Data detail :
Data sementara:

name: dtbuku
name:dtpelanggan
name:dttransaksi
name: dtdetail
name :dtsementara

Created BY WYI
Syntax:
Sub bersih()
Me.no = ""
DBCombo1 = "pilih"
nm = ""
Me.kobuk = ""
Me.judul = ""
hrg = ""
Me.pengarang = ""
Me.jb = ""
Me.tot = ""
Me.total = ""
Me.ub = ""
Me.uk = ""
Option1 = 0
Option2 = 0
Sub tidak()
Me.no.Enabled = False
Me.nm.Enabled = False
Me.kobuk.Enabled = False
Me.judul.Enabled = False
Me.pengarang.Enabled = False
Me.jb.Enabled = False
Me.tot.Enabled = False
Me.total.Enabled = False
Me.ub.Enabled = False
Me.uk.Enabled = False
Me.hrg.Enabled = False
End Sub
Sub isi()
Me.kobuk.Enabled = True
Me.ub.Enabled = True
jb.Enabled = True
End Sub
Sub simdetail()
With dtdetail.Recordset
.AddNew
!notrans = no
!kodebuku = dtsementara.Recordset!kodebuku
!jenis = dtsementara.Recordset!jenis
!harga = dtsementara.Recordset!harga
!jumlah = dtsementara.Recordset!jumlah
!tot = dtsementara.Recordset!tot
.Update
End With
End Sub

End Sub
Sub auto()
Dim urutan As String * 8
Dim HITUNG As Byte
With Me.dttransaksi.Recordset
If .RecordCount = 0 Then
urutan = "00001"
Else
.MoveLast
HITUNG = Val(!notrans) + 1
urutan = "000" & Right("00" & HITUNG, 2)
End If
Me.no = urutan
End With
End Sub

Created BY WYI

Sub simpan_semua()
With Me.dttransaksi.Recordset
.AddNew
!notrans = Me.no
!tgltrans = Me.tgl
!kdcus = Me.DBCombo1
!total = total
.Update

End With
Me.tidak
End Sub
Private Sub add_Click()
Me.isi
bersih
Call auto
End Sub

Private Sub batal_Click()


Me.bersih
tidak
If Not Me.dtsementara.Recordset.RecordCount = 0 Then
dtsementara.Recordset.MoveFirst
Do While Not dtsementara.Recordset.EOF
dtsementara.Recordset.Delete
dtsementara.Recordset.MoveNext
Loop
End If
dtsementara.Recordset.MoveFirst
DBGrid1.SetFocus
DBGrid1.Col = 1
End Sub
Private Sub DBCombo1_Change()
With dtpel.Recordset
.Index = "kopel"
.Seek "=", DBCombo1
If Not .NoMatch Then
nm = !nmcus
End If
End With
'kobuk.SetFocus
End Sub
Sub simpan_sementara()
a = MsgBox(" mau Input lagi......??", 32 + 1, "Konfirmasi")
If a = 1 Then
With Me.dtsementara.Recordset
tot = ""
.AddNew
kobuk.SetFocus
!kodebuku = kobuk
dtsementara.Refresh
!jenis = judul
Call totalkan
!pengarang = pengarang
Else
!harga = hrg
With Me.dtsementara.Recordset
!jumlah = jb
.AddNew
!tot = tot
!kodebuku = kobuk
.Update
!jenis = judul
End With
!pengarang = pengarang
Me.kobuk = ""
!harga = hrg
Me.judul = ""
!jumlah = jb
pengarang = ""
!tot = tot
hrg = ""
.Update
jb = ""
End With

Created BY WYI
Call totalkan
ub.SetFocus

End If
End Sub

Sub totalkan()
Dim ttl As Currency
If dtsementara.Recordset.RecordCount > 0 Then
dtsementara.Recordset.MoveFirst
Do While dtsementara.Recordset.EOF = False
ttl = ttl + dtsementara.Recordset!tot
dtsementara.Recordset.MoveNext
Loop
End If
total.Text = ttl
End Sub
Private Sub Form_Activate()
tidak
bersih
add.SetFocus
End Sub
Private Sub jb_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Me.tot = Val(Me.jb) * Val(Me.hrg)
Me.ok.SetFocus
End If
End Sub
Private Sub keluar_Click()
Unload Me
End Sub
Private Sub kobuk_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
With dtbuku.Recordset
.Index = "kodebuk"
.Seek "=", kobuk
If Not .NoMatch Then
judul = !jenis
pengarang = !pengarang
penerbit = !penerbt
hrg = !harga
jb.Enabled = True
jb.SetFocus
Else
MsgBox "kode tersebut tidak ada", 48, "kasih tau"
kobuk = ""
Me.kobuk.SetFocus
End If
End With
End If
End Sub

Created BY WYI

Private Sub ok_Click()


simpan_sementara
End Sub
Private Sub Option1_Click()
DBCombo1.Enabled = False
End Sub
Private Sub Option2_Click()
DBCombo1.Enabled = True
End Sub
Private Sub save_Click()
simpan_semua
dtsementara.Recordset.MoveFirst
Do While dtsementara.Recordset.EOF = False
simdetail
'Hapus Data Sementara
dtsementara.Recordset.Delete
dtsementara.Recordset.MoveNext
Loop
Me.bersih
Me.tidak
MsgBox " Terima Kasih Atas Pembeliannya"
End Sub

Created BY WYI

Private Sub Timer1_Timer()


tgl = Date
jam = Time
End Sub
Private Sub ub_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If ub > Me.total Then
uk = Val(ub) - Val(total)
MsgBox " Uang kembaliannya Rp. " & uk, 48, "info"
Else
MsgBox " Uang bayar kurang", 48, "info"
End If
End If
End Sub

You might also like