Selasa, 16 Oktober 2012

pencarian menggunakan metode find dalam visual basic

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 :
  1. Public conn As New ADODB.Connection
  2. Sub koneksi()
  3. Set conn = New ADODB.Connection
  4. conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "/latihan.mdb;Persist Security Info=False"
  5. 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.
  1. Call koneksi
  2. Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "/latihan.mdb;Persist Security Info=False"
  3. Adodc1.RecordSource = "MHS"
  4. Adodc1.RecordSource = "select * from MHS"
  5. Adodc1.Refresh
  6. Set DataGrid1.DataSource = Adodc1
  7. DataGrid1.Refresh
  8. 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 :
  1. Private Sub cmdfind_Click()
  2. Dim cari As String
  3. cari = "NRP = '" & txtcari & "'"
  4. Adodc1.Refresh
  5. With Adodc1.Recordset
  6. .Find cari
  7. If Not .EOF Then
  8. MsgBox .Fields(0) & "-" & .Fields(1), vbExclamation, "Pencarian Data Find"
  9. Else
  10. MsgBox "Data Mahasiswa Dengan NRP " & txtcari & " tidak ada", vbCritical, "Perhatian"
  11. txtcari = ""
  12. Text1.SetFocus
  13. End If
  14. End With
  15. 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 :
  1. Adodc1.Refresh
  2. With Adodc1.Recordset
  3. .MoveFirst
  4. Do While Not .EOF
  5. If txtcari = .Fields("NRP") Then
  6. MsgBox "Data Mahasiswa yang dicari adalah " & vbCrLf & .Fields("NRP") & " " & .Fields("NAMA"), vbExclamation, "Pencarian Data Move"
  7. Exit Do
  8. End If
  9. .MoveNext
  10. Loop
  11. If .EOF Then MsgBox "Data tidak Ada !", vbCritical, "Perhatian"
  12. 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 :
  1. Private Sub txtcarisql_Change()
  2. If txtcarisql.Text = Empty Then
  3. Adodc1.RecordSource = "select * from MHS"
  4. Else
  5. Adodc1.RecordSource = "select * from MHS where NRP like '%" & txtcarisql.Text & "%'"
  6. End If
  7. Adodc1.Refresh
  8. If Not Adodc1.Recordset.EOF Then
  9. If txtcarisql.Text = Empty Then
  10. lblnama.Caption = ""
  11. lbljurusan.Caption = ""
  12. lblnilai.Caption = ""
  13. Else
  14. With Adodc1.Recordset
  15. lblnama.Caption = .Fields("NAMA")
  16. lbljurusan.Caption = .Fields("JURUSAN")
  17. lblnilai.Caption = .Fields("NILAI")
  18. End With
  19. End If
  20. Else
  21. lblnama.Caption = ""
  22. lbljurusan.Caption = ""
  23. lblnilai.Caption = ""
  24. End If
  25. 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 :

simpan,edit dan hapus data pada database di visual basic

pada artikel kali ini saya akan membahas tentang bagaimana cara membuat perintah simpan, edit dan hapus data pada database di visual basic.
pada pembuatan program kali ini struktur database yang akan saya gunakan adalah sebagai berikut :
nama database = DBData
nama tabel = mhs
field dari tabel mhs = nrp, nama, jurusan
type data = text
Untuk keterangan bagaimana cara membuat database silahkan lihat pada artikel sebelumnya .
Jika sudah membuat database, untuk koneksi dan menampilkan data dari tabel database kali ini saya akan menggunakan komponen Data, dan DBGrid.
 
 
 Setelah menambahkan component DBGrid pada Toolbox, buatlah desain form seperti ini :
 
 
Untuk cara koneksi database nya, pada Properties Data1 > DatabaseName cari dan buka file DBData.mdb yang telah kita buat. kemudian masih pada Properties Data1 > Recordsource, pilih = mhs.
seperti pada gambar berikut :
 
 
Setelah itu pada DBGrid1 Properties > DataSource atur menjadi Data1.
 
 
Sampai disini kita sudah berhasil mengkoneksikan database dengan menggunakan Data1.,
Setelah database sudah terkoneksi dengan form, sekarang kita akan membuat perintah simpan, edit, hapus pada command button.
Pertama klik 2 kali pada Command Button Simpan, kemudian ketikkan koding berikut ini pada jendela kode :
 
Private Sub Command1_Click()
'Addnew = untuk membuat atau menambah data baru
Data1.Recordset.AddNew
'perintah untuk menyimpan data yang di inputkan pada textbox ke dalam field database
Data1.Recordset!nrp = Text1.Text
Data1.Recordset!nama = Text2.Text
Data1.Recordset!jurusan = Text3.Text
'update = perintah untuk mengupdate data yang telah ditambahkan
Data1.Recordset.Update
'perintah untuk merefresh grid ketika data sudah ditambahkan
DBGrid1.Refresh
'perintah untuk mengkosongkan textbox setelah data disimpan
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
End Sub
 
Kemudian Klik 2 kali pada Command Button Edit, lalu pada jendela kode, ketikkan kode perintah berikut :
 
Private Sub Command2_Click()
'Edit = untuk mengedit data yang sudah ada
Data1.Recordset.Edit
'perintah untuk menyimpan data yang di sudah di edit
Data1.Recordset!nrp = Text1.Text
Data1.Recordset!nama = Text2.Text
Data1.Recordset!jurusan = Text3.Text
Data1.Recordset.Update
DBGrid1.Refresh
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
End Sub
 
Untuk perintah hapus data, klik 2 kali Command Button Hapus, kemudian ketikkan kode perintah berikut :
 
Private Sub Command3_Click()
Data1.Recordset.Delete
DBGrid1.Refresh
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
End Sub
 
Untuk Menampilkan data yang akan di edit pada Textbox, klik 2 kali pada DBGrid1, kemudian ketikkan perintah program berikut :
 
Private Sub DBGrid1_Click()
'kode perintah untuk menampilkan data yang sudah disimpan di dalam grid ke textbox
Text1.Text = Data1.Recordset!nrp
Text2.Text = Data1.Recordset!nama
Text3.Text = Data1.Recordset!jurusan
End Sub
 
Jika semua kode program sudah di ketikkan pada jendela kode,,setelah itu jalankan program dengan mengklik tombol run atau tombol F5 pada keyboard.