کوئری در اکسس و انواع آن
پرس و جو یا کوئری (Query) در واقع نوعی جستجوی پیشرفته است. به کمک کوئریها، میتوانیم به رکوردهایی از جدول (Table) دسترسی داشته باشیم که مطابق با نیاز یا شرط تعیین شده در اختیارمان قرار میگیرند. با کوئری کنترل بیشتری روی نتیجه جستجو داشته و اگر با جدولهای مرتبط سر و کار داشته باشیم، با توجه به رابطه بین جدولها، کوئریها امکان تهیه گزارشات ترکیبی را هم فراهم میآورند.
مثلا با یک کوئری میتوانیم، نمایش رکوردهای یک جدول را محدود کنیم یا حتی فیلدهای اضافی که برای نمایش به آنها احتیاج نداریم در خروجی جستجو، حذف کنیم. کوئری در اکسس یا پرس و جوها انواع مختلف دارند، که در این نوشتار به معرفی و بررسی هر یک از آنها خواهیم پرداخت.
نکته: برای سادگی و هماهنگی نحوه کار خوانندگان و مشاهده نتایج اجرای کوئریها در این متن، یک پایگاه داده در اکسس تولید شده که در این نوشتار مورد استفاده قرار میگیرد. برای دریافت فایل پایگاه داده اکسس در قالب فشرده، اینجا را کلیک کنید. پس از خارج کردن فایل از حالت فشرده، میتوانید فایل QRelation Types.accdb را در اکسس باز کرده و جدولها و کوئریهای ایجاد شده را مشاهده یا ویرایش کنید.
به منظور ایجاد یک پرس و جو یا کوئری در اکسس لازم است از برگه Create، یکی از گزینههای طراحی کوئری (Query Design) یا راهنمای ایجاد کوئری (Query Wizard) را انتخاب کنید. هر چند روش Query Wizard سادهتر بوده و با طی کردن یک مسیر، پرس و جوی مورد نظرتان را ایجاد میکند ولی بسیاری از ویژگیهای مربوط به طراحی پرس و جو را در بر نمیگیرد. البته نحوه به کارگیری آن نیز در نوشتار دیگری از مجله فرادرس مرور شده است. به همین دلیل در این متن به نحوه ایجاد کوئری بوسیله محیط طراحی (Query Design) خواهیم پرداخت. کوئریهایی که به این ترتیب میتوانیم ایجاد کنیم به صورت زیر فهرست و معرفی شدهاند.
پرس و جو یا کوئری انتخاب (Select Query): در این نوع کوئری، صرفا رکوردهایی از جدولهای مورد نظر انتخاب و نمایش داده میشوند. البته به کمک این نوع کوئری، میتوانیم فیلدهای محاسباتی نیز ایجاد کنیم.
پرس و جو یا کوئری ایجاد جدول (Make Table Query): اگر بخواهیم نتیجه جستجو یا محاسبات صورت گرفته در یک جستجو را در قالب یک جدول ذخیره و ثبت کنیم از «کوئری ایجاد جدول» (Make Table) استفاده میکنیم.
پرس و جوی یا کوئری اضافه کردن رکورد به جدول (Append Query): به کمک این نوع کوئری، رکوردهای مورد جستجو به یک جدول اضافه میشود. این جدول ممکن است قبلا توسط کوئری ایجاد جدول (Make Table) ساخته شده باشد.
پرس و جو یا کوئری به روز رسانی (Update Query): اگر بخواهیم مقدار یک یا چند فیلد از رکوردهای یک جدول را به یکباره تغییر و به روز رسانی کنیم، «کوئری به روز رسانی» Update، گزینه مناسبی خواهد بود.
پرس و جو یا کوئری جدول توافقی (Crosstab Query): اگر بخواهیم یک جدول محاسباتی براساس جمعبندی یا گروهبندی روی یک جدول تشکیل دهیم، کوئری جدول توافقی بهترین راه حل است. به این ترتیب میتوانیم برای مثال تعداد خانههای محلههای مختلف را با توجه به نام خریدار، مشخص کنیم. خروجی این کوئریها بسیار شبیه جدولهای محوری (Pivot Table) در اکسل است.
پرس و جو یا کوئری حذف (Delete Query): گاهی لازم است رکوردهای جستجو شده توسط کوئری، از جدول حذف شوند. البته این کار باید با احتیاط صورت گیرد، زیرا رکوردهای حذف شده از جدول، قابل بازیابی نیستند. کوئری حذف برای انجام این کار در اکسس اختصاص یافته است.
همچنین برای اجرای هر یک از کوئریهای ایجاد شده، کافی است از بخش Result در برگه طراحی یا Design کوئریها، یکی از گزینههای نمایش (View) یا اجرا (Run) را کلیک کنید. البته در اکثر مواقع از دکمه Run برای اجرا استفاده میکنیم، زیرا ممکن است اجرای یک کوئری، همیشه نتیجه قابل نمایش در یک جدول، نداشته باشد.
اصول طلایی برای طراحی جداول در اکسس.
در اینجا با هم اصولی را که باید در حین طراحی جداول خود به آنها توجه کنیم را مروز می کنیم .
۱- قواعد نام گذاری فیلدها را رعایت کنید .
هر فیلد برای خود دارای نامی مجزا می باشد .
نکاتی را که برای نام گذاری فیلدها باید مدنظر قرار دهیم شامل موارد زیر است .
اول اینکه برای نام گذاری فیلدها در محیط طراحی جداول خود به هیچ عنوان از اسامی فارسی استفاده نکنید .
چرا؟
برای این امر چندین دلیل می توان آورد .
اول اینکه در مراحل متعددی که می خواهید با این جداول کار کنید و نیاز دارید که نام فیلدها را به نحوی به برنامه خود معرفی کنید ذکر نام فیلد مورد نظر به زبان فارسی می تواند به یک معضل و مشکل جدی تبدیل شود
این موضوع بیشتر خود را وقتی نمایان می کند که در اکسس می خواهید از اطلاعات جدول خود یک کوئری بگیرید .
در مرحله دوم هم استفاده از اسامی فارسی در نام گذاری فیلدها می تواند روند کد نویسی شما را در برنامه نویسی VBA بطور کامل مختل کرده و شما را با خطاهای متعدد روبرو کند .
اما در اینجا یک مشکل وجود دارد و آن هم این است که مسلما نامیک فیلد برای کاربر شما نمی تواند همان نامی باشد که در محیط اکسس برای برنامه خود تعیین می کنید .
از آنجا که کاربر شما باید متوجه شود که در یک فیلد چه اطلاعاتی را باید وارد کند بنابراین بهتر است که عنوانی که بر ای فیلد خود تعریف می کنید به زبان فارسی باشد .
برای این امر میتوانید به سراغ گزینه Caption مربوط به نام هر فیلد بروید .
– بهبود واسط کاربری
۲- الگوهای از پیش ساخته شده زیاد
۳- ارتقاء توانایی سورت و فیلترینگ
۴-طراحی در حالت نمایش
۵-طرح بندی در مدلهای توده ای و جدولی
۶-تقویم خودکار برای فیلدهای تاریخ (میلادی)
۷- افزایش قدرت کار با فیلدهای Memo
۸- افزایش سرعت تولید هنگام استفاده از تب Create
۹- تولید سریع جداول با مدل بهبود یافته Datasheet
۱۰-خط جمع در پایین دیتاشیت
۱۱-فیلد الگو هنگام ساخت فیلد جدید
۱۲- پنل فهرست فیلدها
۱۳-فرمهای دوبخشی ( Single و Datasheet )
۱۴- فیلدهای چند محتوایی
۱۵- نوع داده ای جدید ضمیمه برای نگهداری تصاویر و انواع مختلف فایلها
۱۶- رنگ زمینه یک در میان
۱۷- پنل جدید مدیریت اشیاء اکسس
۱۸- ماکرو های جاسازی شده
۱۹- نمایشگر بهبود یافته برای راهنما
ب ) کار روی اطلاعات مشترک با دیگر برنامه ها :
۱- گردآوری و بروز رسانی داده های مورد استفاده در اوت لوک ۲۰۰۷
۲-انتقال دیتابیس به سایت Sharepoint
۳-پشتیبانی از سرویس متون Sharepoint در ویندوز
۴-بهبود اجرای جداول لینک شده در فهرست Sharepoint
۵-بهرهگیری مطلوب از نوع داده ضمیمه و فیلدهای چند محتوایی در کار با Sharepoint
۶- تهیه فهرست Offline از Sharepoint
۷- ذخیره در فرمتهای PDF و XPS
۸- بهبود Import و Export
ج ) تولید و تغییر گزارشها برای نیازهای کاری
۱- نمایش های بهتر هنگام طراحی گزارش
۲- ویژگی های گروه بندی ، ترتیب و جمع بندی
۳- بهبود نگرش در تولید خودکار گزارشها
د) مدیریت و بازنگری اطلاعات :
۱-ارتقاء امنیت
۲-بررسی روال تغییر دادها با استفاده از سرویس Sharepoint
۳-تعیین دسترسی با استفاده از سرویس Sharepoint
۴-بازیافت داده ها با استفاده از سرویس Sharepoint
۵-بازکردن فرمها و گزارشها با استفاده از سرویس Sharepoint
۶- سابقه تغییرات در فیلدهای Memo
۷-سرویس عیب یابی آفیس
۸-ابزارهای گرامری