الدالة DLookup

في قواعد بيانات Access لسطح المكتب، يمكنك استخدام الدالة DLookup للحصول على قيمة حقل معين من مجموعة محددة من السجلات (سجل مجال ). استخدم الدالة DLookup في وحدة نمطية في Visual Basic for Applications (VBA) أو الماكرو أو تعبير استعلام أو عنصر تحكم محسوب في نموذج أو تقرير.

ملاحظة: لا تنطبق هذه المقالة على تطبيقات Access على ويب.

يمكنك استخدام الدالة DLookup لعرض قيمة حقل غير في مصدر السجلات للشكل أو التقرير. على سبيل المثال، افترض أن لديك نموذج يستند إلى جدول "تفاصيل الطلب". يعرض النموذج حقول OrderID و ProductID و UnitPrice و Quantity و Discount. ومع ذلك، يوجد الحقل ProductName في جدول آخر، جدول المنتجات. يمكنك استخدام الدالة DLookup في عنصر تحكم محسوب لعرض اسم المنتج في النموذج نفسه.

بناء الجملة

DLookup( expr, domain [ ,criteria] )

بناء جملة الدالة DLookup على هذه الوسيطات:

الوسيطة

الوصف

expr

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

مجال

مطلوبة. تعبير سلسلة يحدد مجموعة السجلات التي تشكل المجال. يمكن أن يكون اسم جدول أو اسم استعلام لاستعلام لا يتطلب معلمة.

معايير

اختياري. تعبير سلسلة يستخدم لتقييد نطاق البيانات التي يتم إجراء الدالة DLookup عليها. على سبيل المثال، غالبا ما تكون المعايير مكافئة لعبارات WHERE في تعبير SQL، بدون الكلمة WHERE. إذا تم حذف المعايير، تقيم الدالة DLookupexpr مقابل المجال بأكمله. يجب أن يكون أي حقل مضمن في المعايير أيضا حقلا في المجال؛ بخلاف ذلك، ترجع الدالة DLookup القيمة Null.

ملاحظات

ترجع الدالة DLookup قيمة حقل واحد استنادا إلى المعلومات المحددة في المعايير. على الرغم من أن المعايير هي وسيطة اختيارية، إذا لم توفر قيمة للمعايير، ترجع الدالة DLookup قيمة عشوائية في المجال.

إذا لم يكن هناك سجل يلبي المعايير أو إذا كان المجال لا يحتوي على أي سجلات، ترجع الدالة DLookup القيمة Null.

إذا كان هناك أكثر من حقل يلبي المعايير،ترجع الدالة DLookup التكرار الأول. يجب تحديد معايير تضمن أن تكون قيمة الحقل التي يتم إرجاعها بواسطة الدالة DLookup فريدة. قد تحتاج إلى استخدام قيمة مفتاح أساسي للمعايير، مثل [EmployeeID] المثال التالي، للتأكد من أن الدالة DLookup ترجع قيمة فريدة:

Dim varX As Variant
varX = DLookup("[LastName]", "Employees", _
"[EmployeeID] = 1")

سواء كنت تستخدم الدالة DLookup في ماكرو أو وحدة نمطية أو تعبير استعلام أو عنصر تحكم محسوب، يجب إنشاء وسيطة المعايير بعناية للتأكد من أنه سيتم تقييمها بشكل صحيح.

يمكنك استخدام الدالة DLookup لتحديد معايير في صف المعايير في استعلام، أو ضمن تعبير حقل محسوب في استعلام، أو في الصف "تحديث إلى" في استعلام تحديث.

يمكنك أيضا استخدام الدالة DLookup في تعبير في عنصر تحكم محسوب في نموذج أو تقرير إذا لم يكن الحقل الذي تريد عرضه في مصدر السجلات الذي يستند إليه النموذج أو التقرير. على سبيل المثال، افترض أن لديك نموذج "تفاصيل الطلب" يستند إلى جدول "تفاصيل الطلب" مع مربع نص يسمى "ProductID" يعرض حقل "ProductID". للبحث عن اسم المنتج من جدول "المنتجات" استنادا إلى القيمة في مربع النص، يمكنك إنشاء مربع نص آخر تعيين الخاصية ControlSource الخاصة به إلى التعبير التالي:

=DLookup("[ProductName]", "Products", "[ProductID] =" & Forms![Order Details]!ProductID)

التلميحات

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

  • يمكنك أيضا استخدام "معالج البحث" للبحث عن القيم في جدول الخارجي.

ملاحظة: لا يتم تضمين التغييرات غير المضمنة في السجلات في المجال عند استخدام هذه الدالة. إذا كنت تريد أن تستند الدالة DLookup إلى القيم التي تم تغييرها، فيجب أولا حفظ التغييرات بالنقر فوق "حفظ السجل" ضمن "سجلات" ضمن علامة التبويب "بيانات"، أو نقل التركيز إلى سجل آخر، أو باستخدام طريقة "التحديث".

مثال

ملاحظة: توضح الأمثلة التالية استخدام هذه الدالة في وحدة نمطية في Visual Basic for Applications (VBA). لمزيد من المعلومات حول استخدام VBA، حدد "مرجع المطور" في القائمة المنسدل إلى جانب "البحث" وأدخل مصطلحا واحدا أو أكثر في مربع البحث.

يرجع المثال التالي معلومات الاسم من الحقل CompanyName للسجل الذي يلبي المعايير. المجال هو جدول "شحنات". تقوم وسيطة المعايير بتقييد مجموعة السجلات الناتجة لتلك التي تساوي الوسيطة ShipperID 1 لها.

Dim varX As Variant
varX = DLookup("[CompanyName]", _
"Shippers", "[ShipperID] = 1")

يستخدم المثال التالي من جدول "الشحنات" عنصر تحكم النموذج ShipperID لتوفير معايير للدالة DLookup. لاحظ أن مرجع عنصر التحكم غير مضمن في علامات الاقتباس التي تشير إلى السلاسل. يضمن ذلك أنه في كل مرة يتم فيها استدعاء الدالة DLookup، يحصل Access على القيمة الحالية من عنصر التحكم.

Dim varX As Variant
varX = DLookup("[CompanyName]", "Shippers", _
"[ShipperID] = " & Forms!Shippers!ShipperID)

يستخدم المثال التالي متغيرا intSearch، للحصول على القيمة.

Dim intSearch As Integer
Dim varX As Variant
intSearch = 1
varX = DLookup("[CompanyName]", "Shippers", _
"[ShipperID] = " & intSearch)

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

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

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

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

شكراً لك على الملاحظات! يبدو أنه من المفيد إيصالك بأحد وكلاء دعم Office لدينا.

×