يمكنك استخدام إجراء الماكرو SearchForRecord في قواعد بيانات Access لسطح المكتب للبحث عن سجل معين في جدول أو استعلام أو نموذج أو تقرير.

الإعداد

إن إجراء الماكرو SearchForRecord به الوسيطات التالية.

وسيطة الإجراء

الوصف

نوع الكائن

أدخل نوع كائن قاعدة البيانات الذي تبحث فيه أو حدده. يمكنك تحديد جدول أواستعلامأو نموذجأو تقرير.

اسم العنصر

أدخل الكائن المحدد الذي يحتوي على السجل الذي تريد البحث عنه أو حدده. تعرض القائمة المنسدل كل كائنات قاعدة البيانات من النوع الذي حددته لل وسيطة نوع الكائن.

تسجيل

حدد نقطة بداية البحث واتجاهه.

الإعداد

الوصف

السابق

البحث للخلف من السجل الحالي.

التالي

البحث للأمام من السجل الحالي.

الاسم الأول

البحث للأمام من السجل الأول. هذه هي القيمة الافتراضية لهذه الوسيطة.

الاسم الأخير

البحث للخلف من السجل الأخير.

حيث الشرط

أدخل معايير البحث باستخدام بناء الجملة نفسه الذي تستخدمه عبارة SQL WHERE، فقط بدون الكلمة "WHERE". على سبيل المثال،

Description = "Beverages"

لإنشاء معيار يتضمن قيمة من مربع نص في نموذج، يجب إنشاء تعبير ي سلسلة الجزء الأول من المعيار باسم مربع النص الذي يحتوي على القيمة التي يجب البحث عنها. على سبيل المثال، يبحث المعيار التالي في حقل الوصف عن القيمة في مربع النص المسمى txtDescription في النموذج المسمى frmCategories. لاحظ علامة المساواة (=) في بداية التعبير، واستخدام علامات اقتباس مفردة (') على أحد جانبي مرجع مربع النص:

="Description = '" & Forms![frmCategories]![txtDescription] & "'"

ملاحظات

  • في الحالات التي يتطابق فيها أكثر من سجل واحد مع المعايير الموجودة في الوسيطة Where Condition، تحدد العوامل التالية السجل الذي يتم العثور عليه:

    • إعداد وسيطة السجل    راجع الجدول في المقطع "إعدادات" للحصول على مزيد من المعلومات حول الوسيطة "سجل".

    • ترتيب فرز السجلات    على سبيل المثال، إذا تم تعيين الوسيطة Record إلى First،فقد يؤدي تغيير ترتيب فرز السجلات إلى تغيير السجل الذي يتم العثور عليه.

  • يجب فتح الكائن المحدد في الوسيطة Object Name (اسم الكائن) قبل تشغيل هذا الإجراء. وإلا، يحدث خطأ.

  • إذا لم يتم تطبيق المعايير في الوسيطة Where Condition، فلا يحدث أي خطأ ويبقى التركيز على السجل الحالي.

  • عند البحث عن السجل السابق أو التالي، لا يتم "التفاف" البحث عند الوصول إلى نهاية البيانات. إذا لم يكن هناك أي سجلات أخرى تتطابق مع المعايير، فلا يحدث أي خطأ ويبقى التركيز على السجل الحالي. لتأكيد العثور على تطابق، يمكنك إدخال شرط للخطوة التالية، وجعل الشرط هو نفسه المعايير الموجودة في الوسيطة Where Condition.

  • لتشغيل الإجراء SearchForRecord في وحدة نمطية في VBA، استخدم أسلوب SearchForRecord الخاص بكائن DoCmd.

  • يشبه إجراء الماكرو SearchForRecord إجراء الماكرو FindRecord، ولكن تحتوي SearchForRecord على ميزات بحث أكثر قوة. يتم استخدام إجراء الماكرو FindRecord بشكل أساسي للعثور على السلاسل، كما يؤدي إلى تكرار وظائف مربع الحوار "البحث". يستخدم إجراء الماكرو SearchForRecord معايير تشبه معايير عامل التصفية أو استعلام SQL. توضح القائمة التالية بعض الإجراءات التي يمكنك القيام بها باستخدام إجراء الماكرو SearchForRecord:

    • يمكنك استخدام معايير معقدة في الوسيطة Where Condition، مثل

الوصف = "المشروبات" و CategoryID = 11

  • يمكنك الإشارة إلى الحقول في مصدر السجلات ل نموذج أو تقرير ولكن لا يتم عرضها في النموذج أو التقرير. في المثال السابق، يجب Description عرض Description أو CategoryID عرضها في النموذج أو التقرير لكي تعمل المعايير.

  • يمكنك استخدام عوامل التشغيل المنطقية، مثل <و>و ANDو ORو BETWEEN. يطابق الإجراء FindRecord السلاسل التي تساوي السلسلة التي يتم البحث عنها أو تبدأ بها أو تحتوي عليها فقط.

مثال

يفتح الماكرو التالي أولا جدول الفئات باستخدام الإجراء OpenTable. يستخدم الماكرو بعد ذلك إجراء الماكرو SearchForRecord للبحث عن السجل الأول في الجدول حيث يساوي حقل الوصف "المشروبات".

الإجراء

الوسيطات

OpenTable

اسم الجدول: الفئات

عرض: ورقة البيانات

وضع البيانات: تحرير

SearchForRecord

نوع الكائن: جدول

اسم الكائن: الفئات

سجل: أولا

حيث الشرط: الوصف = "المشروبات"

هل تحتاج إلى مزيد من المساعدة؟

توسيع المهارات
استكشاف التدريب
الحصول على الميزات الجديدة أولاً
الانضمام إلى المشاركين في برنامج Microsoft Office Insider

هل كانت المعلومات مفيدة؟

ما مدى رضاك عن جودة اللغة؟
ما الذي أثّر في تجربتك؟

نشكرك على ملاحظاتك!

×