dao database
TRANSCRIPT
5/11/2018 Dao Database - slidepdf.com
http://slidepdf.com/reader/full/dao-database 1/8
DAO DATABASE
Visual Basic 6.0 menyediakan 2 cara untuk mengakses database. Cara yang pertama adalahmenggunakan komponen Data / DAO (Data Access Object). Komponen ini merupakan
komponen lanjutan dari Visual Baric 5.0. DAO dapat digunakan untuk mengakses databaseaccess 97, foxpro 2.0 -3.0, paradox 3.x – 5.x, worksheet excel dan lotus, dbase.(III, IV, 5.0).Perlu diperhatikan bahwa untuk database access, komponen ini hanya mampumenggunakan database sampai dengan Microsoft Access 97. Jika ingin menggunakandatabase Microsoft Access 2000 keatas maka oleh Microsoft disarankan untuk menggunakan komponed ADO.Komponen ADO merupakan cara yang kedua yang disediakan oleh Microsoft Visual Basic6.0 untuk mengakses database. Dan pada komponen ini cara pengaksesan database menjadi jauh lebih mudah dan sederhana karena kita tidak lagi perlu menggunakan perintah-perintahyang bertingkat untuk melakukan koneksi, menciptakan workspace dan sebagainya. Hal-halseperti itu sudah disederhanakan oleh komponen ini, artinya apapun database yang akan
digunakan tidak akan menjadi masalah karena perintah-perintah yang digunakan padakomponen ADO akan sama saja untuk berbagai macam database tersebut.
Pemakaian komponen DAOPada Microsoft Visual Basic 6.0, komponen DAO secara default sudah ada di toolboxdengan tampilan seperti berikut ini
Gambar 1.1 Icon DAO
Untuk menggunakan komponen tersebut, lakukanlah klik ganda pada icon dao yangterdapat pada toolbox sehingga muncul pada form seperti tampilan berikut ini
Gambar 1.2 Komponen DAO
Gambar 1.3 Komponen DAO di form
Setelah itu untuk mengkoneksikan DAO, sebelum melangkah lebih lanjut ada beberapa properti yang harus diperhatikan agar dalam membuat program dengan menggunakankomponen ini tidak mengalami kesusahan. Perhatikan tabel properti komponen DAO berikut ini.
1
5/11/2018 Dao Database - slidepdf.com
http://slidepdf.com/reader/full/dao-database 2/8
Tabel Properti Komponen DAO
Properti Keterangan
AlignMenentukan pemerataan kontrol pada Form (0-None, 1- Top,
2 - Bottom, 3 - Left, 4 - Right)
BOFActionMenentukan metoda yang akan otomatis diaktifkan ketika
posisi pointer mencapai BOF (1 - MoveFirst, 0 - BOF)
Caption Menentukan tulisan pada data kontrol
AccessMenentukan jenis software file database (Access, dBaseIII,
dBaseIV, dll) sebagai sumber data
DatabaseNameMenentukan path dan nama database file yang akan
digunakan sebagai sumber data
DefaultCursorTypeMenentukan jenis kursor yang digunakan (0 - DefaultCursor, 1
- ODBCCursor, 2 - ServerSideCursor)
DefaultTypeMenentukan jenis data yang digunakan (2 - UseJext, 1 -
UseODBC)
EOFActionMenentukan metoda yang akan otomatis diaktifkan ketika
posisi pointer mencapai BOF (1 - MoveLast, 0 - EOF,2-AddNew)
ExclusiveMenentukan modus pengaktifan database secara Share atau
Exclusive (False, True)
ReadOnlyMenentukan apakah recordset adalah readonly atau tidak
(False, True)
RecordsetType Menentukan jenis recordset yang akan digunakan (1-Dynaset,0-Table, 2-Snapshot)
RecordSource
Menentukan sumber data untuk recordset, dapat berupa
nama tabel maupun bahasa SQL (khusus untuk Dynaset dan
Snapshot)
Secara default, untuk menggunakan komponen DAO properti yang harus di ubah nilainyaadalah : – Databasename – RecordSource
Setelah meletakan komponen data ke form, langkah selanjutnya adalah pastikan bahwa
properti connect isinya adalah access.
Kemudian set properti databasename dengan melakukan klik pada icon berikut ini yangtampak pada isian
Gambar 1.4 : Icon untuk memilih dan mencari database pada properti databasename
Kemudian pilih database yang akan digunakan dengan menggunakan dialog box yangmuncul. Ingat, yang dapat dipakai untuk database access adalah access 97.
2
5/11/2018 Dao Database - slidepdf.com
http://slidepdf.com/reader/full/dao-database 3/8
Gambar 1.5 : Dialog Box memilih database
Setelah dipilih maka tampilan properti window untuk komponen dao seperti berikut ini
Gambar 1.6 : Properti Window
Kemudian properti yang harus diubah nilainya selain databasename adalah
RecordSource. Nilai yang akan tampil di properti RecordSource adalah tabel yang terdapat pada database. Tinggal dipilih tabel mana yang dibutuhkan pada komponen ini. Berikut ini
adalah tampilan yang terdapat pada properti RecordSource
3
5/11/2018 Dao Database - slidepdf.com
http://slidepdf.com/reader/full/dao-database 4/8
Gambar 1.7 : Memilih tabel yang akan dipakai pada properti RecordSource
Gambar 1.8 : Tabel yang sudah dipilih di properti RecordSource
Memahami Jenis RecordSetSelain RecordSource, properti yang harus diperhatikan adalah jenis Recordset karena jenis
Recordset jika digunakan untuk keperluan yang tepat akan mendukung performa dari
aplikasi yang dibuat.
Visual Basic menerima dan menampilkan record dari database dengan menggunakan objek Recordset. Recordset menampilkan record dari suatu Tabel atau record yang merupakanhasil Query (SQL). Ada tiga jenis recordset yang dapat ditentukan pada properti
4
5/11/2018 Dao Database - slidepdf.com
http://slidepdf.com/reader/full/dao-database 5/8
RecordSetType pada data control, adapun ketiga jenis recordset tersebut adalah sebagai berikut :
Tabel Properti Recordset
Jenis Recordset Keterangan
Table Suatu himpunan dari record yang diambil dari suatu tabel tunggaldatabase. Anda dapat menambah, mengubah, atau menghapus
record pada jenis recordset ini.
Dynaset Suatu himpunan dari record secara dinamis yang di ambil dari
suatu tabel tunggal maupun hasil Query (SQL) dari satu atau lebih
tabel. Anda dapat menambah, mengurangi, atau menghapus record
pada jenis recordset ini, dan perubahan akan mempengaruhi tabel
yang bersangkutan.
Snapshot Suatu himpunan dari record yang merupakan duplikasi secara
statis. Anda dapat menggunakan recordset jenis ini untuk mencari
data, dan membuat laporan. Recorset Snapshot dapat mengandung field dari satu atau lebih tabel yang tidak dapat di update.
Untuk memilih jenis Recordset yang ingin digunakan pada Property (RecordsetType), dannilai defaultnya adalah vbDynasetType.Catatan : Pada Dynaset dan Snapshot, recordset disimpan pada memori lokal, jika aplikasi andatidak menggambil data lebih dari satu tabel, ataupun sumber data non-ODBC, maka Recordset jenis Table merupakan pilihan yang baik dari segi kecepatan dan efisiensi pemakaian memori.
Metoda-metoda pada Data KontrolSebagaimana objek-objek standar lainnya, objek Data kontrol menyediakan berbagaimetoda yang dapat digunakan untuk mendukung program yang dibuat denganmenggunakan komponen tersebut.
Bergerak dalam RecordSet
Metoda Fungsi
MoveFirst Memindahkan keaktifan pointer ke awal recordset
MoveLast Memindahkan keaktifan pointer ke akhir recordset
MovePrevious Memindahkan keaktifan pointer ke record sebelumnya
MoveNext Memindahkan keaktifan pointer ke record berikutnya
Contoh :Data1.Recordset.MoveFirst
Mencari suatu record tertentua. Untuk RecordSet jenis Dynaset dan SnapShot
Metoda Fungsi
FindFirst kriteria Mencari dari ecord pertama yang memenuhi kriteria
FindLast kriteria Mencari dari record terakhir yang memenuhi kriteria
FindNext kriteria Mencari ke record berikutnya yang memenuhi kriteria
FindPrevious Kriteria Mencari ke record sebelumnya yang memenuhi kriteria
5
5/11/2018 Dao Database - slidepdf.com
http://slidepdf.com/reader/full/dao-database 6/8
Contoh :Data1.Recordset.FindFirst "nama = 'Doraemon'"
b. Untuk RecordSet jenis Table
Pada recordset jenis table untuk pencarian dapat menggunakan metoda Seek, tetapisebelumnya perlu ditentukan dahulu pada saat pembuatan tabel, field mana yang menjadiindex dan field ini yang akan digunakan pada properti index di komponen data.Bentuk umumnya :
Data1.RecordSet.Index = NamaIndex
Data1.RecordSet.Seek perbandingan, key1, key2, ...
Perbandingan Keterangan
"=" Sama dengan
">=" Lebih besar atau sama
">" Lebih besar
"<=" Lebih kecil atau sama
"<" Lebih kecil
Contoh :Data1.Recordset.Index = "nama"Data1.Recordset.Seek "=","doraemon"
Memeriksa hasil pencarian recordSetelah proses pencarian dilakukan, maka hasil dari proses tersebut haruslah diperiksaapakah ditemukan atau tidak. Untuk itu, proses pemeriksaannya dapat menggunakan
properti NoMatch baik untuk metoda Find maupun metoda Seek . Dimana arti dari properti NoMatch adalah tidak cocok ContohData1.Recordset.FindFirst "nama = 'doraemon'"
If Data1.Recordset.NoMatch ThenMsgBox "Peserta belum terdaftar !"
ElseMsgBox "Peserta telah terdaftar !"
End If
atau
Data1.Recordset.Index = "nama"Data1.Recordset.Seek "=","doraemon"
If Data1.Recordset.NoMatch ThenMsgBox "Peserta belum terdaftar !"
Else
MsgBox "Peserta telah terdaftar !"
End If
Menandai posisi recordUntuk menyimpan posisi record dapat menggunakan properti bookmark .
Contoh :Dim MyPosisi As Variant
MyPosisi = Data1.RecordSet.BookmarkData1.RecordSet.MoveFirst
Data1.RecordSet.Bookmark = MyBookMark
6
5/11/2018 Dao Database - slidepdf.com
http://slidepdf.com/reader/full/dao-database 7/8
Mengambil nilai field dari record aktif Jika suatu kontrol di bound pada data kontrol, maka kontrol tersebut akan menampilkannilai field dari record yang sedang aktif. Untuk mengambil nilai field dari record yangsedang aktif secara koding atau menuliskannya pada code window, dapat menggunakan
salah satu cara berikut :
Data1.Recordset.Fields(0).Value ' Mengacu pada nilai pada field pertaman = 0 ' Mengacu tidak langsung dengan suatu field
number.Data1.Recordset.Fields(n) ' Mengacu pada nilai pada field pertama.Data1.Recordset.Fields("FName") ' Mengacu pada FName field.string$ = "FName" ' Mengacu tidak langsung dengan nama field.Data1.Recordset.Fields(string$) ' Mengacu pada FName fieldData1.Recordset("FName") ' Mengacu kepada field sebagai collection
default.
Data1.Recordset(n) ' Mengacu kepada field sebagai collectiondefault.
Contoh :Debug.Print Data1.Recordset("Email")
Mengubah nilai field dari record aktif Untuk mengubah nilai field dari record yang sedang aktif secara koding / penulisan program pada code window, lakukan langkah sebagai berikut :
1. Posisikan current record ke record yang akan diedit.2. Tentukan nilai baru kefield yang mau diubah
3. Gunakan method Update atau method Move, Find, atau Seek.Contoh :Data1.Recordset.Edit
Data1.Recordset("nama") = "Doraemon"...
Data1.RecordSet.Update
Menambah record baru ke recordsetUntuk menambahkan record baru ke dalam recordset, dapat digunakan properti EOFAction
untuk secara otomatis menambahkan record baru ketika posisi record pointer berada di
EOF, sehingga dapat dengan segera menyimpan data di tabel walaupun tidak menggunakan perintah. Cukup dengan melakukan seting pada properti EOFAction, maka proses tersebutsudah terlaksana.
Secara koding lakukan langkah berikut untuk menambahkan record baru ke recordset :
1. Membuat suatu record baru dengan method AddNew dimana Current record pointer disimpan dan berpindah ke record baru.
2. Tentukan nilai baru untuk record baru.
3. Simpan record baru dengan method Update.Contoh :Data1.Recordset.AddNewData1.Recordset("nama") = "Nobita"
...
Data1.RecordSet.Update
7
5/11/2018 Dao Database - slidepdf.com
http://slidepdf.com/reader/full/dao-database 8/8
Menghapus record yang sedang aktif Untuk menghapus seluruh record, posisikan ke record yang akan dihapus, dan gunakan
method Delete. Sesaat setelah record tersebut dihapus, maka record tersebut menjadi
invalid, sehingga harus menggunakan method MoveNext untuk memindahkan posisi
setelah setiap penghapusan.Contoh :Data1.Recordset.Delete
Data1.Recordset.MoveNext
If Data1.Recordset.Eof ThenData1.Recordset.MoveLast
End If
Melakukan refresh data pada RecordsetAnda dapat menggunakan metoda Refresh untuk menutup dan membentuk ulang isiRecordset.
Contoh :Data1.Refresh
Menutup suatu RecordsetMethod Close menutup recordset dan membebaskan resource yang dialokasikan padanya.Usaha untuk melakukan suatu metode atau akses pada element dari recordset yang telahterhapus akan menghasilkan kesalahan.Contoh :Data1.Recordset.Close
Database dan recordset akan secara otomatis tertutup ketika :1. Menggunakan method Close terhadap recordset tertentu.
2. Form yang mengandung data control di unload3. Program menjalankan statement End.
8