13-01-14, 01:55 AM
السلام عليكم...
بفرض أن النص الذي سنبحث عنه مكتوب في Text1.
1. من أجل FindFirst:
2. من أجل FindNext:
* لاحظ أن الفرق الوحيد بينهما (أي بين First و Next) أننا في حالة First نعيد مؤشر السجلات إلى أول سجل ليبدأ البحث من البداية، أما في حالة Next فإننا لا نعيد مؤشر السجلات إلى البداية و إنما نبدأ البحث من الموقع الحالي لمؤشر السجلات.
* الكود يفترض أن الحقل EmpName هو حقل نصي و لهذا استعملنا علامات الاقتباس الفردية حول نص البحث (قبل و بعد Text1.Text). إذا كان الحقل عددياً فإننا لا نستعمل علامات الاقتباس الفردية، و إذا كان الحقل تاريخ-وقت فيجب أن نحيط نص البحث بعلامتي # (مع Access).
* إذا كنت تتعامل مع ADO ككائنات (مثلاً Dim RS As ADODB.Recordset) بدلاً من المكون ADO Control فضع المتغير RS (أو أياً كان الاسم الذي لديك) بدل Adodc1.Recordset في أي مكان تجدها فيه.
نرجو الاستفادة و السلام.
بفرض أن النص الذي سنبحث عنه مكتوب في Text1.
1. من أجل FindFirst:
كود :
Dim BkMrk
' الاحتفاظ بالموقع الحالي
BkMrk = Adodc1.Recordset.Bookmark
' الذهاب لأول سجل
Adodc1.Recordset.MoveFirst
' تنفيذ عملية البحث
Adodc1.Recordset.Find "EmpName = '" & Text1.Text & "'"
' في حالة عدم وجود تطابق سيصل إلى نهاية السجلات
If Adodc1.Recordset.EOF Then
MsgBox "السجل المطلوب غير موجود"
' العودة إلى السجل الذي كان واقفاً عنده
Adodc1.Recordset.Bookmark = BkMrk
End If2. من أجل FindNext:
كود :
Dim BkMrk
' الاحتفاظ بالموقع الحالي
BkMrk = Adodc1.Recordset.Bookmark
' تنفيذ عملية البحث
Adodc1.Recordset.Find "EmpName = '" & Text1.Text & "'"
' في حالة عدم وجود تطابق سيصل إلى نهاية السجلات
If Adodc1.Recordset.EOF Then
MsgBox "السجل المطلوب غير موجود"
' العودة إلى السجل الذي كان واقفاً عنده
Adodc1.Recordset.Bookmark = BkMrk
End If* لاحظ أن الفرق الوحيد بينهما (أي بين First و Next) أننا في حالة First نعيد مؤشر السجلات إلى أول سجل ليبدأ البحث من البداية، أما في حالة Next فإننا لا نعيد مؤشر السجلات إلى البداية و إنما نبدأ البحث من الموقع الحالي لمؤشر السجلات.
* الكود يفترض أن الحقل EmpName هو حقل نصي و لهذا استعملنا علامات الاقتباس الفردية حول نص البحث (قبل و بعد Text1.Text). إذا كان الحقل عددياً فإننا لا نستعمل علامات الاقتباس الفردية، و إذا كان الحقل تاريخ-وقت فيجب أن نحيط نص البحث بعلامتي # (مع Access).
* إذا كنت تتعامل مع ADO ككائنات (مثلاً Dim RS As ADODB.Recordset) بدلاً من المكون ADO Control فضع المتغير RS (أو أياً كان الاسم الذي لديك) بدل Adodc1.Recordset في أي مكان تجدها فيه.
نرجو الاستفادة و السلام.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
