1. Metode Find
Metode Find digunakan untuk
menentukan lokasi record yang memenuhi syarat atau kriteria tertentu.
krtiteria yang dimaksudkan adalah nilai pembanding dari field kunci.
Pada ADO hanya mengenal satu metode Find, tidak seperti pada DAO yang
metodenya terdiri dari FindFirst, FindLast, FindNext, dan FindPrevious.
Untuk lebih jelasnya coba buat desain program pencarian seperti dibawah ini :
komponen tambahan dalam program ini adalah :a. Microsoft Ado data Control 6
b. Microsoft DataGrid Control 6
Nama database : Latihan.mdb
Nama Tabel : MHS
FIELD
|
DATA TYPE
|
SIZE
|
NRP
|
TEXT
|
10
|
NAMA
|
TEXT
|
35
|
JURUSAN
|
TEXT
|
25
|
NILAI
|
TEXT
|
3
|
Kemudian buat modul baru untuk koneksi database, klik Menu Project > Add Modul > Open,,
setelah muncul jendela kode modul,,isikan kode berikut untuk koneksinya :
- Public conn As New ADODB.Connection
- Sub koneksi()
- Set conn = New ADODB.Connection
- conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "/latihan.mdb;Persist Security Info=False"
- End Sub
Jika kode koneksi sudah diisikan pada
modul, langkah berikutnya tutup jendela modulnya lalu pada pada jendela
kode form_active isikan kode berikut untuk memanggil modul koneksi dan
untuk mengisi connection string pada Adodc.
- Call koneksi
- Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "/latihan.mdb;Persist Security Info=False"
- Adodc1.RecordSource = "MHS"
- Adodc1.RecordSource = "select * from MHS"
- Adodc1.Refresh
- Set DataGrid1.DataSource = Adodc1
- DataGrid1.Refresh
- txtcari.SetFocus
- Private Sub cmdfind_Click()
- Dim cari As String
- cari = "NRP = '" & txtcari & "'"
- Adodc1.Refresh
- With Adodc1.Recordset
- .Find cari
- If Not .EOF Then
- MsgBox .Fields(0) & "-" & .Fields(1), vbExclamation, "Pencarian Data Find"
- Else
- MsgBox "Data Mahasiswa Dengan NRP " & txtcari & " tidak ada", vbCritical, "Perhatian"
- txtcari = ""
- Text1.SetFocus
- End If
- End With
- End Sub
Jika data ditemukan maka akan muncul pesan yang berisi data NRP dan Nama seperti gambar dibawah ini :
2. Metode Move
Pencarian dengan metode move arah
pencariannya dilakukan secara berurutan, bisa dari awal record ke akhir
record atau sebaliknya. Prinsip kerja dari move adalah dengan
membandingkan data yang dicari dengan data yang sudah tersimpan secara
satu per satu.
Sekarang kita buat contoh pencarian dengan menggunakan metode move,,Klik dua kali pada tombol Cari Dengan Move sampai muncul jendela kode, lalu isikan dengan kode perintah berikut :
- Adodc1.Refresh
- With Adodc1.Recordset
- .MoveFirst
- Do While Not .EOF
- If txtcari = .Fields("NRP") Then
- MsgBox "Data Mahasiswa yang dicari adalah " & vbCrLf & .Fields("NRP") & " " & .Fields("NAMA"), vbExclamation, "Pencarian Data Move"
- Exit Do
- End If
- .MoveNext
- Loop
- If .EOF Then MsgBox "Data tidak Ada !", vbCritical, "Perhatian"
- End With
Kemudian jalankan program dengan
mengklik tombol start atau menkan tombol F5 pada keyboard, isikan NRP
pada text Cari NRP lalu klik tombol Cari Dengan Move, seperti gambar
berikut ini :
3. Metode SQL
Sebenarnya pencarian dengan metode
SQL lebih tepat dikatakan sebagai penyaringan data (Filter), karena
data yang tampil merupakan hasil dari penyaringan data sesuai dengan
kriteria yang ditampilkan. Jadi dengan metode tertentu, data yang
ditampilkan bukan hanya satu data, tetapi bisa banyak data asal kuncinya
hampir sama dengan kriteria yang dimaksudkan.
Untuk contoh penggunaan SQL sebagai pencarian, sebagai berikut :
Klik dua kali pada txtcarisql atau text Cari NRP Dengan SQL kemudian isikan kode pencarian seperti dibawah ini :
- Private Sub txtcarisql_Change()
- If txtcarisql.Text = Empty Then
- Adodc1.RecordSource = "select * from MHS"
- Else
- Adodc1.RecordSource = "select * from MHS where NRP like '%" & txtcarisql.Text & "%'"
- End If
- Adodc1.Refresh
- If Not Adodc1.Recordset.EOF Then
- If txtcarisql.Text = Empty Then
- lblnama.Caption = ""
- lbljurusan.Caption = ""
- lblnilai.Caption = ""
- Else
- With Adodc1.Recordset
- lblnama.Caption = .Fields("NAMA")
- lbljurusan.Caption = .Fields("JURUSAN")
- lblnilai.Caption = .Fields("NILAI")
- End With
- End If
- Else
- lblnama.Caption = ""
- lbljurusan.Caption = ""
- lblnilai.Caption = ""
- End If
- End Sub