آموزش نحوه طراحی فرم پرس و جوی چندتایی (چندجدولی) در نرم افزار اکسس
همانگونه که در پست قبلی با عنوان آموزش نحوه طراحی فرم پرس و جو در نرم افزار اکسس (یک جدولی ساده) اشاره کردیم، کوئری ها یا پرسش ها در اکسس برای پرسیدن سوالات در میان انبوهی از اطلاعات استفاده می شوند. در این آموزش نحوه طراحی یک فرم پرس و جوی چندتایی (پیچیده ترین حالت) که به آن پرسش چند جدولی می گویند خواهیم پرداخت.
آموزشهای ویدیویی
پرس و جوی جدول ساز (Make Table)
آموزش نوشتاری:
مقدمه
در درس قبلی، یاد گرفتید که چگونه یک فرم پرس و جو ساده تک جدولی را طراحی کنید. اکثر فرم پرس و جو هایی که شما در اکسس طراحی می کنید احتمالا از جداول چندتایی استفاده می کنند که باعث می شوند شما به سوالات پیچیده تر پاسخ دهید. در این درس یاد می گیرید که فرم پرس و جو چندتایی طراحی کنید. اگر می خواهید که ما را همراهی کنید، لازم است پایگاه داده ساده اکسس ۲۰۱۳ را دانلود کنید. لازم است که اکسس ۲۰۰۷ تا ۲۰۱۶ را بر روی سیستم تان نصب کنید تا این مثال را باز کنید.
طراحی فرم پرس و جوی چند جدولی
فرم پرس و جو ها می توانند برای درک و ایجاد مشکل تر باشند اگر که شیوه خوبی برای اینکه چگونه آن را پیدا کنید نداشته باشید. فرم پرس و جو تک جدولی می تواند تا حدودی ساده باشد، اما برای ایجاد یک فرم پرس و جو قوی تر، لازم است برای فرم پرس و جو از قبل طراحی کنید.
برنامه ریزی یک فرم پرس و جو
زمانیکه برای یک فرم پرس و جو برنامه ریزی می کنید که از بیش از یک جدول استفاده می کند، این چهار مرحله را باید انجام دهید:
۱- دقیق بپرسید! ایجاد یک فرم پرس و جو پیچیده تر از پرسیدن یک سوال است اما اگر دقیقا بدانید که چه سوالی را می خواهید پاسخ دهید برای یک فرم پرس و جو مفید ضروری است.
۲- شناسایی کنید! هر نوع اطلاعاتی را که می خواهید در نتایج فرم پرس و جو تان در نظر گرفته شود را شناسایی کنید. کدام اطلاعات حاوی این قسمت است؟
۳- پیدا کنید! فیلدهایی را که می خواهید در فرم پرس و جو تان قرار دهید. کدام یک از جداول حاوی این موارد هستند؟
۴- معیار تعیین کنید! معیاری را که اطلاعات در هر قسمت براورده می شوند را تعیین کنید. در مورد سوالی که در مرحله اول می پرسید فکر کنید. کدام قسمت لازم است که برای اطلاعات خاص جستجو کنید؟ به دنبال چه اطلاعاتی هستید؟ چگونه ان را جستجو می کنید؟
این فرایند در ابتدا خلاصه به نظر می رسد، اما زمانیکه ما وارد فرایند برنامه ریزی برای فرم پرس و جو چند جدولی می کنیم باید بفهمید که چگونه برنامه ریزی فرم پرس و جو می تواند ان را بسیار آسانتر کند.
برنامه ریزی فرم پرس و جو
اجازه دهید به فرایند برنامه ریزی فرم پرس و جو ای بپردازیم که در پایگاه داده نانوایی اجرا می کنیم. همانگونه که مراحل فرایند برنامه ریزی را مرحله به مرحله می خوایند، در مورد هر بخش از فرایند برنامه ریزی که می تواند برای اجرای فرم پرس و جو دیگر مورد استفاده قرار بگیرد فکرکنید.
مرحله ۱-نکته دقیق سوالی را می خواهید بپرسید مشخص کنید
پایگاه داده نانوایی حاوی بسیاری از مشتریان است بسیاری از انها سفارشی نداشتند اما در لیست پایگاه داده ما قرار دارند پون برای لیست ایمیل ما ثبت نام شدند. بسیاری از انها در مرزهای شهری زندگی می کنند، اما بعضی دیگر در بیرون از شهر یا حتی ایالت زندگی می کنند. ما می خواهیم به مشتریانی که قبلا یکبار خرید داشتند پیام بدهیم و یکبار دیگر به انها فرصت سفارش بدهیم، بنابراین برای آنها کوپن هایی را ارسال می کنیم. واقعا نمی خواهیم لیست ما حاوی مشتریانی باشد که خیلی دور از شهر زندگی می کنند، کوپن هایی را برای کسانی بفرستیم که احتمالا در این بخش که ما می خواهیم زندگی نمی کنند. بنابراین فقط افرادی را پیدا نمی کنیم که در شهر مان زندگی می کنند بلکه کسانی را پیدا می کنیم که در این منطقه مان زندگی می کنند.
به طور خلاصه، سوالی که در فرم پرس و جو مان می خواهیم جواب دهیم این است: کدام یک از مشتری ها در این منطقه زندگی می کنند، آیا در خارج از مرزهای شهری هستند، و سفارش به نانوایی مان داده اند؟
مرحله ۲- شناسایی اطلاعاتی که لازم است
چه اطلاعاتی لازم است در مورد این مشتری ها در لیست ببینم؟مشخصا، نیاز به نام مشتری و اطلاعات تماس شان، آدرس ، شماره تلفن، و ادرس ایمیل شان داریم. اما چگونه می فهمیم که آیا آنها سفارشان را داده اند یا نه؟ هر ثبت سفارش مشتری را نشان می دهد که آن سفارش را داده است. اگر که شماره های ایدی سفارش را در نظر بگیریم، می توانیم لیست مشتریان را که تنها قبلا سفارش دادند را خلاصه سازی کنیم.
مرحله ۳- جاسازی جداولی که حاوی اطلاعاتی است که ما نیاز داریم
به منظور نوشتن فرم پرس و جو، لازم است با جداول مختلف در پایگاه داده آشنا باشید. بر اساس کار بر روی پایگاه داده مان، می فهمیم که اطلاعات مشتری که ما نیاز داریم در قسمت مناسب در جدول مشتری قرار گرفتند. شماره ایدی سفارش دریک قسمت در جدول سفارشات است. لازم است که تنها این دو جداول را در نظر بگیریم تا همه اطلاعات مورد نیازمان را بیابیم.
مرحله ۴- تعیین معیار فرم پرس و جو برای جستجو
زمانیکه یک معیاری را برای یک رشته در فرم پرس و جو تنظیم می کنید، شما اساسا فیلتری را به کار می برید که به فرم پرس و جو می گوید دقیقا اطلاعاتی را که با این معیارتان هماهنگی دارند بازیابی کند. لیست رشته هایی که در این فرم پرس و جو هستند را بررسی کنید. چگونه و کجا می توانیم معیاری را تنظیم کنیم که به پاسخ دهی بهتر به سوالمان کمک می کند؟ ما مشتریانی را نمی خواهیم که در شهرمان، Raleigh زندگی می کنند، بنابراین معیاری را می خواهیم که همه ثبت ها را بر می گرداند بجز آنهایی که مربوط به این شهر هستند. مشتریانی که خیلی دور زندگی می کنند را نمی خواهیم، همه شماره تلفن ها در این منطقه با کد ۹۱۹ شروع می شوند، بنابراین معیاری را در نظر می گیریم که تنها به ثبت ها بر می گردد. این تضمین می کند که کوپن ها به مشتریانی فرستاده شده که به حد کافی نزدیک به آنها زندگی می کنند.
بنابراین معیاری برای رشته ایدی سفارش یا هرگونه رشته دیگر تعیین نمی کنیم چون می خواهیم ببینیم که کلیه سفارشات برای افرادی است که تنها دو معیار تنظیم شده را دارند. به منظور نوشتن فرم پرس و جو، لازم است بتوانید معیار را به زبانی تنظیم کنید که اکسس می فهمد. همانگونه که در تصویر بالا می توانید ببنید، معیار ما شماره تلفنی است که با ۹۱۹ شروع شده است. برای یادگیری اینکه چگونه معیار بیشتری را بنویسیم، به راهنمای مرجع سریع معیار فرم پرس و جو مراجعه کنید که شامل رایج ترین اطلاعات مورد استفاده در فرم پرس و جو های اکسس می باشد.
نکته مهم! آموزش گام به گام ایجاد گزارشات در نرم افزار اکسس (تصویری به زبان ساده)
اتصال جداول در فرم پرس و جو ها (جداول مشترک)
نکته نهایی که در حین طراحی فرم پرس و جو باید در نظر بگیرید این است که چگونه جداول را با یکدیگر پیوند دهید. زمانیکه دو جدول را در فرم پرس و جو اکسس بهم متصل می کنید، این چیزی است که در پنجره Object Relationship pane خواهید دید:
توی این پک فوق العاده، سی پلاس پلاس رو جوری یاد میگیری که تو هیچ کلاس آموزشی یا پک دیگه ای نه دیدی نه شنیدی! بدون هیچ کلاسی، با سی پلاس پلاس به عمق فهم برنامه نویسی شیرجه بزن، پروژه محور یاد بگیر و حسابی پول در بیار!
خطی راکه دو جدول را به هم متصل می نماید join lineگفته میشود نگاه کنید که چگونه join line عملابه صورت پیکان می باشد این به آن خاطر این شکلی است نشان دهنده ی نظمی است که در آن پرسش از دو جدول به Data نگاه می کند در تصویر بالا پیکان از چپ به راست را نشانه رفته که نشان میدهد که پرسش ابتدا از چپ شروع میشود و سپس فقط Data record جدول سمت راست بنگرید که مربوط به پیشینه ای که از قبل در سمت چپ دیده میشود جداول شما همیشه این گونه به هم متصل نمیشوند بعضی اوقات Access آن هارا از راست به چپ متصل میکند.
درهر کدام از دو صورت شما ممکن است برای اطمینان از این که پرسش تان در بر دارنده ی اطلاعات صحیح می باشد. نیاز به تغییر جهت اتصال داشته باشید.جهت اتصال می توانددر این که پرسش شما چه اطلاعاتی را باز یابی میکند اثر گذار باشد.خطی راکه دو جدول را به هم متصل می نماید join lineگفته میشود نگاه کنید که چگونه join line عملابه صورت پیکان می باشد به این دلیل این شکلی است که نشان دهنده ی نظمی است که در آن پرسش از دو جدول به Data نگاه می کند در تصویر بالا پیکان از چپ به راست را نشانه رفته که نشان میدهد که پرسش ابتدا از چپ شروع میشود و سپس فقط Data record جدول سمت راست بنگرید که مربوط به پیشینه ای که از قبل در سمت چپ دیده میشود جداول شما همیشه این گونه به هم متصل نمیشوند بعضی اوقات Access آن هارا از راست به چپ متصل میکند.
درهر کدام از دو صورت شما ممکن است برای اطمینان از این که پرسش تان در بر دارنده ی اطلاعات صحیح می باشد. نیاز به تغییر جهت اتصال داشته باشید.جهت اتصال می توانددر این که پرسش شما چه اطلاعاتی را باز یابی میکند اثر گذار باشد.برای این که بفهمیم این به چه معناست پرسشی را که شما در حال طرح آن هستید در نظر بگیرید.برای پرسشمان ما نیاز به آن داریم که مشتریانی را که سفارش داده اند ببینیم بنابراین ما جدول مشتریان و جدول سفارشات را منظور کردیم.اجازه دهید نظری به برخی از داده ها در این جداول بیندازیم.
هنگامی که به این لیست ها نگاه میکنید متوجه چه چیزی میشوید؟قبل از هر چیز هر نوع سفارشی در جدول سفارشات به شخصی در جدول مشتریان مربوط میشود منظور آن مشتری است که آن سفارش را داده است. به هر صورت هنگامی که به جدول مشتریان نگاه میکنیم مشتریان را میبینیم که سفارشات متعددی را داشته اند به بیش از یک سفارش مربوط شده اند و آنانی که هیچ گاه سفارشی نداشته اند به هیچ سفارشی مربوط نشده اند.چنان که دیده میشود حتی هنگامی که دو جدول به هم مربوط میشود این امکان فراهم میگردد که پیشینه هایی را در یک جدول که هیچ ارتباطی به جدول دیگر ندارد داشته باشیم.بنابراین هنگامی که Accessسعی میکند پرسش مارا با اتصال فعلی یعنی از چپ به راست به جریان بیندازد چه چیزی پیش می آید؟هر پیشینه را در جدول سمت چپ میکشاند یعنی جدول مشتریان.
بنابراین هر پیشینه ای جدول سمت راست که ارتباطی با پیشینه ی Access بر گرفته از جدول سمت چپ داشته باشد بازیابی میشود.
از آنجایی که اشتراک ما با جدول مشتریان شروع شده با پرسش ما پیشینه های کلیه مشتریان را از جمله آنانی را که هیچ سفارشی نداشتند دربرمیگیرد.این اطلاعاتی است بیش از نیاز ما فقط میخواهیم پیشینه های مشتریانی را که سفارش خرید داده اند ببینیم.خوشبختانه ما میتوانیم این مشکل را با تغییر مسیر خط اشتراک بر طرف کنیم. به جای آن اگر ما از راست به چپ برویم Access ابتدا سفارشات را که از سمت راست باز یابی میکند که همان جدول سفارشات می باشد.
پس از آن Access به جدول سمت چپ می نگردد و فقط پیشینه ی مشتریانی که به سفارشی در سمت راست مربوط می شوند را بازیابی میکند.
اکنون ما دقیقا اطلاعاتی را که, می خواهیم در اختیار داریم. تمامی مشتریانی که سفارشی را داده اند و فقط آن ها چنان که می توانند ببینید ما بایستی جداول خود رابه طرز صحیح برای ایجاد اطلاعاتی که می خواستیم متصل کنیم. در پرسش ما نیاز به استفاده از اتصال راست به چپ داشتیم اما شیوه ی صحیح اتصال بستگی به این دارد که شما چه اطلاعاتی را می خواهیدو آن اطلاعات کجا دسته بندی میشود.هنگامی که جداولی را به پرسش اضافه میکنیمAccess به طور خودکار آن جداول رابرای شما وصل میکند اما غالبا آن هارا به طور صحیح به هم وصل نمیکند و به این خاطر است که مراقبت همیشگی از اتصالات بین جداول قبل از آن که پرسشی را شروع کنیم مهم است.
نکته مهم! آموزش تصویری مدیریت پایگاه داده ها (database) و آبجکت ها در نرم افزار اکسس
ایجاد یک پرسش چند جدوله
اکنون که پرسش خود را مطرح کرده ایم ما برای طراحی و راه اندازی آن آماده ایم اگر شما برای پرسشتان طرح های مکتوب ایجاد نموده اید مطمیین شوید که در طی ایجاد طرح پرسش, آن را مستند نمایید.
۱- از create tab بر روی نوار ربان Query Design را انتخاب کنید.
۲-در Dialog boxکه ظاهر می شود هر جدولی را که میخواهید پرسش تان رادربربگیرد انتخاب کنیدو Add را کلیک کنید. شما می توانید کلید ctrlفشرده و نگه دارید و بیش از یک جدول را انتخاب نمایید:هنگامی که پرسش مان را شکل دادیم, ما تصمیم گرفتیم اطلاعات مورد نیازمان را از مشتریان و جدول سفارشات بگیریم بنابراین ما این ها را اضافه میکنیم.
۳-بعد از آن که همه ی جداولی را که میخواستیم اضافه کردیم close را کلیک کنید.
۴-جدولی در Object Relationship pane ظاهر میشود که توسط یک Join line به هم متصل شده اند بخش باریک خط مشترک بین دو جدول را برای ویرایش مسیرمشترک دوبار کلیک کنید.
۵-در dialog boxعنوان Join properties ظاهر خواهد شد گزینه ای رابرای انتخاب مسیر مشترک خود انتخاب کنید.گزینه ی ۲ را انتخاب کنید (برای حرکت چپ به راست)نقطه ی اتصال.در پرسش ,جدول سمت چپ جدول مشتریان می باشد در این صورت این انتخاب را که انتخاب همه ی مشتریانی است که باضوابط محلی ما همخوانی دارد.(چه آن ها سفارشی داده باشند و چه نداده باشند)در نتایج ما منظور خواهد شد.ما نمیخواهیم این گزینه را برای پرسش خود انتخاب نماییم.انتخاب گزینه ی ۳ برای اتصال راست به چپ می باشد زیرا که جدول ما عبارت از جدول سفارش های ماست.انتخاب این گزینه این امکان را میدهد که با پیشینه ی همه ی سفارشات و فقط مشتریانی که سفارشی را داده اند کار کنیم.این گزینه را برای پرسش خود انتخاب میکنیم زیرا این دقیقا همان داده هایی است که ما میخواستیم ببینیم.
۶-در جدول ویندوز نام محدوده هایی را که می خواهید در پرسش تان منظور شود دوبار کلیک نمایید. آن ها Design grid در پایین صفحه اضافه خواهد شد .در مثال ما, بیشتر در محدوده ها از جدول مشتریان را منظور می نماییم اول نام,نام خانوادگی, آدرس خیابان ,شهر,ایالت, کد پستی و شماره تلفن و همچنین شماره ی IDرا از جدول سفارشات منظور می نماییم .
۷-ضوابط محدوده را با وارد کردن ضوابط دلخواهتان در ردیف ضوابط هر محدوده تنظیم کنید ما میخواهیم .دو ضابطه داشته باشیم. اول برای پیدا کردن مشتریانی که در Raleighزندگی نمیکنند به صورت Not in ( Raleigh) در محدوده ی شهری آن را تایپ میکنیم.دوم برای پیدا کردن مشتریانی که شماره ی تلفن محدوده شان با کد ۹۱۹ شروع میشود صرفا تایپ میکنیم like 919 در محدوده ی شماره تلفن.
۸- بعد از این که ضوابط خود را تنظیم کردیم سوال را با کلیک نمودن فرمان Run ازDesign tab تنظیم میکنیم. ۹-نتایج پرسش در Datasheet view پرسش به نمایش در می آید که به نظر مانند یک جدول میاید. اگر بخواهید پرسشتان با کلیک نمودن فرمانsave بر رویQuick Access toolbar ذخیره کنید و هنگامی که نام گذاری آن تمام شد نام مورد علاقه تان را تایپ و دکمه ی ok را کلیک کنید.
نکته مهم! برای یادگیری سریع و حرفه ای اکسس در کمتر از ۳ هفته، از این بسته آموزشی استفاده کنید!
اگر سوالی در این زمینه دارید با وب سایت سریع آسان در بخش نظرات مطرح کنید تا به آن پاسخ دهیم.
بسیار کاربردی
- آموزش رایگان صفر تا صد نرم افزار اکسس (فیلم فارسی + جزوه PDF)
- ۱۰ نکته ساده که کارایی نرم افزار اکسس را ۲ برابر می کنند
- ۷ کلید میانبر کاملا ضروری برای نرم افزار اکسس
- آموزش تصویری ایجاد و تغییر انواع فرم ها در نرم افزار اکسس
- نحوه ایجاد یک پایگاه داده ساده در نرم افزار اکسس ۲۰۱۰-۲۰۱۶
- آموزش نحوه طراحی فرم پرس و جوی چندتایی (چندجدولی) در نرم افزار اکسس
- آموزش نحوه طراحی فرم پرس و جو در نرم افزار اکسس (یک جدولی ساده)
- آموزش گام به گام ایجاد گزارشات در نرم افزار اکسس (تصویری به زبان ساده)
- آموزش کامل و اصولی انواع مرتب سازی اطلاعات در نرم افزار اکسل (تصویری)
- آموزش تصویری مدیریت پایگاه داده ها (database) و آبجکت ها در نرم افزار اکسس