WYI Database Visual Basic
Database Pada Visual Basic
1. Membuat Database BaruKlik 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 Fungsi
Long Digunakan untuk menampung data numerik untuk bilangan bulat
Currency Digunakan untuk menampung data numerik. Kelebihannya adalah currency tidak akan melakukan pembulatan bilangan pada operasi matematik
Single Digunakan untuk menampung data numerik untuk bilangan pecahan
Double Fungsinya sama dengan single
Date/Time Digunakan untuk menampung data tanggal atau jam
Text Digunakan untuk menyimpan data karakter dengan daya tampung sebesar 255 karakter
Memo 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
Klik Add Index, Name= Kobar, Pada Available Fields : kdbrg
Build The table
Desain Form spt di bawah ini :
Koneksi Data Ke Database:
1. Pada Tabel Properties, Database Name : Path / alamat tempat penyimpanan 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
2
Microsoft Data Bound Grid 5.0 (SP 3) Ctrl T , atau Klik Kanan pd Toolbox, Components Data Data
Microsoft data Bound grid 5.0 (SP 3) Ctrl T , atau Klik kanan toolbox, pilih Components Primary Key
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 Style Picture
cmdtop 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
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
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
nofak Text 5 namapel Text 15 kdbrg text 8 jml single 4 total currency 8 diskon currency 8 bayar currency 8 tglfak Date 8
Desainlah form seperti yang dibawah
Dbcombo1 : Ctrl T, Microsoft Data Bound list Control Koneksi : pada tabel properties :
Rowsource : barang Listfield : 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 Primary Key Name : kofak
Available fields: Nofak
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:
Private sub cmdkembali_click() Form2.show Form3.hide End Sub Data Microsoft Data Bound Grid Control 5.0 (SP 3) <Ctrl T> 6
1. Buat Database dengan nama : Penjualan, sebelumnya tentukan dahulu tempat penyimpanan difolder masing-masing.
2. Buat Tabel Baru dengan nama : Tbl_Barang
Name Type Size
Kd_Brg Text 5 Nm_Brg Text 20 Harga Currency Stok Integer
Satuan Text 10
3. Buat Index dengan nama : Kode dari Kd_Brg 4. Isi Tabel sebanyak 5 Record
Kd_Brg Nm_Brg Harga Stok Satuan
BKSD1 Buku Sinar Dunia 25000 75 Buah PGH01 Penghapus 4500 20 Buah PGR01 Pengaris 5000 30 Unit PLG01 Pulpen Gel Warna 11000 35 Buah PSL2B Pensil 2B 2500 45 Unit
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. Setelah Database Koneksi, Klik Kanan :Retrieve Fields DBGrid1 (Objek Baru pada VB)
Objek Properties Nilai Command1 Name Enabled CmdSimpan False Command2 Name Enabled CmdBatal False Timer1 Interval 100 Data1 DatabaseName RecordSource Name (Klik tombol…cari database) Tbl_Barang BARANG DBGrid1 DataSource BARANG Sub mati() CmdTambah.Enabled = False CmdSIMPAN.Enabled = True CmdBatal.Enabled = True CmdCARI.Enabled = False CmdHapus.Enabled = False CmdKELUAR.Enabled = False End Sub Sub hidup() CmdTambah.Enabled = True CmdSIMPAN.Enabled = False CmdBatal.Enabled = False CmdCARI.Enabled = True CmdHapus.Enabled = True 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 Sub tampil() TxtKode = Barang.Recordset!kd_brg TxtNAMA = Barang.Recordset!nm_brg TxtHARGA = Barang.Recordset!harga TxtJUMLAH = Barang.Recordset!stok Cbosat = Barang.Recordset!satuan End Sub Sub kosong() TxtKode = "" TxtNAMA = "" TxtHARGA = "" TxtJUMLAH = "" Cbosat = "" End Sub
Private Sub CmdBatal_Click() kosong
hidup End Sub
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
tampil End If End Sub
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
Private Sub Form_Load() Cbosat.AddItem "Unit" Cbosat.AddItem "Potong" Cbosat.AddItem "Buah" 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 Type Size
kode_obat Text 5 nama_obat Text 25
jenis_obat Text 15 harga_obat Double
Isi data sebanyak 3 record
3. Buat table :Transaksi
Field Name Type Size
kode_obat Text 5 harga_obat Double jumlah Integer bayar Double discount Double total Double
4. Desain Form seperti tampilan dibawah ini !
Private Sub aktif()
dbkode.Enabled = True txtjumlah.Enabled = True txtbayar.Enabled = True
Kode_obat Nama_obat Jenis_obat Harga_obat
OSF01 Obat Sakit Flu Tablet 1500 OSK02 Obat Sakit Kepala Kapsul 1750 OMA03 Obat Masuk Angin Cair 2000
Objek Properties Nilai
DBCombo DataSource Name RowSource ListField Data_obat DBKode Data_obat Kode_obat DBCombo Componnent: Microsoft Data Bound List Controls 6.0.
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 txtjumlah_Change()
txtbayar = Val(txtjumlah) * Val(txtharga) If Val(txtbayar) >= 15000 Then txtdiscount = 0.1 * Val(txtbayar) Else txtdiscount = 0 End If End Sub
Private Sub nonaktif()
dbkode.Enabled = False txtnama.Enabled = False txtjenis.Enabled = False txtharga.Enabled = False txtjumlah.Enabled = False txtbayar.Enabled = False txtdiscount.Enabled = False txttotal.Enabled = False cmdinput.Enabled = True cmdsave.Enabled = False EndSub
Private Sub cmdsave_Click()
Data2.Recordset.AddNew Data2.Recordset!kode_obat = dbkode Data2.Recordset!harga_obat = txtharga Data2.Recordset!jumlah = txtjumlah Data2.Recordset!bayar = txtbayar Data2.Recordset!discount = txtdiscount Data2.Recordset!total = txttotal Data2.Recordset.Update Data2.Refresh cmdinput.Enabled = True cmdsave.Enabled = False End Sub
Private Sub cmdtotal_Click()
txttotal = Val(txtbayar) - Val(txtdiscount)
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 Size
No_faktur Text 5
Tgl Date/Time 8
Kobar Text 5
Jml Single 4
Total Currency 8
Add Index =Name: nofak
Available Field : No_faktur
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: Data1 DatabaseName: C:\Lab Pagi\1305…\Elektronik RecordSource : Penjualan RecordSourceType: 0-Table 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
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
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 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()
nama. Enabled = True nama. SetFocus
End Sub
Private Sub Option2_Click()
nama. Enabled = False
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….From…Where
Digunakan Untuk Menyaring data berdasarkan Kriteria tertentu BU : Select <Daftar Field> From <Nama Tabel> Where <Syarat> 3. Select…From…OrderBy
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 4. Isi Record Sebanyak 5 :
Nim Nama Jurusan Kelas IPK
12011 Vina Ade Manajemen Informatika MI4D 2.85 11025 Lyra Chandra Komputerisasi Akutansi KA4C 3.15 13020 Abdul Fatah Teknik Komputer TK4E 3.23 12055 Hendra Adi Manajemen Informatika MI4R 2.72 13021 Dendy Reski Teknik Komputer TK4F 3.45
Listing Form :
Private Sub Cmdselesai_Click()
Pesan = MsgBox("Yakin Nih Ingin Keluar ?", 32 + 1, "Info") If pesan = vbOK Then
End Else
Pesan = MsgBox(“Ga Jadi Keluar Ah!”, vbInformation + vbOkOnly, ”Informasi”) End If
End Sub
32
Private Sub CmdTampil_Click() Data1.RecordSource = Text1.Text Data1.Refresh
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
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
3. Second Normalized Form(2NF)
4. Thir d Normalized Form (3NF)
Kodebuku*
Jenis
Pengarang
Penerbit
Harga
Kdcus*
Nmcus
Alamat
Notelp
Notrans*
Tgltrans
Jumlah
Tot
total
Kodebuku*
Jenis
Pengarang
Penerbit
Harga
Kdcus*
Nmcus
Alamat
Notelp
Notrans*
Tgltrans
Jumlah
Tot
total
Kodebuku** Kdcus** Buku Customer TransaksiCreated 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 Keterangan Kdcus Text 5 Primary key Nmcus Text 25
Alamat Text 50 notelp Text 12 Isi 3 record
Simpan dengan nama : detail
Field Type Size Keterangan Notrans Text 8 Kodebuku text 5 Jenis Text 25 Harga Currency 8 Jumlah Single 4 tot currency 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)
kobuk jebuk pengarang
penerbitharga
penerbit harga
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) KeyAscii = Asc(UCase(Chr(KeyAscii))) If KeyAscii = 13 Then pengarang.SetFocus End If End Sub
Private Sub keluar_Click() Unload Me
End Sub
Private Sub kobuk_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) If KeyAscii = 13 Then jebuk.SetFocus End If 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 : name: dtbuku Data pelanggan: name:dtpelanggan Data transaski: name:dttransaksi Data detail : name: dtdetail Data sementara: 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 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 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
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 .AddNew !kodebuku = kobuk !jenis = judul !pengarang = pengarang !harga = hrg !jumlah = jb !tot = tot .Update End With Me.kobuk = "" Me.judul = "" pengarang = "" hrg = "" jb = "" tot = "" kobuk.SetFocus dtsementara.Refresh Call totalkan Else With Me.dtsementara.Recordset .AddNew !kodebuku = kobuk !jenis = judul !pengarang = pengarang !harga = hrg !jumlah = jb !tot = tot .Update 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
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