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
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
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
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
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
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 ank2 rpl. ^_^
Tidak ada komentar :
Posting Komentar