يمكنك استخدام الدالتين DFirstوDLast لإرجاع سجل عشوائي من حقل معين في جدول أو استعلام عندما تحتاج ببساطة إلى أي قيمة من هذا الحقل. استخدم الدالتين DFirstوDLast في الماكرو أو وحدة نمطية أو تعبير استعلام أو عنصر تحكم محسوب في نموذج أو تقرير.
بناء الجملة
DFirst ( expr , domain [, criteria] )
DLast ( expr , domain [, criteria] )
تحتوي الدالتان DFirstوDLast على هذه الوسيطات:
الوسيطة |
الوصف |
expr |
مطلوبة. تعبير يحدد الحقل الذي تريد العثور على القيمة الأولى أو الأخيرة منه. يمكن أن يكون إما تعبير السلسلة يحدد حقلا في جدول أو استعلام، أو تعبيرا يقوم بإجراء عملية حسابية على البيانات الموجودة في هذا الحقل. في السابق، يمكنك تضمين اسم حقل في جدول أو عنصر تحكم في نموذج أو ثابت أو دالة. إذا كان expr يتضمن دالة، يمكن أن تكون إما مضمنة أو معرفة من قبل المستخدم، ولكن ليس تجميع مجال آخر أو دالة تجميع SQL. |
مجال |
مطلوبة. تعبير سلسلة يحدد مجموعة السجلات التي تشكل المجال. |
معايير |
اختيارية. تعبير سلسلة يستخدم لتقييد نطاق البيانات التي يتم تنفيذ الدالة DFirst أو DLast عليها. على سبيل المثال، غالبا ما تكون المعايير مكافئة لعبارة WHERE في تعبير SQL، دون كلمة WHERE. إذا تم حذف المعايير ، فإن الدالتين DFirstوDLastتقيمان expr مقابل المجال بأكمله. يجب أن يكون أي حقل مضمن في المعايير أيضا حقلا في المجال؛ وإلا، فإن الدالتين DFirstوDLast ترجعان Null . |
ملاحظات
ملاحظة: إذا كنت تريد إرجاع السجل الأول أو الأخير في مجموعة من السجلات ( مجال )، فيجب عليك إنشاء استعلام تم فرزه إما تصاعديا أو تنازليا وتعيين الخاصية TopValues إلى 1. لمزيد من المعلومات، راجع موضوع الخاصية TopValues . من وحدة Visual Basic for Applications (VBA)، يمكنك أيضا إنشاء كائن ADO Recordset واستخدام الأسلوب MoveFirst أو MoveLast لإرجاع السجل الأول أو الأخير في مجموعة من السجلات.
أمثلة
تعبير |
النتائج |
SELECT DFirst("DateofSale","ProductSales") AS Expr1 FROM ProductSales GROUP BY DFirst("DateofSale","ProductSales"); |
إرجاع القيمة العشوائية من الحقل "DateofSale" للجدول "ProductSales". إذا كان الجدول يحتوي على "مفتاح أساسي"، فسيرجع القيمة "FIRST" ل "DateofSale" استنادا إلى الترتيب التصاعدي للمفتاح الأساسي. |
SELECT DLast("DateofSale","ProductSales") AS FirstDis_ID FROM ProductSales GROUP BY DLast("DateofSale","ProductSales"); |
إرجاع القيمة العشوائية من الحقل "DateofSale" للجدول "ProductSales". إذا كان الجدول يحتوي على "مفتاح أساسي"، فسيرجع قيمة "LAST" ل "DateofSale" استنادا إلى الترتيب التصاعدي للمفتاح الأساسي. إرجاع "ProductID" الأول من الجدول "ProductSales" حيث قيمة "Discount" هي "0" وتعرض النتيجة في العمود "FirstDis_ID". |
SELECT DLast("ProductID","ProductSales","Discount=0") AS LastDis_ID FROM ProductSales GROUP BY DLast("ProductID","ProductSales","Discount=0"); |
إرجاع "ProductID" الأخير من الجدول "ProductSales" حيث تكون قيمة "الخصم" "0" وتعرض النتيجة في العمود "LastDis_ID". |