آموزش ایجاد لیست کشویی (Combo Box) در Access 2024_Lookup Wizard
آموزش ایجاد لیست کشویی (Combo Box) در Access 2024
🔹 لیست کشویی (Combo Box) در Access امکان انتخاب مقدار از یک لیست از پیشتعریفشده را فراهم میکند.
🔹 این قابلیت در فیلدهای جداول، فرمها و گزارشها استفاده میشود.
انواع روشهای ایجاد لیست کشویی در Access
۱) ایجاد لیست کشویی دستی (Value List)
✅ توضیح:
- در این روش مقادیر را مستقیماً در فیلد وارد میکنید.
✅ مثال کاربردی:
فرض کنید میخواهید برای فیلد City (شهر) یک لیست کشویی بسازید که شامل شهرهای تهران، اصفهان و مشهد باشد.
🔹 مراحل:
- وارد Table Design View شوید.
- در فیلد City، نوع داده را Short Text انتخاب کنید.
- به قسمت Lookup در پایین صفحه بروید.
- در Display Control مقدار Combo Box را انتخاب کنید.
- در قسمت Row Source این مقدار را وارد کنید:
"تهران";"اصفهان";"مشهد" - Table را ذخیره کنید و هنگام ورود داده، لیست کشویی را مشاهده خواهید کرد.
۲) ایجاد لیست کشویی با جدول جداگانه (Lookup Table)
✅ توضیح:
- مقدارها از یک جدول جداگانه دریافت میشوند.
✅ مثال کاربردی:
فرض کنید یک جدول Students دارید که فیلد Department (رشته تحصیلی) باید به یک لیست از رشتههای تعریفشده متصل باشد.
🔹 مراحل:
- یک جدول جدید ایجاد کنید به نام Departments.
- دو فیلد برای این جدول ایجاد کنید:
- ID (کلید اصلی) – نوع AutoNumber
- DepartmentName (نام رشته) – نوع Short Text
- اطلاعات رشتهها را وارد کنید:
1 | مهندسی نرمافزار 2 | مدیریت 3 | پزشکی - جدول Students را باز کنید و فیلد Department را انتخاب کنید.
- در قسمت Lookup گزینه Combo Box را انتخاب کنید.
- در Row Source این دستور را وارد کنید:
SELECT ID, DepartmentName FROM Departments; - Bound Column را روی
1و Column Count را روی2قرار دهید. - حالا هنگام ورود اطلاعات در جدول Students، میتوانید رشته موردنظر را از لیست انتخاب کنید.
۳) ایجاد لیست کشویی بر اساس کوئری (Query-Based)
✅ توضیح:
- مقدارها بر اساس یک کوئری فیلتر شده نمایش داده میشوند.
✅ مثال کاربردی:
فرض کنید در جدول Products، محصولاتی که در انبار موجود هستند نمایش داده شوند.
🔹 مراحل:
- به Query Design بروید.
- جدول Products را اضافه کنید.
- دو فیلد ProductID و ProductName را انتخاب کنید.
- در قسمت Criteria برای Stock مقدار
>0را وارد کنید تا فقط محصولات موجود نمایش داده شوند. - کوئری را ذخیره کنید (مثلاً با نام
AvailableProducts). - در یک فرم جدید، یک Combo Box اضافه کنید و منبع داده آن را
AvailableProductsقرار دهید. - حالا هنگام انتخاب محصول، فقط موارد موجود نمایش داده میشوند.
۴) ایجاد لیست کشویی با استفاده از SQL Query
✅ توضیح:
- میتوانید مقدارها را با فیلترهای پیشرفته SQL انتخاب کنید.
✅ مثال کاربردی:
فرض کنید میخواهید فقط دانشجویانی که معدل بالای 17 دارند را در لیست کشویی نمایش دهید.
🔹 مراحل:
- به Table Design View بروید و روی فیلد موردنظر (مثلاً StudentName) کلیک کنید.
- در قسمت Lookup گزینه Combo Box را انتخاب کنید.
- در Row Source این کد SQL را وارد کنید:
SELECT StudentID, StudentName FROM Students WHERE GPA > 17; - حالا فقط دانشجویانی که معدل بالای ۱۷ دارند در لیست کشویی نمایش داده میشوند.
مثال: آموزش ایجاد لیست کشویی در Access بدون کدنویسی (مرحلهبهمرحله با مثال)
🔹 لیست کشویی (Combo Box) یکی از پرکاربردترین ابزارهای Access است که باعث ورود دادهها بهصورت سریعتر و دقیقتر میشود.
🔹 در این آموزش، دو روش بدون نیاز به کدنویسی را یاد میگیریم:
- روش دستی (Value List) – وارد کردن مقادیر بهصورت مستقیم
- روش جدولی (Lookup Table) – دریافت مقادیر از یک جدول جداگانه
۱. روش دستی (Value List) – ایجاد لیست کشویی بدون جدول
✅ مثال کاربردی:
میخواهیم برای فیلد “شهر” در جدول دانشآموزان (Students) یک لیست کشویی ایجاد کنیم که شامل “تهران، اصفهان، مشهد” باشد.
🔹 مراحل:
- ایجاد یا باز کردن جدول:
- وارد Access شوید.
- جدول Students را باز کنید یا یک جدول جدید ایجاد کنید.
- در نمای Design View، یک فیلد جدید با نام City و نوع داده Short Text اضافه کنید.
- فعال کردن لیست کشویی:
- روی فیلد City کلیک کنید.
- در پایین صفحه به برگه Lookup بروید.
- مقدار Display Control را روی Combo Box قرار دهید.
- وارد کردن مقادیر لیست کشویی:
- در قسمت Row Source Type مقدار Value List را انتخاب کنید.
- در قسمت Row Source مقدارهای موردنظر را وارد کنید:
"تهران";"اصفهان";"مشهد" - مقدار Limit To List را روی Yes قرار دهید تا کاربران فقط از لیست انتخاب کنند.
- ذخیره و تست:
- جدول را ذخیره کنید.
- روی نمای Datasheet View کلیک کنید و ببینید که فیلد City بهصورت لیست کشویی نمایش داده میشود.
- هنگام وارد کردن اطلاعات، میتوانید از بین تهران، اصفهان، مشهد یکی را انتخاب کنید.
✅ مزایا: سریع و ساده، بدون نیاز به جدول جداگانه
❌ معایب: اگر بخواهید شهر جدیدی اضافه کنید، باید به طراحی جدول برگردید.
۲. روش جدولی (Lookup Table) – ایجاد لیست کشویی از یک جدول جداگانه
✅ مثال کاربردی:
میخواهیم برای فیلد “رشته تحصیلی” در جدول دانشآموزان (Students)، یک لیست کشویی ایجاد کنیم که مقدارها را از جدول جداگانهای به نام “Departments” دریافت کند.
🔹 مراحل:
مرحله ۱: ایجاد جدول جداگانه برای لیست کشویی
- در Access، روی Create > Table Design کلیک کنید.
- دو فیلد زیر را ایجاد کنید:
- ID (نوع: AutoNumber) → کلید اصلی
- DepartmentName (نوع: Short Text) → نام رشته
- جدول را با نام Departments ذخیره کنید.
- اطلاعات را در نمای Datasheet View وارد کنید:
1 | مهندسی نرمافزار 2 | مدیریت 3 | پزشکی 4 | معماری - جدول را ببندید.
مرحله ۲: اتصال فیلد “رشته تحصیلی” به لیست کشویی
- جدول Students را باز کنید و وارد Design View شوید.
- فیلد Department را اضافه کنید و نوع داده را Number انتخاب کنید.
- به برگه Lookup بروید و مقدار Display Control را روی Combo Box تنظیم کنید.
- در قسمت Row Source Type مقدار Table/Query را انتخاب کنید.
- در قسمت Row Source، جدول Departments را انتخاب کنید.
- مقدار Bound Column را روی
1تنظیم کنید (تا ID ذخیره شود). - مقدار Column Count را روی
2تنظیم کنید. - مقدار Column Widths را روی
0cm;4cmتنظیم کنید (ID نمایش داده نشود). - مقدار Limit To List را روی Yes تنظیم کنید.
مرحله ۳: ذخیره و تست
- جدول Students را ذخیره کنید.
- در Datasheet View، هنگام ورود اطلاعات برای فیلد Department، لیست کشویی ظاهر میشود.
- رشته موردنظر را انتخاب کنید و مقدار ذخیرهشده ID رشته خواهد بود.
✅ مزایا: امکان تغییر لیست رشتهها بدون نیاز به تغییر طراحی جدول
❌ معایب: نیاز به ایجاد جدول جداگانه
نتیجهگیری
✅ اگر لیست کشویی شما تغییر نمیکند (مثل نام شهرها)، روش دستی (Value List) مناسب است.
✅ اگر لیست کشویی نیاز به بهروزرسانی دارد (مثل رشتههای تحصیلی)، روش جدولی (Lookup Table) گزینه بهتری است.
✅ لیستهای کشویی در Access به شما امکان میدهند دادهها را سریعتر و دقیقتر وارد کنید.
✅ میتوان لیستها را بهصورت دستی، از جدول، از کوئری یا با SQL ایجاد کرد.
✅ استفاده از Lookup Table روش بهینهتری نسبت به مقدارهای دستی است.
✅ با تنظیمات صحیح، میتوان نمایش و عملکرد لیست کشویی را بهینه کرد.
💡 کدام روش را انتخاب میکنید؟