چطور از crosstab query در اکسس استفاده کنیم ؟
سلام به یکی دیگر از آموزش های سافت پلاس خوش امدید . امروز می خواهیم اموزشی در زمینه کار با نرم افزار اکسس داشته باشیم و با یکی دیگر از بخش ها و امکانات این نرم افزار آشنا شویم .
در ادامه مبحث مربوط به آشنایی و معرفی انواع کوئری ها در اکسس امروز می خواهیم راجع به یکی دیگر از انواع کوئری ها در اکسس با همدیگر صحبت کنیم .
کوئری هایی تحت عنوان کراس تب یا در اصطلاح اصلی crosstab query .
همانطور که حتما می دانید ما در اکسس از کوئری ها برای ایجاد پرس و جو و در کل یافتن و یا فیلتر کردن اطلاعات مورد نظر خودمون از بین اطلاعات موجود در جداول استفاده می کنیم.
حالا در این بین , این اطلاعات می تونه محدود به تعداد محدودی از سطر و ستون هایی باشه که در یک جدول قرار گرفته اند یا اینکه تعداد این اطلاعات بسیار زیاد بوده و در بیش از یک جدول ذخیره شده باشند .
از طرف دیگر هم می دونید که در اکسس تعداد زیادی از کوئری ها وجود دارند که بسته به نیاز خودمون می توانیم از هر کدوم از این کوئری ها استفاده کنیم .
ما قبلا در خصوص تعدادی از کوئری ها در اکسس و نحوه کاربرد اونها در داخل نرم افزار اکسس مطالبی رو در سایت قرار دادیم که می تونید به اونها مراجعه کنید .
اما امروز می خواهیم بطور اختصاصی در خصوص کوئری های نوع crosstab query با هم صحبت کنیم .
ببینیم که این نوع از کوئری ها چه کاربردی دارند و چه کاری رو می توانند برای ما انجام بدهند .
و در درجه دوم هم با نحوه ایجاد این نوع از کوئری ها و تنظیمات مربوط به اونها بطور کامل آشنا شویم .
پس تا انتها با من همراه باشید .
قبلا در این سایت بررسی کردیم : پارامتر کوئری در اکسس |همه آنچه که باید در موردش بدانید .
معرفی کوئری های نوع crosstab query به لحاظ عملکردی
.خب در قدم اول ببینیم که با استفاده از این کوئری چه کاری را می توانیم انجام دهیم .
کراس تب کوئری ها نوع خاصی از کوئری ها در اکسس هستند که با استفاده از اونها می توانیم اطلاعات موجود در یک یا چند جدول را دسته بندی کرده و بطور خلاصه و جمع و جور در اختیار کاربر قرار بدهیم .
البته این نوع از کوئری ها خودشون می توانند تلفیقی از چند کوئری باشند که با استفاده از روش های مختلف و انجام محاسباتی که مورد نیاز است به دسته بندی اطلاعات می پردازند .
مطمئنا این تعریفی که از این نوع کوئری می کنیم نمی تواند بیان کننده مفهوم واقعی این نوع از کوئری ها باشد . مگر اینکه با هم به بررسی یک مثال بپردازیم تا در قالب این مثال مراحل مورد نیاز برای ایجاد این نوع از کوئری ها را با هم و بصورت عملی با همدیگر طی کنیم تا بخوبی با مفهوم این نوع کوئری و کارکرد اون در محیط اکسس با هم آشنا بشویم .
خوب برای این کار به سراغ نرم افزار اکسس خودمون می رویم و یک جدول با مشخصات زیر را در محیط طراحی ایجاد می کنیم .
تصویر بالا نمای جدول ما را در محیط طراحی یا همون Design نشون می دهد .
تصویر زیر هم جدول بالا رو در حالتی که اطلاعات مورد نظر ما در آن وارد شده است نمایش می دهد .
حالا می خواهیم یک دسته بندی بر روی این اطلاعات خودمون داشته باشیم و اونها رو بطور خلاصه و جمع و جور نمایش دهیم.
اگر که به جدول بالا و اطلاعات داخل اون به خوبی دقت کنید متوجه می شوید ما اطلاعات مختلفی در مورد کتابها به همراه نویسنده ها و همینطور موضوعات مختلف اونها رو می توانید مشاهده کنید .
حالا ما می خواهیم ببینیم که در هر کدام از ماههای سال چه موضوعاتی از کتابها و به چه تعدادی چاپ شده اند .
یعنی چیزی مثل تصویر زیر .
البته برای اینکه نتیجه کار شسته و رفته تر بنظر برسه و قابل ارائه تر باشد می توان از این خروجی یک گزارش هم تهیه کنیم .
خوب برای این کار باید به سراغ کوئری های از نوع crosstab query برویم .
ما برای ایجاد کوئری از نوع کراس تب با دو گزینه و انتخاب مواجه هستیم که می توانیم هر کدام از اونها رو انتخاب کنیم .
البته هر کدوم از این روش ها حاوی نکات خاص خودشون هستند که در ادامه هم به بررسی هر دوی این روش ها می پردازیم و هم به بررسی نکات مربوط به هر کدام از این روش ها .
روش اول در ایجاد کراس تب کوئری با استفاده از قابلیت Wizard
طبق معمول که برای همه کوئری ها اولین راه برای ایجاد یک کوئری از نوع crosstab query استفاده از قابلیت ویزارد در اکسس است .
برای این کار هم که در قدم ا.ول باید به سراغ تب Create رفته بر روی گزینه Query Wizard کلیک کنید .
در پنجره ای که برای شما به نمایش در می آید بر روی گزینه دوم یعنی Crosstab Query Wizard کلیک کنید .
بعد از این کار پنجره زیر برای شما به نمایش در می آید . از اینجا به بعد و در طی چند مرحله تنظیمات اصلی مربوط به به این نوع کوئری را باید با هم انجام دهیم .
در قدم اول در این پنجره باید نام جدولی را که می خواهید با استفاده از کوئری کراس تب اطلاعات آن را دسته بندی کنید را انتخاب کنید .
سپس با تائید این پنجره به مرحله بعد بروید .
در این مرحله لیستی از فیلدهای موجود در جدول مورد نظر از طرف برنامه به شما نمایش داده می شود .
از اینجا به بعد کار اصلی ما شروع می شود.
اما قبل از این که به سراغ اصل کار برویم اجازه بدهید یک نکته را به شما توضیح دهم .
آن نکته هم این است که هر کوئری از نوع کراس تب بعد از اجرا خودش ایجاد یک نوع خاصی از جدول می کند .
این جدول متشکل از سه قسمت است
۱- قسمت اول مربوط به عنوان سطرهاست .
۲- بخش دوم مربوط به عنوان ستون هاست .
۳ – قسمت سوم هم که مربوط به بدنه خود کوئری بوده که حاوی اطلاعات مورد نظر ما می باشد .
ما در اینجا و با استفاده از قابلیت ویزارد هر کدام از این موارد را تنظیم خواهیم نمو.د .
تا به اینجای کار در پنجره اول نوع کوئری مورد نظر خود را که از نوع کراس تب کوئری بود را انتخاب کردیم .
در پنجره دوم هم جدول مورد نظر خود را برای تهیه کوئری انتخاب کردیم .
حالا در این مرحله باید عناون مربوط به سطرها را برای کوئری خود مشخص کنیم .
در اینجا من می خواهم که موضوعات مربوط به کتابها در سطرها نمایش داده شوند .
پس بر روی گزینه Type کلیک می کنم .با انتخاب این گزینه در کادر سمت چپ بر روی فلش موجود در ستون وسط یک کلیک می کنم تا این فیلد به کادر سمت راست منتقل شود .
مشاهده می کنید که در قسمت پایین تغییرات بصورت گرافیکی برای ما به نمایش در می آید .
حالا این پنجره را تائید کرده و به سراغ کادر بعدی می رویم .
در این کادر باید عناوین مربوط به سرستون ها را مشخص کنیم .
سرستون های مورد نظر من در اینجا مربوط به ماههای سال است .
پس بر روی گزینه dprint کلیک کنم .
تا به اینجا و با استفاده از دو مرحله قبل موفق شدیم عنوان ستون ها و ردیف ها را در کوئری خود ایجاد کنیم .
بعد از این کار به سراغ پنجره بعدی می رویم .
در این پنجره باید بدنه جدول خود را ایجاد کنیم . و اطلاعاتی را که مد نظر خودمان است را در اینجا بصورت دسته بندی شده داشته باشیم .
اول بیایید دوباره بررسی کنیم که می خواهیم که چه کاری انجام دهیم .
ما می خواهیم ببینیم که در هر کدام از ماههای سال چه تعداد کتاب با موضوعات مختلف چاپ شده اند .
مثلا ببینیم در مهرماه چه تعداد کتاب علمی و چه تعداد کتاب داستانی چاپ شده است .
پس در اینجا فیلد مورد نظر من فیلد مربوط به type خواهد بود .
این فیلد در جدول اصلی ما موضوعات کتابها را در خود ذخیره می کند .
حالا می خواهم تعداد هر کدام از این موضوعات برای من شمرده شود .
برای این کار می توانم یک فیلد مثل کد کتاب را به کوئری خود معرفی کنم .
این کار را از کادر سمت چپ انجام می دهم .
در کادر سمت راست هم نوع محاسبه ای که باید انجام دهم را انتخاب می کنم .
در این جا می خواهم عمل شمارش موضوعات کتابها انجام شود پس گزینه Count را انتخاب می کنم .
مطلب پیشنهادی:Application و مفهوم انواع آن در برنامه نویسی VBA
چه اتفاقی قرار است بیافتد :
به زبان محاوره به نرم افزار می گوییم که با استفاده از کوئری بالا بشمار تعداد کتابهایی را که تحت یک موضوع هستند و آنها را بر مبنای ماههای انتشار دسته بندی کن .
اگر دقت کنید یک گزینه به نام yes includ row total هم در این کادر وجود دارد که اگر آن را انتخاب کنید جمع هر ردیف برای شما نمایش داده می شود .
پیشنهاد می کنم تیک این گزینه را بزنید .
حالا به پنجره بعد بروید در این پنجره یک نام برای کوئری خود انتخاب کنید .
و کار تمام است .
اکنون کوئری خود را اجرا کنید و دنیجه و خروجی کار را مشاهده کنید .
این اولین روش از کار و ایجاد یک کوئری از نوع کراس تب بود .
این روش به نوبه خود دارای مزایا و معایب مربوط به خود می باشد .
از مزایای این روش این است که همه کارها به سادگی و سرعت انجام می شود و همه تنظیمات مورد نظر بطور خودکار اعمال می شوند .
اما در این بین معایبی نیز وجود دارد .
بزرگترین ایرادی که وجود دارد این است که در ایجاد یک کراس تب کوئری با استفاده از قابلیت wizard فقط می توان از یک جدول استفاده کرد .
یعنی بطور همزمان نمی توان از چند جدول با استفاده از ویزارد کراس تب کوئری ایجاد کرد .
دیگر معایب و محدودیتهای ایجاد کراس تب کوئری از طریق ویزارد شامل موارد زیر است :
۱- عدم امکان استفاده از عبارتهای محاسباتی یا همان Expression ها در ساختار کوئری .
۲- عدم امکان استفاده از پارامترها در ساختار کوئری
اما با تمام این تفاسیر استفاده از این روش در بسیاری از موارد می تواند راهگشا باشد .
اما به سراغ روش دوم برویم .
ایجاد کراس تب کوئری با استفاده از محیط Design.
در این روش تمام محدودیتهایی که در ایجاد کوئری با استفاده از ویزارد متوجه ما بود برداشته می شود .
در این روش ما می توانیم :
– از چند جدول برای ایجاد کوئری خود استفاده کنیم .
– در ساختار کوئری خود از شرطها استفاده کنیم .
– در ساختار کوئری خود از عبارتهای محاسباتی استفاده کنیم .
حالا برویم ببینیم که روش ایجاد این کوئری در محیط طراحی به چه منوال است .
اول که به سراغ سربرگ Design رفته و گزینه Query Design را انتخاب کنید .
جدول مورد نظر خود را انتخاب کنید تا به محیط کوئری اضافه شود .
از قسمت بالا نوع کوئری مورد نظر خود را از نوع Crosstab Query انتخاب کنید .
اول فیلدهای مورد نظر خود را انتخاب می کنیم تا به نمای جدول در کوئری ما اضافه شوند .
فیلد bookcod برای شماره کتاب
فیلد type برای موضوع کتاب .
فیلد dprint برای ماه انتشار .
پس این سه فیلد را اضافه کردیم .
ما در اینجا باید سه آیتم را برای کوئری خود مشخص کنیم .
۱- نام ردیف
۲- نام ستون ها و
۳- مقداری که باید محاسبات روی آن انجام شود و نوع محاسبات مورد نظر خود .
تمامی تنظیماتی را که باید در این موارد انجام دهید را می توانید با استفاده از تصویر زیر متوجه شوید .
این مطلب به تدریج تکمیلتر خواهد شد . …….
می خوای مفاهیم پیچیده برنامه نویسی رو در عرض یک دقیقه یاد بگیری .
فقط کافی است بر روی تصویر زیر کلیک کنید تا به جمع ما در اینستاگرام بپیوندی.
اینجا همه چیز آمادست .
کلیپ های آموزشی – ترفندهای کاربردی و نکات کاری در زمینه های مختلف .
دیدگاهتان را بنویسید