جلسه 6
جلسه ششم: کوئریها، فرمها و گزارشها در Access
اهداف آموزشی:
در پایان این جلسه، دانشجویان باید قادر باشند:
- اهمیت و کاربرد کوئریها (Queries) در استخراج و تحلیل دادهها از یک یا چند جدول را درک کنند.
- انواع کوئریهای پرکاربرد (مانند انتخاب، محاسباتی، پارامتری) را بشناسند و نحوه ایجاد آنها را بیاموزند.
- نحوه فیلتر کردن، مرتبسازی و شرطگذاری دادهها در کوئریها را انجام دهند.
- کاربرد فرمها (Forms) را در ورود، ویرایش و نمایش دادهها به شکلی کاربرپسند درک کنند.
- نحوه ایجاد فرمهای ساده و کار با کنترلهای مختلف در Access را بیاموزند.
- اهمیت گزارشها (Reports) را برای ارائه اطلاعات به صورت چاپی یا قابل ارائه درک کنند.
- نحوه ایجاد گزارشهای ساده و قالببندی آنها را بیاموزند.
- ارتباط بین جداول، کوئریها، فرمها و گزارشها را در یک پایگاه داده درک کنند.
مقدمه:
در جلسه قبل، با ساختار پایگاه داده Access و نحوه طراحی جداول آشنا شدیم. اما ذخیره دادهها تنها بخشی از کار است. برای بهرهبرداری واقعی از اطلاعات ذخیرهشده، نیاز داریم تا بتوانیم دادهها را به طور مؤثر جستجو، فیلتر، تحلیل، ورود و نمایش دهیم. در این جلسه، با سه ابزار قدرتمند Access یعنی کوئریها، فرمها و گزارشها آشنا خواهیم شد که به ما امکان میدهند تا با دادههای خود به شکلی هوشمندانهتر تعامل داشته باشیم و اطلاعات مورد نیاز خود را به بهترین شکل استخراج و ارائه کنیم.
۱. کوئریها (Queries): دریچهای به دادههای شما
- کوئری چیست؟
- یک دستور یا پرسوجو که از پایگاه داده برای استخراج، فیلتر، مرتبسازی و نمایش دادهها بر اساس معیارهای مشخص استفاده میکند.
- برخلاف جداول که دادهها را ذخیره میکنند، کوئریها دادهها را “به نمایش میگذارند” و اغلب نتایج آنها پویا هستند (با تغییر دادههای اصلی، نتایج کوئری نیز بهروز میشوند).
- چرا از کوئری استفاده کنیم؟
- دسترسی به زیرمجموعهای از دادهها: نمایش فقط اطلاعات مورد نیاز.
- ترکیب دادهها از جداول مختلف: با استفاده از روابط بین جداول.
- انجام محاسبات: ایجاد فیلدهای جدید بر اساس فرمولها (مانند محاسبه سود).
- فیلتر کردن و مرتبسازی: نمایش دادهها بر اساس شرایط خاص.
- بهروزرسانی دستهای دادهها: تغییر مقادیر در چندین رکورد به طور همزمان (کوئریهای Action).
- ایجاد کوئری انتخاب (Select Query) در نمای Design View:
- به تب Create رفته و Query Design را انتخاب کنید.
- جداول مورد نیاز خود را اضافه کنید (معمولاً یک یا دو جدول). Access روابط موجود بین جداول را نمایش میدهد.
- فیلدهای مورد نظر خود را از لیست جداول به قسمت پایین صفحه (Grid) بکشید.
- فیلتر کردن (Criteria): در ردیف Criteria زیر هر فیلد، شرط مورد نظر را وارد کنید (مثلاً
">1000"برای مقادیر بزرگتر از ۱۰۰۰،"تهران"برای شهر تهران). - مرتبسازی (Sort): از منوی کشویی Sort زیر هر فیلد، برای مرتبسازی صعودی (Ascending) یا نزولی (Descending) استفاده کنید.
- اجرای کوئری: روی دکمه Run (علامت تعجب قرمز) کلیک کنید تا نتایج را مشاهده کنید.
- ذخیره کوئری: کوئری را با نامی مناسب ذخیره کنید.
- مثال کوئری حسابداری:
- کوئری: “فروشهای بالای ۱ میلیون تومان”
- جداول مورد نیاز:
Sales(فروشها)،Customers(مشتریان) - فیلدهای انتخابی:
SaleID,SaleDate,Amount,Customers.CustomerName - شرط (Criteria) روی فیلد
Amount:">1000000" - کوئری: “موجودی کالاهای زیر حداقل سطح”
- جدول مورد نیاز:
Products(محصولات) - فیلدهای انتخابی:
ProductID,ProductName,UnitsInStock,ReorderLevel - شرط (Criteria) روی فیلد
UnitsInStock:< [ReorderLevel](کوئری پارامتری که از مقدار فیلد ReorderLevel استفاده میکند)
۲. فرمها (Forms): رابط کاربری شما با دادهها
- فرم چیست؟
- یک شیء در Access که امکان ورود، ویرایش و نمایش دادهها را به شکلی سازمانیافته و کاربرپسند فراهم میکند.
- غالباً برای تعامل با یک رکورد در یک زمان طراحی میشوند و میتوانند شامل کنترلهایی مانند کادرهای متنی، دکمهها، لیستها و چکباکسها باشند.
- چرا از فرم استفاده کنیم؟
- ورود داده آسانتر و دقیقتر: هدایت کاربر برای ورود اطلاعات صحیح.
- جلوگیری از خطاهای ورود داده: با استفاده از قوانین اعتبارسنجی و انواع داده مناسب.
- نمایش اطلاعات مرتبط: نمایش همزمان اطلاعات از چندین جدول مرتبط در یک فرم.
- ایجاد رابط کاربری حرفهای: برای کاربران نهایی که با ساختار پایگاه داده آشنایی ندارند.
- ایجاد فرم ساده (Form Wizard):
- به تب Create رفته و Form Wizard را انتخاب کنید.
- جدول یا کوئری مورد نظر برای فرم را انتخاب کنید.
- فیلدهایی که میخواهید در فرم نمایش داده شوند را انتخاب کنید.
- نحوه چیدمان فرم (Columnar, Tabular, Datasheet, Justified) را انتخاب کنید.
- فرم را نامگذاری کرده و Finish را بزنید. Access فرم را در نمای Layout View یا Form View باز میکند.
- مثال فرم حسابداری:
- فرم ورود فاکتور فروش:
- شامل فیلدهایی از جدول
Sales(مانندSaleID,SaleDate,CustomerID) و امکان انتخاب محصول از یک لیست کشویی (Lookup) که اطلاعات جدولProductsرا نمایش میدهد، و ورودQuantity. - میتواند به صورت خودکار
UnitPriceرا از جدولProductsفراخوانی کرده وTotalPriceرا محاسبه کند. - فرم مدیریت مشتریان:
- نمایش اطلاعات کامل یک مشتری در هر زمان، با امکان جستجو و ویرایش.
۳. گزارشها (Reports): ارائه اطلاعات سازمانیافته
- گزارش چیست؟
- یک شیء در Access که برای نمایش دادهها در قالبی حرفهای و قابل چاپ یا اشتراکگذاری طراحی شده است.
- برخلاف فرمها که بیشتر برای ورود و ویرایش دادهها هستند، گزارشها بر خروجی نهایی تمرکز دارند.
- چرا از گزارش استفاده کنیم؟
- ارائه خلاصه یا جزئیات دادهها: برای تصمیمگیری مدیران.
- قالببندی حرفهای: شامل سربرگ، پاورقی، گروهبندی دادهها، محاسبات تجمعی (مانند مجموع، میانگین).
- چاپ و اشتراکگذاری آسان: خروجی نهایی از دادههای پایگاه داده.
- ایجاد گزارش ساده (Report Wizard):
- به تب Create رفته و Report Wizard را انتخاب کنید.
- جدول یا کوئری منبع داده گزارش را انتخاب کنید.
- فیلدهای مورد نظر برای گزارش را انتخاب کنید.
- گروهبندی (Grouping): اگر میخواهید دادهها بر اساس یک فیلد خاص (مثلاً دپارتمان، تاریخ) گروهبندی شوند، آن فیلد را انتخاب کنید.
- مرتبسازی (Sorting): نحوه مرتبسازی رکوردهای داخل هر گروه یا کل گزارش را مشخص کنید.
- تلخیص (Summarization): میتوانید محاسبات تجمعی مانند Sum, Avg, Count را برای فیلدهای عددی در سطوح گروهبندی یا کل گزارش تعریف کنید.
- چیدمان (Layout) و جهت صفحه (Orientation) گزارش را انتخاب کنید.
- گزارش را نامگذاری کرده و Finish را بزنید.
- مثال گزارش حسابداری:
- گزارش خلاصه فروش ماهانه:
- گروهبندی بر اساس ماه و سال.
- نمایش مجموع فروش (
Sum of TotalPrice) برای هر ماه. - نمایش میانگین فروش (
Avg of TotalPrice). - قابل مرتبسازی بر اساس تاریخ.
- گزارش لیست محصولات با موجودی کم:
- بر اساس کوئری “موجودی کالاهای زیر حداقل سطح” ساخته میشود.
- نمایش نام محصول، تعداد موجودی فعلی و حداقل سطح مجاز.
۴. ارتباط بین اجزاء:
- یک پایگاه داده Access معمولاً شامل ترکیبی از جداول (برای ذخیرهسازی)، کوئریها (برای استخراج و تحلیل)، فرمها (برای ورود و مدیریت تعاملی) و گزارشها (برای ارائه خروجی) است.
- کوئریها میتوانند منبع داده برای فرمها و گزارشها باشند.
- فرمها میتوانند دکمههایی برای اجرای کوئریها یا باز کردن گزارشها داشته باشند.
- گزارشها میتوانند بر اساس کوئریهایی که نتایج فیلتر شده یا محاسباتی را ارائه میدهند، ساخته شوند.
مثال کاربردی: یکپارچهسازی اجزاء
با استفاده از جداول Products و Sales که در جلسه قبل ایجاد کردیم:
- کوئری: یک کوئری به نام
SalesDetailsایجاد کنید که اطلاعاتSaleID,SaleDate,Quantity,UnitPrice,ProductName,CustomerNameرا از ترکیب جداولSales,Products,Customersنمایش دهد. در این کوئری، یک فیلد محاسباتی به نامLineTotalبا فرمول[Quantity]*[UnitPrice]اضافه کنید. - فرم: فرمی به نام
SalesEntryFormبر اساس جدولSalesایجاد کنید. در این فرم، به جای نمایشProductIDوCustomerIDبه صورت عدد، از کنترلComboBoxاستفاده کنید تا کاربر بتواند نام محصول و نام مشتری را از لیست انتخاب کند (این ComboBoxها به ترتیب به جداولProductsوCustomersمتصل میشوند و مقادیرProductIDوCustomerIDرا ذخیره میکنند). - گزارش: گزارشی به نام
MonthlySalesSummaryبر اساس کوئریSalesDetailsایجاد کنید. این گزارش را بر اساسSaleDateگروهبندی کنید (به صورت ماهانه) و مجموعLineTotalرا برای هر ماه محاسبه کنید.
تمرینهای پایان جلسه:
۱. یک کوئری انتخاب در Access ایجاد کنید که لیست تمام محصولات با قیمت خرید (UnitPrice) بیشتر از ۵۰۰,۰۰۰ تومان را از جدول Products نمایش دهد. نام کوئری را “محصولات گرانقیمت” بگذارید.
۲. یک کوئری پارامتری ایجاد کنید که لیست فروشهایی را که در تاریخ مشخصی (تاریخ را از کاربر بپرسد) انجام شدهاند، نمایش دهد. نام کوئری را “فروشهای روزانه” بگذارید.
۳. یک فرم ساده برای ورود اطلاعات به جدول Suppliers ایجاد کنید. مطمئن شوید که فیلد SupplierName اجباری (Required) باشد.
۴. یک گزارش ایجاد کنید که لیست تمام تامینکنندگان (Suppliers) را به همراه نام و تلفن آنها نمایش دهد. گزارش را بر اساس نام تامینکننده (SupplierName) مرتب کنید.
۵. تصور کنید میخواهید گزارشی تهیه کنید که فروش هر مشتری را به تفکیک نشان دهد و در انتها مجموع فروش هر مشتری را محاسبه کند. چه کوئری و چه گزارشهایی نیاز دارید؟ مراحل کلی را شرح دهید.
خلاصه جلسه:
این جلسه به بررسی سه ابزار حیاتی Access برای کار با دادهها اختصاص داشت: کوئریها، فرمها و گزارشها. کوئریها به عنوان ابزاری برای جستجو، فیلتر، مرتبسازی و تحلیل دادهها از جداول معرفی شدند و نحوه ایجاد کوئریهای انتخاب ساده و پارامتری آموزش داده شد. فرمها به عنوان رابط کاربری برای ورود و ویرایش دادهها معرفی گردیدند و مزایای استفاده از آنها برای دقت و سهولت کار برجسته شد. در نهایت، گزارشها به عنوان ابزار نهایی برای ارائه اطلاعات به صورت سازمانیافته و قابل چاپ بررسی شدند و نحوه ایجاد گزارشهای گروهبندی شده و خلاصهسازی دادهها شرح داده شد. درک نحوه استفاده از این سه ابزار به دانشجویان امکان میدهد تا از پایگاه داده Access خود به طور کامل بهرهبرداری کنند.
نکات کلیدی:
- کوئریها: ابزار قدرتمند Access برای استخراج، فیلتر، مرتبسازی و تحلیل دادهها.
- فرمها: رابط کاربری کاربرپسند برای ورود، ویرایش و نمایش دادهها؛ افزایش دقت و سهولت کار.
- گزارشها: قالبی حرفهای برای ارائه دادهها به صورت چاپی یا قابل ارائه؛ امکان گروهبندی و محاسبات تجمعی.
- یکپارچگی: کوئریها، فرمها و گزارشها اغلب بر اساس جداول و یکدیگر کار میکنند تا یک سیستم پایگاه داده کامل را تشکیل دهند.
- کوئریهای محاسباتی: امکان افزودن ستونهای جدید با فرمولهای دلخواه.
- گزارشهای گروهبندی شده: برای تحلیل دادهها بر اساس دستهبندیهای مشخص (مانند فروش ماهانه، فروش منطقهای).