اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

استفسار حول دالة dlookup


shady88

الردود الموصى بها


للشرط النصي
Text1 = DLookup("[ID]", "Table1", "[SName]='" & [TextName] & "'")
للشرط الرقمي
Text1 = DLookup("[ID]", "Table1", "[id]=" & me.id )
بدون شروط اذا كان الجدول يحتوي على سجل واحد فقط
Text1 = DLookup("[ID]", "Table1")
  • Like 2
رابط هذا التعليق
شارك


تستخدم دالة DLookup للحصول علي قيمة حقل محدد من مجموعة سجلات (مجال) .
و يمكن استخدام هذه الدالة في كود الفيجوال بيزيك أو في ماكرو أو في استعلام أو في عنصر تحكم به قيمة محسوبة في نموذج أو تقرير. و يكون نوع البيانات للقيمة الناتجة منها
Variant
صيغة الدالة :

 

DLookup(Expr, Domain, Criteria)

 


Expr : قيمة نصية تعرف الحقل الذي يحوي البيانات التي تريد إعادتها بواسطة هذه الدالة ، و هي يمكن أن تكون نص يعبر عن إسم حقل في جدول أو استعلام ، أو معادلة حسابية علي هذا الحقل ، و في هذا التعبير يمكن إدراج اسم حقل ، عنصر تحكم في نموذج ، ثابت ، أو دالة
و لكن في حالة احتوائه علي دالة فيمكن أن تكون دالة من تصميم المستخدم أو دالة جاهزة في أكسس ،ـ و لكن لا يمكن أن تكون دالة من دوال المجال التجميعية الأخرى

Domain : قيمة نصية تعرف مجموعة السجلات التي تمثل المجال ، و يمكن أن تكون جدول أو استعلام
و كل من
Expr و Domain قيم إجبارية لابد من إدراجها في الدالة ، أما القيمة التالية Criteria فهي خيارية
Criteria : قيمة خيارية ( قد توضع و قد لا توضع ) ، و هي معيار يوضع لتحديد مجال تطبيق الدالة ، و يمكن اعتبارها كشرط مناظر ل WHERE في عبارة SQL ، و في حالة عدم إدراجها يتم تطبيق الدالة علي المجال بأكمله.
في حالة إدراج حقل في هذا المعيار و هذا الحقل غير مدرج في المجال ، تكون القيمة المعادة من الدالة
null ، لذا أي حقل موجود في المعيار Criteria يجب أن يكون أيضا مدرجا في المجال.
ملاحظات
تعيد الدالة
DLookup قيمة وحيدة بناء علي المعايير التي تحددها في جزء أل criteria في الدالة ، و هذا الجزء كما ذكرنا خياري ، فإذا لم نحدد المعيار فان الدالة تعيد قيمة عشوائية من ضمن المجال.
إذا لم يوجد سجل يوفي الشروط المحددة في المعيار ، فان الدالة
DLookup تعيد قيمة Null .
إذا حقق أكثر من سجل المعيار المطلوب فان الدالة ااا تعيد أول حدوث لتحقيق الشرط ، أي قيمة الحقل في أول سجل يحقق المعيار ، علي الرغم من وجود سجلات أخري تحققه . لذا يفضل تحديد الشرط بدقة بحيث يعيد سجل وحيد

Dim varX As Variant
 

varX = DLookup("[LastName]", "Employees", "[EmployeeID] = 1")

 

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

=DLookup("[ProductName]", "Products", "[ProductID] =" _

     & Forms![Order Details]!ProductID)

 

بالرغم من أنك تستطيع الحصول علي قيمة حقل في جدول مرتبط باستخدام DLookup ، إلا أنه ينصح في هذه الحالة بعمل استعلام مبني علي الجدولين و استخدامه كمصدر لبيانات النموذج أو التقرير.
القيم التي لم يتم حفظها بعد في السجلات لا تدخل في حسابات الدالة ، و لكن لإدخالها لابد من حفظ السجل أولا ، و ذلك باختيار حفظ من أمر
File أو بالانتقال إلي السجل التالي ، أو باستخدام طريقة أل Update .


 

  • Like 2
رابط هذا التعليق
شارك

  • 2 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information