بازدید: ٢٢٣۶

ایجاد یک Dialog Form (آموزش پیشرفته اکسس)

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

Dialog Form ها در اکثر برنامه های سفارشی شده بانک اطلاعاتی اکسس وجود دارند. در مقام یک برنامه نویس، ما آنها را به گونه ای ایجاد می کنیم که برنامه های ما بتوانند به کمک آنها با کاربران ارتباط برقرار کنند. ساده ترین حالت یک کادر مکالمه، حالتی است که در آن یک پیغام نمایش داده می شود. این نوع کادرهای مکالمه می توانند توسط تابع MsgBox موجود در VBA یا اکشن ماکرو MsgBox ایجاد شوند. سایر کادرهای مکالمه قدری بیشتر تغییر داده شده و سفارشی شده اند، بخصوص هنگامی که برنامه نیاز دارد تا کاربر اطلاعاتی همانند پارامترهای یک فرم پرس وجو (Query) را ارائه دهد. یک روش برای انجام اینکار این است که یک فرم استاندارد اکسس ایجاد کنیم و خصوصیات آن را به گونه ای تغییر دهیم که آن را به یک Dialog Form تبدیل کنیم.

 

ایجاد دیالوگ فرم آموزش اکسس

شکل1: این Dialog Form  پارامترهای تاریخی را نمایش می دهد که باید برای محدودسازی رکوردهای نمایش داده شده در یک گزارش استفاده شوند. 

 

برای ایجاد یک Dialog Form  همانند آنچه که در شکل 1 مشاهده کردید، کار را با ایجاد یک فرم نامحدود (Unbound) شروع می کنیم. برای این منظور بر روی آیکون Form Design در گروه Forms نوار CREATE کلیک کنید. اصطلاح نامحدود (Unbound) بدین معنا است که فرم به یک جدول خاص و با فرم های مرسوم محدود نمی شود. اطلاعاتی که جمع آوری می شوند موقتی هستند و نیازی به ذخیره سازی آنها نمی باشد.

هنگامی که فرم جدیدی در نمای design باز می شود، صفحه نمایش یک شبکه طراحی خالی را در پنجره اصلی نمایش می دهد که انواع کنترل های فرم موجود در گروه CONTROLS از نوار DESIGN نیز در آن قرار دارند. مقادیر نمایش داده شده در کمبوباکس ها، در خصوصیت Row Source تعریف می شوند. 

در این پست می خواهیم تا ظاهر و عملکرد یک فرم معمولی را به یک Dialog Form تغییر دهیم. برای این منظور به تغییر چند خصوصیت کلیدی از فرم نیاز داریم. دو تا از مهمترین خصوصیتهایی که باید با آنها آشنا شوید، خصوصیت های POP UP و MODAL هستند. 

خصوصیت POP UP برای این منظور است تا هنگامی که Dialog Form باز می شود، به جای یک فرم فول سایز بصورت یک کادر Pop up ظاهر شود. در غیر اینصورت به جای dialog form، تنها بصورت یک فرم عادی ظاهر شود. به همین علت این خصوصیت همیشه باید روی YES تنظیم شده باشد. تنظیم خصوصیت MODAL بر روی YES باعث می شود تا کاربر نتواند Dialog form را با کلیک بر روی آیکون نوار آفیس یا کنترل فرم رد کند. در این حالت برنامه شما منتظر دریافت پاسخ از طرف کاربر باقی می ماند. اکسس تا زمانی که پاسخی از طرف کاربر دریافت نکند یا dialog form بسته نشود، کاری انجام نمی دهد. برای دسترسی به این خصوصیات می توانید به برگه OTHER موجود در صفحه خصوصیات مراجعه کنید.

 

ایجاد دیالوگ فرم آموزش اکسس

شکل 2: تنظیم خصوصیات POPU UP و MODAL بر روی YES.

 

اگر نگاهی دوباره به dialog form موجود در شکل 1 بیاندازید، متوجه می شوید که هیچ دکمه پیمایش یا امکان انتخاب رکورد که معمولا به صورت پیش فرض در فرم ها وجود دارند، دیده نمی شود. برای این منظور کافی است به برگه Format موجود درPROPERTY SHEET مراجعه کنید و خصوصیات NAVIGATION BUTTONS و RECORD SELECTORS را بر روی NO تنظیم کنید. 

همچنین ممکن است متوجه شده باشید که dialog form ما دارای حاشیه ای است که مخصوص dialog form ها می باشد. یکی از قابلیت های آن این است که کاربر نمی تواند اندازه آن را تغییر دهد. برای این منظور کافی است که خصوصیت BORDER STYLE را بر روی DIALOG تنظیم کنید. 

یکی دیگر از خصوصیاتی که ممکن است بخواهید آن را تغییر دهید، خصوصیت SCROLL BARS است. توصیه ما به شما این است که آن را بر روی NEITHER تنظیم کنید. از آنجایی که شما دیگر نیازی به پیمایش dialog form ندارید، اکسس یک خط کلفت سفید در پایین فرم قرار می دهد(البته اگر تغییر داده نشود). البته اگر شما رنگ پس زمینه دیگری را برای فرم خود انتخاب کنید، این حالت ممکن است با شکل و شمایل خیلی بدی به نظر برسد.

توصیه می شود که عنوان (Caption ) فرم را نیز تغییر دهید. این خصوصیت در بالای نوار dialog form قرار دارد. در شکل 1، مقدار این خصوصیت را Please Enter a Date Range قرار دادیم. راه دیگر انتخاب و تغییر عنوان شما این است که عنوان مورد نظر خود را در خصوصیت CAPTION که اولین خصوصیت از برگه FORMAT می باشد، وارد کنید.

در مثال فوق برای ایجاد و استفاده از dialog form ، در هنگام کلیک بر روی دکمه موجود، یک کد VBA اجرا می شود. کد مربوطه یک دستور WHERE از برنامه SQL را بر اساس اطلاعات کسب شده از داده های ورودی کاربر بر روی dialog form ایجاد می کند. در زیر می توانید دستورات آن را مشاهده کنید:

 

دیالوگ فرم اکسس پیشرفته

 

همانطور که مشاهده می کنید، هر مقدار مربوط به کمبو باکس در یک متغیر موجود در 4 خط اول دستورات، ذخیره می شود. این متغیرها به دو رشته تقسیم می شوند که حاوی دستورات SQL هستند. از آنجایی که دستورات SQL را در رشته strSQL ذخیره کرده ایم، این مقدار می تواند بصورت پارامتر WHERE متد DOCmd.OpenReport گذاشته شود: 

 

اکسس پیشرفته

 

سپس هنگامی که گزارش ما باز می شود، تنها رکوردهایی نمایش داده می شوند که مطابق با شرایط قرار داده شده در دستور WHERE برنامه SQL باشند. در این حالت، تمامی رکوردهای زیر، رکوردهای بین ژانویه و دسامبر 2011 هستند (شکل 1) . 

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

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