Akhirnya bisa posting artikel lagi setelah beberapa lama tertunda karena
menyelesaikan pembuatan skripsi saya. ^_^ Pada Artikel kali ini saya
akan membahas tentang proses dan metode pencarian data apa saja yang
bisa digunakan pada ADO.
Pada pemprograman database, proses pencarian data umumnya sangat
dibutuhkan agar data/record yang akan dimanipulasi sesuai dengan yang
diinginkan. Berikut beberapa metode pencarian data yang akan kita bahas.
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
Setelah mendesain form seperti diatas, lalu buat database dengan
microsoft access seperti dibawah ini lalu isikan beberapa record untuk
pencarian nanti :
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
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
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
Kemudian klik dua kali pada tombol Cari Dengan Find atau cmdfind hingga
muncul jendela kode untuk cmdfind, lalu tuliskan kode pencarian find
seperti dibawah ini :
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
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 sudah, coba jalankan programnya, lalu inputkan NRP pada Text Box
Cari NRP kemudian klik tombol Cari Dengan Find yang sudah kita isikan
kode perintah pencarian dengan metode find.
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 :
Private Sub cmdmove_Click()
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
End Sub
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
End Sub
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
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
Sekarang jalankan programnya lalu inputkan NRP dengan 2 digit dulu,
misalkan "01" lalu perhatikan perubahan data yang terjadi pada datagrid.
Jika ditampilkan secara lengkap maka tampilan data dalam datagrid
seperti gambar berikut ini :
Sampai disini dulu pembahasan tentang metode pencarian ADO,,untuk
pencarian dengan metode Find dan Move bisa dikembangkan lagi, misalnya
dengan menempatkannya pada even Change dari textbox seperti pada metode
SQL., jadi bisa disesuaikan dengan kebutuhan teman-teman. ^_^
Contoh Program Bisa di Download disini
Contoh Program Bisa di Download disini
[My-Blogs]
0 Komentar