همه چیز در مورد crosstab query در اکسس

امروز می خواهیم راجع به یکی دیگر از انواع کوئری ها در اکسس با همدیگر صحبت کنیم .

کوئری هایی تحت عنوان crosstab query .

همانطور که حتما می دانید ما در اکسس از کوئری ها  برای ایجاد پرس و جو و در کل یافتن و یا فیلتر کردن اطلاعات مورد نظر خودمون از بین اطلاعات موجود در جداول استفاده می کنیم.

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

از طرف دیگر هم می دونید که در اکسس تعداد زیادی از کوئری ها وجود دارند که بسته به نیاز خودمون می توانیم از هر کدوم از این کوئری ها استفاده کنیم .

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

اما امروز می خواهیم بطور اختصاصی در خصوص کوئری های نوع crosstab query  با هم صحبت کنیم .

ببینیم که این نوع از کوئری ها چه کاربردی دارند و چه کاری رو می توانند برای ما انجام بدهند .

و در درجه دوم هم با نحوه ایجاد این نوع از کوئری ها و تنظیمات مربوط به اونها بطور کامل آشنا شویم .

پس تا انتها با من همراه باشید .

قبلا در این سایت بررسی کردیم : آشنایی با انواع کوئری ها در اکسس

معرفی کوئری های نوع crosstab query  به لحاظ عملکردی

.خب در قدم اول ببینیم که با استفاده از این کوئری چه کاری را می توانیم انجام دهیم .

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

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

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

خوب برای این کار به سراغ نرم افزار اکسس خودمون می رویم و یک جدول با مشخصات زیر را در محیط طراحی ایجاد می کنیم .

 

crosstab query

 

تصویر بالا نمای جدول ما را در محیط طراحی یا همون Design  نشون می دهد .

تصویر زیر هم جدول بالا رو در حالتی که اطلاعات مورد نظر ما در آن وارد شده است نمایش می دهد .

 

crosstab query

 

حالا می خواهیم یک دسته بندی بر روی این اطلاعات خودمون داشته باشیم و اونها رو بطور خلاصه و جمع و جور  نمایش دهیم.

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

حالا ما می خواهیم ببینیم که در هر کدام از ماههای سال چه موضوعاتی از کتابها و به چه تعدادی چاپ شده اند .

یعنی چیزی مثل تصویر زیر .

crosstab query

 

البته برای اینکه نتیجه کار شسته و رفته تر بنظر برسه و قابل ارائه تر باشد می توان از این خروجی یک گزارش هم تهیه کنیم .

crosstab query

 

خوب برای این کار باید به سراغ کوئری های از نوع crosstab query برویم .

ما برای ایجاد کوئری از نوع کراس تب با دو گزینه و انتخاب مواجه هستیم که می توانیم هر کدام از اونها رو انتخاب کنیم .

البته هر کدوم از این روش ها حاوی نکات خاص خودشون هستند که در ادامه هم به بررسی هر دوی این روش ها می پردازیم و هم به بررسی نکات مربوط به هر کدام از این روش ها .

روش اول در ایجاد  کراس تب کوئری با استفاده از قابلیت Wizard

طبق معمول که برای همه کوئری ها اولین راه برای ایجاد یک کوئری از نوع crosstab query استفاده از قابلیت ویزارد در اکسس است .

برای این کار هم که در قدم ا.ول باید به سراغ تب Create رفته بر روی گزینه Query Wizard  کلیک کنید . 

در پنجره ای که برای شما به نمایش در می آید بر روی گزینه دوم یعنی Crosstab Query Wizard کلیک کنید .

 

crosstab query

بعد از این کار پنجره زیر برای شما به نمایش در می آید .

 در این پنجره باید نام جدولی را که می خواهید  با استفاده از کوئری کراس تب اطلاعات آن را دسته بندی کنید را انتخاب کنید .

 

crosstab query

سپس با تائید این پنجره به مرحله بعد بروید .

در این مرحله لیستی از فیلدهای موجود در جدول مورد نظر شما به نمایش در می آید .

از اینجا به بعد کار  اصلی ما شروع می شود

اما قبل از این که به سراغ اصل کار برویم اجازه بدهید یک نکته را به شما توضبح دهم .

آن نکته هم این است که هر کوئری  از نوع کراس تب ایجاد یک نوع خاصی از جدول می کند .

این جدول متشکل از سه قسمت است

۱- قسمت اول مربوط به عنوان سطرهاست . 

۲- بخش دوم مربوط به عنوان ستون هاست .

۳ – قسمت سوم هم که مربوط به بدنه خود کوئری بوده که حاوی اطلاعات مورد نظر ما می باشد .

ما در اینجا و با استفاده از قابلیت ویزارد هر کدام از این موارد را تنظیم خواهیم نمو.د .

تا به اینجای کار  در پنجره اول نوع کوئری مورد نظر خود را که از نوع کراس تب کوئری بود را انتخاب کردیم .

در پنجره دوم هم جدول مورد نظر خود را برای تهیه کوئری انتخاب کردیم . 

حالا در این مرحله باید عناون مربوط به سطرها را برای کوئری خود مشخص کنیم .

در اینجا من می خواهم که موضعات مربوط به کتابها در سطرها نمایش داده شوند .

پس بر روی گزینه Type  کلیک می کنم .

 

crosstab query

مشاهده می کنید که در قسمت پایین تغییرات بصورت گرافیکی برای ما به نمایش در می آید .

حالا این پنجره را تائید کرده و به سراغ کادر بعدی می رویم .

در این کادر باید عناوین مربوط به سرستون ها را مشخص کنیم .

سرستون های مورد نظر من در اینجا مربوط به ماههای سال است .

پس بر روی گزینه dprint  کلیک کنم .

 

crosstab query

 

بعد از این کار به سراغ پنجره بعدی می رویم .

در این پنجره باید بدنه جدول خود را ایجاد کنیم . و اطلاعاتی را که مد نظر خودمان است را در اینجا بصورت دسته بندی شده داشته باشیم .

اول بیایید دوباره بررسی کنیم که می خواهیم که چه کاری انجام دهیم .

ما می خواهیم ببینیم که در هر کدام از ماههای سال چه تعداد کتاب با موضوعات مختلف چاپ شده اند .

مثلا ببینیم در مهرماه چه تعداد کتاب علمی و چه تعداد کتاب داستانی چاپ شده است .

پس در اینجا فیلد مورد نظر من فیلد مربوط به type  خواهد بود .

این فیلد در جدول اصلی ما موضوعات کتابها را در خود ذخیره می کند .

حالا می خواهم تعداد هر کدام از این موضوعات برای من شمرده شود . 

برای این کار می توانم یک فیلد مثل کد کتاب را به کوئری خود معرفی کنم .

این کار را از کادر سمت چپ انجام می دهم .

در کادر سمت راست هم نوع محاسبه ای که باید انجام دهم را انتخاب می کنم .

در این جا می خواهم عمل شمارش موضوعات کتابها انجام شود پس گزینه Count  را انتخاب می کنم .

 

crosstab query

 

چه اتفاقی قرار است بیافتد :

به زبان محاوره به نرم افزار می گوییم که با استفاده از کوئری بالا بشمار تعداد کتابهایی را که تحت یک موضوع هستند و آنها را برمبنای ماههای انتشار دسته بندی کن .

اگر دقت کنید یک گزینه به نام        هم در این کادر وجود دارد که اگر آن را انتخاب کنید جمع هر ردیف برای شما نمایش داده می شود .

پیشنهاد می کنم تیک این گزینه را بزنید .

حالا به پنجره بعد بروید در این پنجره یک نام برای کوئری خود انتخاب کنید .

و کار تمام است .

اکنون کوئری خود را اجرا کنید .

این اولین روش از کار و ایجاد یک کوئری از نوع کراس تب بود .

این روش به نوبه خود دارای مزایا و معایب مربوط به خود می باشد .

از مزایای این روش این است که همه کارها به سادگی و سرعت انجام می شود و همه تنظیمات مورد نظر بطور خودکار  اعمال می شوند .

اما در این بین معایبی نیز وجود دارد .

بزرگترین ایرادی که وجود دارد این است که در ایجاد یک کراس تب کوئری با استفاده از قابلیت ویزارد فقط می توان از یک جدول استفاده کرد .

یعنی بطور همزمان نمی توان از چند جدول  با استفاده از ویزارد کراس تب کوئری ایجاد کرد . 

دیگر معایب و محدودیتهای ایجاد کراس تب کوئری از طریق ویزارد شامل موارد زیر است :

۱- عدم امکان استفاده از عبارتهای محاسباتی یا همان Expression  ها در ساختار کوئری .

۲- عدم امکان استفاده از پارامترها در ساختار کوئری

اما با تمام این تفاسیر استفاده از این روش در بسیاری از موارد می تواند راهگشا باشد .

اما به سراغ روش دوم برویم .

ایجاد کراس تب کوئری با استفاده از محیط Design.

 در این روش تمام محدودیتهایی که در ایجاد کوئری با استفاده از ویزارد متوجه ما بود برداشته می شود .

در این روش ما می توانیم :

–  از چند جدول برای ایجاد کوئری خود استفاده کنیم .

–  در ساختار کوئری خود از شرطها استفاده کنیم .

– در ساختار کوئری خود از عبارتهای محاسباتی استفاده کنیم .

حالا برویم ببینیم که روش ایجاد این کوئری در محیط طراحی به چه منوال است .

اول که به سراغ سربرگ Design  رفته و گزینه Query Design  را انتخاب کنید . 

جدول مورد نظر خود را انتخاب کنید تا به محیط کوئری اضافه شود .

از قسمت بالا نوع کوئری مورد نظر خود را از نوع  Crosstab Query  انتخاب کنید .

اول فیلدهای مورد نظر خود را انتخاب می کنیم تا به نمای جدول در کوئری ما اضافه شوند . 

فیلد bookcod  برای شماره کتاب

فیلد  type  برای موضوع کتاب .

فیلد dprint  برای ماه انتشار .

پس این سه فیلد را اضافه کردیم .

ما در اینجا باید سه آیتم را برای کوئری خود مشخص کنیم .

۱- نام ردیف

۲- نام ستون ها و

۳- مقداری که باید محاسبات روی آن انجام شود و نوع محاسبات مورد نظر خود .

تمامی تنظیماتی را که باید در این موارد انجام دهید را می توانید با استفاده از تصویر زیر متوجه شوید .

crosstab query

این مطلب به تدریج تکمیلتر خواهد شد . …….

می خوای مفاهیم پیچیده برنامه نویسی رو در عرض یک دقیقه یاد بگیری .

فقط کافی است بر روی تصویر زیر کلیک کنید تا به جمع ما در اینستاگرام بپیوندی.

اینجا همه چیز آمادست .

کلیپ های آموزشی – ترفندهای کاربردی و نکات کاری در زمینه های مختلف .

 crosstab query

آموزش اکسس بازدید : 353 views 12 فوریه, 2020 ۰