بازدید: ۴٠٧

ایجاد فرم پرس و جو (Query) براساس دوجدول مرتبط با هم (پیشرفته اکسس)

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

دراین پست به بررسی و آزمایش نحوه پایه گذاری یک فرم پرس و جو (query) براساس دو جدول مرتبط با هم می پردازیم که به آن پیوند داخلی(Inner Join)  نیز می گویند. قبل از ایجاد یک پیوند داخلی در فرم پرس و جو، ابتدا اجازه دهید ببنیم که یک پیوند داخلی با جداول چکار می کند. پیوند داخلی، دو یا چند جدول را به یکدیگر متصل می کند به گونه ای که نتایج حاصل از فرم پرس و جو، داده هایی را نشان می دهد که چند جدول درگیر اینکار، همانند یک جدول واحد عمل می کنند. برای همین منظور یک فهرست از عناوین سطر فیلدهای هردو جدول تهیه می کنیم که داده های نظیر آنها در زیرشان نمایش داده شده اند.  داده های هردو جدول در یک سطر با یکدیگر تطبیق داده می شوند. به عنوان مثال، نام یک مشتری از جدول Customer Records با سفارش وی در جدول Orders تطبیق داده می شود. همانند شکل زیر:


ایجاد پیوند داخلی

نتایج حاصله از یک فرم پرس و جوی پیوند داخلی

فیلدهای FirstName و Surname از جدول Customer Table هستند.

فیلدهای Date و ItemOrdered ازجدول Orders هستند.

داده های دو فیلد به خاطر وجود پیوند داخلی بطور صحیح با یکدیگر تطبیق داده می شوند.

 

اگر رکوردی در نتایج فرم پرس و جو حاصل می شود، باید اطلاعات آن در هردو جدول موجود در پیوند داخلی وجود داشته باشد. بعنوان مثال اگر یک رکورد مشتری داشته باشیم که هیچ سفارشی در جدول Orders نداشته باشد، مشتری مربوطه از نتایج فرم پرس و جو حذف خواهد شد، حتی اگر نامبرده شرایط موجود در فرم پرس و جو را داشته باشد. همین نکته،  تفاوت اصلی بین پیوند داخلی و پیوند خارجی فرم پرس و جو می باشد. در یک پیوند خارجی ممکن است رکوردی از مشتری در نتایج حاصله وجود داشته باشد که مطابق با شرایط ارائه شده مشتری باشد.

اکنون می خواهیم با استفاده از جداول Orders و Customers، یک پیوند داخلی ایجاد کنیم. از این جداول در قسمت ارتباط یک به چند استفاده کردیم. جداول مربوطه حاوی داده های زیر می باشند:


ایجاد پیوند داخلی

جدول tblCustomer

 


ایجاد پیوند داخلی

جدول tblOrder

 

یک ارتباط یک به چند بین ID در جدول tblCustomer و CustomerId در جدول tblOrder وجود دارد. اکنون با وجود این جداول می خواهیم به ایجاد یک فرم پرس و جوی پیوند داخلی بپردازیم:

 

نحوه ایجاد یک فرم پرس و جوی(query) پیوند داخلی

 

در این مثال می خواهیم فیلدهای Firstname و Surname را از frmCustomer و فیلدهای Itemordered و Date را از جدول tblOrders انتخاب کنیم. هدف از ایجاد این فرم پرس و جو، ایجاد فهرستی از مشتریانی است که سفارشات آنها قبل از تاریخ پنجم ماه مارس 2011 ثبت شده است.

  1. نوارابزار Create را انتخاب کنید.
  2. بر روی آیکون Query Design که در گروه Others قرار دارد، کلیک کنید.
  3. هنگامی که کادرمکالمه Show Tables باز می شود، بر روی جداول tblCustomer و tblOrders کلیک کنید تا انتخاب شوند. سپس کادرمکالمه مربوطه را ببندید. اکنون باید هردو جدول در قسمت فوقانی پنجره query design ظاهر شده باشند:


ایجاد پیوند داخلی

 

به نحوه ارتباط موجود بین جداول که بطور خودکار ظاهر می شود، دقت کنید. به آن پیوند داخلی در فرم پرس وجو می گویند. در صورت نیاز می توانستیم این پیوند را بدون اینکه تاثیری بر روی ارتباط واقعی بین جداول بگذارد، حذف کرده یا تغییر دهیم. پیوند داخلی(یا هرنوع پیوند دیگر) تنها نحوه پیوند جداول در داخل فرمهای پرس و جو را نشان می دهند. اگرچه می توانیم این پیوند را بدون هیچ تغییری قطع کنیم. در این مرحله ممکن است تنها پیوندهای خارجی یا یک پیوند داخلی سفارشی بین سایر فرم های پرس و جو یا جداول نیازمند تغییر باشند.

4- فیلدهای Surname و FirstName را از جداول tblCustomer و tblOrdered و نیز فیلد Date را از جدول tblOrders انتخاب کنید.

5- در ستون Date از جدول فرم پرس و جو، مقدار <#05/03/2011# را بعنوان شرط فرم پرس و جو وارد کنید.

 

ایجاد پیوند داخلی

 

6- اکنون می توانید فرم پرس و جو را اجرا کنید.

در زیر می توانید نتایج آن را مشاهده کنید:


ایجاد پیوند داخلی

 

فیلدهای firstname و Surname از جدول tblCustomer و فیلدهای  ItemOrdered و Date از جدول tblOrdered در نظر گرفته می شوند. شرط ما، باعث می شود تا سفارشات قبل از تاریخ پنجم ماه مارس 2011 به همراه مشتریان آنها نمایش داده شوند. داده های هر دو فیلد به خاطر وجود پیوند داخلی بین آنها بطور صحیح با یکدیگر تطبیق داده می شوند.

 

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

 

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