بازدید: ۵١٠

استفاده از تابع DLookUp (آموزش پیشرفته اکسس)

 

بازگشت به صفحه اصلی آموزش پیشرفته اکسس

 

فرض کنید فرمی ایجاد کرده اید تا اطلاعات موجود در یک جدول سفارش را نمایش دهد. با انتخاب جدول tblOrderDetails بعنوان record source فرم، متوجه می شویم که این جدول نام محصولی  را که باید در بین فیلدهای خود داشته باشد، ندارد. در عوض از  فیلد Id بعنوان یک کلید خارجی در جدول tblproduct استفاده می کند. واضح است که  کار با آن قدری مشکل است. به عبارتی دیگر کسی که از فرم استفاده می کند نیازی ندارد بداند کدام ID محصول به کدام نام محصول مرتبط می باشد. در اینجاست که باید از تابع DLookUp استفاده کرد.

تابع DLookUp این امکان را به برنامه نویس اکسس می دهد تا به غیر از record Source فرم، به مقدار یک فیلد از جدول مراجعه کند. معمولا از آن بصورت تابعی در یک کادر متنی محاسبه شده استفاده می شود. در ادامه مثال فوق می توانیم از یک کنترل محاسبه شده که حاوی تابع DLookUp می باشد استفاده کنیم تا نام آیتم را از جدول tblProducts بدست آوریم.  

در هنگام استفاده از تابع DLookUp نیاز به ارائه سه قسمت اطلاعات داریم (که پارامتر نامیده می شوند). این قسمت ها عبارتند از:

  1. نام فیلد
  2. نام جدول یا فرم پرس وجو
  3. شرط مورد نظر برای پیدا کردن رکورد خاص.

نحوه نوشتن تابع DLookUp در کنترل محاسبه شده بصورت زیر می باشد:

 

=DLookUp("FieldName", "TableName", "Criteria")

 

در مثال فوق، پارامترهایی را که به آنها نیاز داریم تا در تابع قرار دهیم به شرح زیر می باشند:

 

=DLookUp("itemName", "tblProducts", "ID = " & forms![frmOrderDetails]![ProductId])

 

در اینجا ما به جستجوی مقدار فیلد itemName در جدول tblProducts می پردازیم. در آنجا ID مربوط به رکورد محصول، مطابق با ProductId نمایش داده شده در فرم Order Details فعال ما می باشد.

اکنون به شرح پارامتر شرطی که از آن قبلا استفاده کردیم می پردازیم. تمامی پارامترهای استفاده شده در تابع DLookUp(از جمله پارامتر شرط) از نوع داده String می باشند. پارامتر شرط، رشته ای است که حاوی اطلاعاتی شبیه به دستور WHERE زبان SQL است با این تفاوت که قسمت WHERE دستور حذف شده است. بعنوان مثال، “ProductId = 1” به جای “WHERE ProductId = 1” قرار می گیرد. در مثال ما ProductId استفاده شده در این عبارت برای تمامی رکوردهای جاری نمایش داده شده روی فرم فرق دارد. بنابراین باید شرط ما  به مقدار ProductId نمایش داده شده رکورد جاری که بر روی فرم فعال ما می باشد، مراجعه می کند. این دلیل نوشتن شرط ما است:

 

 "ID = " & forms![frmOrderDetails]![productId]

 

اگر توجه داشته باشید، مشاهده می کنید تنها “ID =” است که در بین یک جفت گیومه قرار دارد تا بدین طریق بعنوان یک رشته شناخته شود. علامت & که بعد از آن قرار دارد، نشان می دهد اطلاعاتی که در ادامه می آیند، قسمتی از همان رشته می باشند. شرط ما با یک رجوع به مقدار موجود در productId فرم Order Details فعال که قبلا با آن کارکردیم، خاتمه می یابد.  نحوه نوشتن دستور رجوع به شکل زیر می باشد:

 

 forms![frmOrderDetails]![productId]

 

بازگشت به صفحه اصلی آموزش پیشرفته اکسس

 

طراحی سایت و سئو توسط ضابط