وقتی که شما اطلاعات خود را درون جداول اکسس وارد می نمایید دیر یا زود نیاز به جستجو بین این اطلاعات و یافتن داده و یا داده های

 مد نظر خود خواهید بود  . 

اکسس امکانات متعددی را برای این کار در اختیار شما قرار می دهد که تابع dlookup یکی از آنهاست      .  

 این تابع که جزوه توابع domain aggregate functions  طبقه بندی می شود مقداری را بر اساس شرط وارد شده در یک محدوده جستجو و عبارت مد نظر را بر می گرداند . 

برای آشنایی با کاربرد این تابع در ادامه مطلب همراه من باشید 




شکل کلی تابع Dlookup  به قرار زیر است 


 ([DLOOKUP (expression , domain , [criteria
                                                                         
در واقع اگر بخواهیم کاری را که این تابع انجام می دهد را به زبان محاوره در آوریم معنای آن به شکل زیر خواهد بود :

جستجو کن فیلد ................... را ؛ در جدول (کوئری )  ................... ؛ به شرط اینکه  ....................

همانطور که مشاهده می نمایید این تابع از سه آرگومان تشکیل شده  که مفهوم هر یک از آنها به قرار زیر است :                                                           
1. expression : شامل عبارتی است که می خواهیم آن را جستجو نماییم این عبارت می تواند  یک عدد ، یک متن و یا یک تاریخ باشد.                      
2. domain :  محدوده است که عبارت خود را درون آن جستجو می کنیم که می تواند یک جدول و یا یک Query  از پیش ساخته باشد.
3 . criteria :  شرطی است که ما برای تابع تعریف می کنیم تا عبارت مد نظری را که در قسمت expre  وارد نموده ایم را بر مبنای این شرط جستجو نماید . 

نکته : چه در این تابع و چه در هر تابع دیگری در اکسس هر عبارتی که در ساختار یک تابع درون [  ] قرار گیرد حالت اختیاری دارد یعنی کاربر می تواند عبارتی را برای آن تعیین نماید و اگر هم عبارتی برای آن در نظر گرفته نشود در عملکرد تابع خللی ایجاد نمی شود . 

اکنون ببینیم که این تابع چه کاری می تواند برای ما انجام دهد . برای درک بهتر عملکرد این تابع من جدول فرضی را بصورت زیر در نظر می گیرم . 
book-idbook - nameauthor price
 1صد سال تنهایی گابریل گارسیا مارکز
 350/000
 2 مکتوب پائولو کوئیلو 
 300/0000
 3 گلیدر محمود دولت آبادی 
 320/000
 
 با در نظر گرفتن اطلاعات جدول فوق برویم به سراغ استفاده از تابع Dlookup                                                                                       
                                                                                  
1. حالت بدون شرط تابع                                                                                                                                                                                    
                                                             DLOOKUP("author" ; "books")                                                                                                                                                                                                                              آز آنجا که در اینجا ما هیچ شرطی را اعمال نکرده ایم تابع در بین جدول جستجو نموده و نام اولین نویسنده را  درون تکس باکس وارد می نماید .

2. وارد نمودن  شرط درون تابع

استفاده از شرط درون این تابع این معنی را می دهد که مثلا می گوییم نام کتابی را پیدا کن به شرط اینکه شماره آن کتاب 2 باشد

نکته مهم در استفاده از شرط ها این است که بسته به نوع  عبارت شرطی ( اینکه از نوع عدد باشد یا متن و یا از نوع تاریخ ) که درون تابع قرار می دهیم شکل ظاهری تابع تفاوت هایی می کند           

    الف ) . وقتی شرط ما بصورت عدد باشد 

فرض کنید می خواهیم کتابی را پیدا کنیم که شماره کتاب آن 3 باشد در اینصورت شکل تابع بصورت زیر خواهد بود 
DLOOKUP("book-name" , "books" , "book-id=3" )
                    حال اگر فرمی را طراحی نموده  و شماره کتاب مورد نظر را از طریق فرم از کاربر  دریافت کنیم آنگاه شکل تابع به این صورت خواهد بود

 نام فرم فرضی :frmbooks

که شماره کتاب در آن درج شده frmbooks  نام تکس باکس موجود در  : txt-idbook

DLOOKUP("book-name" , "books" , "book-id="  & me.frmbooks ! txt-idbooks )
           
ب )  وقتی که شرط ما بصورت متن باشد  

فرض کنید می خواهیم کتابی را با عنوان "صد سال تنهایی " پیدا نماییم  و کد آن را نمایش دهیم   در اینصورت شکل تابع بصورت زیر خواهد بود
DLOOKUP("book-id" , "books" , "book -name= 'صد سال تنهایی' " )
                                                                                                                                                        خروجی این تابع عدد 1 خواهد بود 
                                       نکته این تابع در این است که اگر شرط ما بصورت متن باشد حتما باید این متن را درون تک کوتیشن 
  قرار داده شود ( '  ') 
: حالت دوم 
 اگر نام کتاب را از طریق یک تکس باکس درون یک فرم دریافت نموده و شماره مربوط به آن کتاب را برگردانیم 
 نام فرم فرضی :frmbooks
که نام کتاب در آن درج شده frmbooks  نام تکس باکس موجود در  : txt-namebook

DLOOKUP("book-id" , "books" , "book-name= ' "  & me.frmbooks ! txt-namebook " ' " )    

me.frmbooks ! txt-idbooks از آنجا که      
   یک متن را در اختیار تابع قرار می دهد طبق فاعده این تابع کل عبارت مربوط به آدرس تکس باکس درون 
.تک کوتیشن قرار می گیرد
 
ج) . اگر عبارت شرطی ما از نوع تاریخ باشد 

قوانین عبارت شرط از نوع تاریخ مثل قوانین شرط از نوع عدد است فقط قبل و بعد  از عبارت تاریخ  علامت # را وارد می نماییم 
مثال
 می خواهیم کتابی را که تاریخ چاپ آن 1391/6/1 است را پیدا کنیم در اینصورت 
DLOOKUP("book-name" , "books" , "date-print = #  1391/6/1 # " )

   ویا اگر تاریخ را از یک فرم دریافت کنیم
 نام فرم فرضی :frmbooks
که تاریخ چاپ کتاب در آن درج شده frmbooks  نام تکس باکس موجود در  : txt-dateprint

DLOOKUP("book-name" , "books" , "date-print= "  &  #  me.frmbooks ! txt-dateprint  # )

  


طبقه بندی: آموزش ACCESS،
برچسب ها:آموزش جامع کار با تابع dlookup، اکسس،
تاریخ : جمعه 3 شهریور 1396 | 03:44 ق.ظ | نویسنده : امید شهری | نظرات()
.: Weblog Themes By Bia2skin :.