Dear Mr. Edi Susanto Penggunaan metode find menurut saya cukup efektif tetapi kurang efesien, karena penggunaan perintah find akan meletakan cursor database pada record yang dimaksud, tetapi pencariannya selalu dimulai dari titik terakhir cursor itu berada, saya akan berikan contoh :
kita memiliki 5 record data (1,2,3,4,5) posisi kita pada saat membuka koneksi dan recordset selalu berada di awal record yaitu record ke 1, lalu kita akan melakukan update di record ke 3, maka perintah find akan mencari record ke 3 dan meletakkan cursor pada record ke 3, lalu kita dapat mengupdate data tsb. Jika saat ini cursor berada di record 3 dan anda akan melalukan update record ke 2 maka anda, harus meletakan cursor di awal data yakni record ke 1 (gunakan perintah movefirst), karena jika tidak memindahkan cursor ke posisi 1 data yang adan cari tidak akan ditemukan. Kelemahan dari penggunaan find adalah anda harus meletakkan cursor di posisi 1 sebelum melakukan pencarian (tanpa pindah bisa dilakukan jika data yang dicari terletak setelah cursor db berada) hal ini akan membuat program anda menjadi lebih lambat. saran saya : sebaiknya hindari penggunaan find jika data anda besar Message: 3 Date: Tue, 17 May 2005 21:44:50 +0700 From: "Edi Susanto" <[EMAIL PROTECTED]> Subject: Metode Save Menurut rekan2, efektifkah kalo kita ingin membuat prosedur save dengan metode Find, ini saya sertakan contoh code yang saya maksud ? Mohon masukannya... Thx Edi susanto ------------------------------------------------------ With KoneksiUtama.rstblMutasiCek .MoveFirst .Find "NoCek = '" & Trim(txtNoCek.Text) & "'" If .EOF Then KoneksiUtama.rstblMutasiCek.AddNew KoneksiUtama.rstblMutasiCek.Fields("NoCek") = txtNoCek.Text KoneksiUtama.rstblMutasiCek.Fields("CustomerID") = txtCustomerID.Text KoneksiUtama.rstblMutasiCek.Fields("TanggalKeluar") = Format(cmbTanggalKeluar.Value, "dd/mm/yyyy") KoneksiUtama.rstblMutasiCek.Fields("JumlahTicket") = txtJumlahTicket.Text KoneksiUtama.rstblMutasiCek.Update MsgBox "Penambahan No Cek : " & txtNoCek.Text & " berhasil !", vbInformation, "Sukses" Else If MsgBox("No Cek : " & txtNoCek.Text & " sudah ada, apakah anda ingin menyimpan perubahan datanya ?", vbYesNo, "Simpan Perubahan Data") = vbYes Then KoneksiUtama.rstblMutasiCek.Fields("NoCek") = txtNoCek.Text KoneksiUtama.rstblMutasiCek.Fields("CustomerID") = txtCustomerID.Text KoneksiUtama.rstblMutasiCek.Fields("TanggalKeluar") = Format(cmbTanggalKeluar.Value, "dd/mm/yyyy") KoneksiUtama.rstblMutasiCek.Fields("JumlahTicket") = txtJumlahTicket.Text KoneksiUtama.rstblMutasiCek.Update MsgBox "Perubahan Data No Cek : " & txtNoCek.Text & " berhasil disimpan", vbExclamation, "Suskes" Else txtNoCek.SetFocus txtNoCek.SelStart = 0 txtNoCek.SelLength = 7 Exit Sub End If End If End With __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com Untuk keluar dari millis ini, kirim email kosong ke: [EMAIL PROTECTED] Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/Programmer-VB/ <*> To unsubscribe from this group, send an email to: [EMAIL PROTECTED] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/