جستجوی ساده محتوایی
روش جستجو:
به صورت عادی
مقادیر شامل تمام کلمات باشد (AND)
مقادیر شامل یک از کلمات باشد(OR)

96/09/21 سه شنبه 23:14

بازدید: ١٢٢٨۵

ایجاد تغییر و سفارشی ساختن یک کمبو باکس در اکسس (آموزش پیشرفته اکسس)

بازگشت به صفحه اصلی آموزش پیشرفته اکسس

همه ما با کمبوباکس ها آشنایی کافی داریم. این منوها امکان انتخاب یک گزینه را از بین چندین گزینه برای کاربر فراهم می آورند. اکسس دارای یک ویزارد به نام Combo Box Wizard است که به ما این امکان را می دهد تا یک کمبوباکس را برای تمامی فرم های خود ایجاد کنیم. اگرچه محدودیتهایی هم در زمینه نحوه سفارشی ساختن کمبوباکسها با استفاده از ویزارد نیز وجود دارد. در این قسمت ما نحوه ایجاد یک کمبوباکس را بصورت دستی(از ابتدا به ساکن)  بررسی می کنیم و در ادامه نیز به بررسی نحوه کنترل کامل ظاهر کمبوباکسها، عملکرد آنها و نیز نحوه ذخیره و نمایش آنها می پردازیم.

روند ایجاد یک کمبوباکس را با استفاده از یک فرم Order Details بیان می کنیم. برای این منظور یک کنترل کمبوباکس خالی ایجاد می کنیم که از آن برای وارد کردن اسامی محصولات سفارش داده شده استفاده می شود. سپس با تغییر خصوصیات کنترل مربوط به آن، آن را سفارشی می کنیم. همانطور که مشاهده می کنید، اینکار باعث می شود تا مواردی همانند اینکه کمبوباکس شما چند ستون باید داشته باشد، برای پرکردن لیست، داده ها را از کجا باید بدست آورده و وارد کنیم و کدام فیلد (در صورت وجود) مقدار انتخابی را ذخیره می کند.

 

سفارشی ساختن کمبوباکس

شکل 1: یک کنترل Combo Box سفارشی شده

 

برای این منظور باید طبق 4 مرحله زیر عمل کنید:

مرحله یک: ایجاد یک کنترل کمبوباکس خالی

 

برای این منظور از ویزارد Combo Box استفاده می کنیم ولی برای اهداف آموزشی خود اینکار را بصورت دستی انجام می دهیم. برای این منظور ابتدا فایل  Combo Box Exercise Database را  دانلود کنید.

1- ابتدا  بانک اطلاعاتی دانلود شده را باز کنید.

2- فرم frmOrderDetails را در نمای Design باز کنید. آسانترین راه برای انجام اینکار این است که بر روی نام فرم راست کلیک کنید و از منوی نمایش داده شده گزینه DESIGN VIEW را انتخاب کنید. هنگامی که فرم در نمای Design باز می شود، مشاهده می کنید که تنها یک کادر متنی برای فیلد OrderDetailsId  وجود دارد.

3- اطمینان کسب کنید که آیکون USE CONTROL WIZARDS (در CONTROLS GROUP از نوار DESIGN RIBBON) انتخاب نشده باشد. اگر اینگونه بود کافی است تنها یک کلیک ساده کنید. اینکار باعث می شود هنگامی که فعالیت شماره 4 را انجام می دهید، ویزارد Combo Box دوباره باز نشود.

4- بر روی آیکون COMBO BOX CONTROL  ( در CONTROLS GROUP از نوار DESIGN RIBBON) کلیک کنید. هنگامی که اشاره گر ماوس به یک نماد Add Combo Box تغییر شکل داد، بر روی ناحیه ای از Form Design که می خواهید در آنجا قر ار گیرد، کلیک کنید. اکنون باید یک کنترل Combo Box را بر روی فضای Form Design مشاهده کنید.

 

سفارشی ساختن کمبوباکس

شکل 2- یک کنترل خالی کمبوباکس

 

مرحله 2: تنظیم خصوصیت CONTROL SOURCE یک کمبوباکس

 

اکنون می خواهیم خصوصیت CONTROL SOURCE را به گونه ای تنظیم کنیم که کنترل بر روی فیلد ItemId قرار بگیرد ( خصوصیت RECORD SOURCE فرم ها نیز بر روی tblOrderDetails تنظیم می شود). این بدان معناست که هر گزینه انتخابی از کمبوباکس در فیلد ItemId ذخیره خواهد شد.

  1. کنترل کمبوباکس را انتخاب کنید (Highlight کنید) سپس بر روی آیکون PROPERTY SHEET که در TOOLS GROUP از نوار  DESIGN RIBBON قرار دارد، کلیک کنید.
  2. برگه Data را از صفحه Property انتخاب کنید.
  3. اکنون خصوصیت CONTROL SOURCE در سطر بالا قرار دارد. حال از لیست نمایش داده شده گزینه ItemId را انتخاب کنید.

 

سفارشی ساختن کمبوباکس

شکل 3: برگه Data از صفحه Property

 

مرحله 3: تنظیم خصوصیت ROW SOURCE

 

خصوصیت ROW SOURCE درست در زیر CONTROL SOURCE قرار دارد. همانطور که قبلا مشاهده کردیم، خصوصیت بعدی مربوط به اتصال کمبو باکس به یک فیلد خاص می باشد. در مقابل خصوصیت Row Source به داده های موجود در خود لیست مربوط می شود. این بدین معنا است که آنها منبع داده های موجود در لیست می باشند. این خصوصیت ROW SOURCE می تواند از جدول یا فرم پرس و جوی (Query) دیگری باشد. در مثال زیر ما یک فرم پرس و جوی جدید برمبنای tblProducts   و tblCategory  و با استفاده از QUERY BUILDER ایجاد می کنیم. برای این منظور از خصوصیت ROW SOURCE مربوط به PROPERTY SHEET استفاده می شود. هدف از فرم پرس و جو، ایجاد و تولید لیستی از تمامی محصولات موجود در دسته 1 (Stationery) می باشد.

  1. در PROPERTY SHEET بر روی خانه ROW SOURCE کلیک کنید. این خصوصیت درست در زیر خصوصیت CONTROL SOURCE از DATA TAB قرار دارد. یک علامت سه نقطه در لبه سمت راست خانه مربوطه قرار دارد. بر روی آن کلیک کنید تا Query Builder باز شود.

2- در کادر مکالمه SHOW TABLE، بر روی tblProducts  و tblCategory کلیک کنید. برای این منظور بر روی هرکدام از اسامی موجود در کادر مکالمه دبل کلیک کنید.

  1. در کادرمکالمه SHOW TABLE بر روی CLOSE کلیک کنید.
  2. از tblProducts ، دو آیتم itemId و itemName را انتخاب کنید. سریعترین راه برای اینکار، دبل کلیک کردن بر روی هرکدام از اسامی فیلدها در دیاگرام جدول tblProducts  می باشد.
  3. سپس از tblProducts، گزینه های categoryId  و categoryName  را انتخاب کنید.
  4. در سطر CRITERIA از ستون categoryId، عبارت =1 را وارد کنید.
  5. سپس بر روی آیکون CLOSE در قسمت CLOSE GROUP از DESIGN RIBBON کلیک کنید.
  6. سپس از شما سوال می شود تا فرم پرس و جوی مزبور را بعنوان یک SQL Statement در خصوصیت ROW SOURCE ذخیره کنید. در جواب پیغام نمایش داده شده (DO YOU WANT TO SAVE THE CHANGES MADE TO THE SQL STATMENT AND UPDATE THE PROPERTY?) بر روی YES کلیک کنید.

 

سفارشی ساختن کمبوباکس

شکل 4: Query Builder

 

در این مرحله می توانید مشخص کنید که کدام فیلد به کنترل کمبو باکس متصل شود. با استفاده از این مکانیزم، مقدار موجود در لیست کمبو باکس، در فیلد مربوط به فرمهایی که در زیر RECORD SOURCE قرار دارند، ذخیره می شود. در این مثال، ما اینکار را بر روی اولین ستون انجام می دهیم(فیلد itemId). برای این منظور خصوصیت  BOUND COLUMN را بر روی مقدار 1 تنظیم می کنیم. از آنجایی که این مقدار، مقدار پیش فرض این خصوصیت است، نیازی به تغییر آن نیست. با این وجود دانستن نحوه انجام اتصال فیلد به کنترل کمبوباکس می تواند مفید باشد.

مرحله 4: قالب بندی لیست کمبوباکس

در این مرحله بر روی لیستی کار می کنیم که توسط کمبوباکس نمایش داده می شود. اکنون می خواهیم خصوصیاتی را تنظیم کنیم که در آن مشخص می کند کمبوباکس باید چند ستون داشته باشد، آیا هر ستون دارای عنوان باشد یا خیر، پهنای هر ستون و نیز پهنای کل لیست چقدر باید باشد.

  1. از صفحه  PROPERTY   برگه FORMAT  را انتخاب کنید.
  2. خصوصیت COLUMN COUNT را بر روی مقدار 4 تنظیم کنید. این مقدار به اکسس می گوید که چهار ستون در این لیست وجود دارند. اگرچه، در مراحل بعدی نشان می دهیم که نیازی نیست تمامی این ستونها نمایش داده شوند.
  3. خصوصیت COLUMN WIDTH را به این صورت  تنظیم کنید: 0cm;3cm;0cm;3cm. هر عدد نمایانگر پهنای هر ستون می باشد. همانطور که مشاهده می کنید، ستون 1 تا 3 بر روی مقدار 0 تنظیم شده اند(ItemId and CategoryId) بنابراین آنها را در لیست مخفی می کنیم. پهنای ItemName و CategoryName  بر روی 3cm تنظیم شده اند. نکته جالب این است که از آنجایی که ItemName اولین ستون قابل مشاهده است، مقدار این فیلد در قسمت متنی کنترل نمایش داده می شود(حتی در کمبوباکسی به فیلد ItemId متصل می شود).
  4. اگر می خواهید که لیست مربوطه عناوین ستونها را نمایش دهد، خصوصیت COLUMN HEAD را بر روی مقدار YES تنظیم کنید. با انجام اینکار ممکن است بخواهید فرم پرس و جوی (query) زیرین را به گونه ای تنظیم کنید تا عناوین ستون به جای ItemName و CategoryName بصورت Item Name و Category Name نمایش داده شوند. برای این منظور باید سطر فیلد را در Query Builder بصورت زیرتغییر دهید.                   Item Name:ItemName. این دستور نام اصلی فیلد را (که بعد  از کاراکتر : قرار دارد) برای یک نام مستعار( که قبل از کاراکتر : قرار دارد) جایگزین می کند. البته شما باید مجددا به مرحله قبل بازگشته و Query Builder را از خانه ROW SOURCE مجددا باز کنید تا اینکار انجام شود.
  5. خصوصیت LIST WIDTH را به 6cm تغییر دهید. این مقدار کل اندازه پهنای Item Name (3cm) و Category Name ( 3cm) می باشد که ما در مرحله 3 تنظیم کردیم. اکنون لیست ما از پهنای اصلی خود کنترل کمبو باکس نیز پهن تر است.
  6. اکنون بهتر است که یک اسم با معنی برای کمبوباکس خود انتخاب کنیم. از PROPERTIES SHEET آیتم OTHER TAB را انتخاب کنید و نام خصوصیات را ctlItem قرار دهید.
  7. در خاتمه خصوصیت CAPTION مربوط به برچسب کمبوباکس را تنظیم می کنیم. بر روی برچسب موجود در  FORM DESIGN GRID کلیک کنید تا انتخاب شود. سپس بر روی FORMAT TAB کلیک کنید و خصوصیت CAPTION را به Item تغییر دهید.

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

 

بازگشت به صفحه اصلی آموزش پیشرفته اکسس

 

طراحی سایت و سئو توسط ضابط