از صفر تا ۱۰۰ کار با لیست باکس ها در اکسس
سلام . خوشحالم که اینجا هستید و مشغول خواندن مطلب “صفر تا ۱۰۰ کار با لیست باکس ها در اکسس” . حالا این آموزش در مورد چی هست و قرار است چه چیزی را با هم یاد بگیریم؟
خب مطمئنا نیازی به توضیح اضافه ای نیست. امروز می خواهیم راجع به لیست باکس ها در اکسس با هم صحبت کنیم و زیر و بم آنها را با هم بررسی کنیم .
اینکه یک لیست باکس – List Box – چی هست ؟
چه کاربردی برای ما دارد ؟
کجاها می شود از آن استفاده کرد ؟
چه جوری می شود اطلاعات را در آن قرار داد ؟
چه جوری می شود اطلاعات را از آن انتخاب کرد ؟
جه جوری می شود اطلاعات آن را حذف کرد ؟
و اگر بخواهم این سوال ها را همین طور تیتر وار ادامه بدهم شاید تعداد این سوال ها سر از ۱۰ تا و ۱۵ تا و حتی بیشتر در بیاورد . اما خیالت راحت قرار است امروز از صفر تا صد کار با شیئی به اسم لیست باکس را با هم یاد بگیریم .
من علیرضا شهرآئینی هستم . در این مطلب سعی می کنم همه آن چیزی را که در کار با لیست باکس ها به آن احتیاج داری را به شما آموزش بدهم . از مبتدی تا پیشرفته و از صفر تا ۱۰۰ .
آشنایی با کاربرد لیست باکس ها در اکسس
در قدم برویم و ببینیم که وقتی در اکسس صحبت از لیست باکس می کنیم منظورمان چی هست ؟ همانطور که می دانید ما در اکسس اشیای مختلف و متعددی داریم .
از جمله این اشیا می شود به تکس باکس(Text box) ، کمبو باکس(combobox) ، دکمه ها (Button ) ، برچسب ها( Label) اشاره کرد . هر کدام از این اشیا به نوبه خود کار یا کارهای خاصی را انجام می دهند .
لیست باکس ها هم به نوبه خود یکی از چندین و چند نوع اشیایی هستند که ما می شناسیم و می توانیم از آنها در فرم های خود در اکسس استفاده کنیم . اما چه طوری ؟
خوب دوباره به لیست اشیایی که در بالا به آنها اشاره کردیم یک نگاهی بکنید . در بین این اشیا ما شیئی داریم به نام کمبو باکس . کمبو باکس ها در اکسس اشیایی هستند که در خود می توانند یک دسته از اطلاعات را در خود نگه دارند .
حالا چرا از بین این همه اشیا دست روی کمبو باکس ها گذاشته ام ؟ چون کمبوباکس ها شبیه ترین اشیا از لحاظ کارایی به لیست باکس هایی هستند که امروز می خواهیم راجع به آنها صحبت کنیم .
اگر در یک جمله بخواهم این شباهت را بیان کنم می شود گفت که یک لیست باکس در واقع همان کمبو باکس است که به جای اینکه اطلاعات موجود در خود را در حالت پایه مخفی کند آنها را از همان ابتدا به کاربر نمایش می دهد .
یعنی وقتی که ما می خواهیم اطلاعات موجود در یک کمبو باکس را مشاهده کنیم باید بر روی آن کلیک کنیم اما در مورد لیست باکس این قضیه ضرورتی ندارد چون اطلاعات از همان ابتدا برای ما نمایش داده می شوند .
در همین ابتدا یک سوال را مورد بررسی قرار دهیم . اینکه چرا باید از لیست باکس ها استفاده کنیم ؟
در جواب این سوال باید گفت که خیلی از مواقع ما با یک سری از اطلاعات ثابتی سر و کار داریم که کاربر باید از بین آنها یک مورد را برای ما انتخاب و مشخص کند . مثلا ایام هفته ، ماههای سال نمونه ای از این اطلاعات هستند .
حالا به جای اینکه کاربر مجبور باشد که هر بار یکی از این اطلاعات ثابت را برای ما تایپ کند این ایده خوبی خواهد بود که این اطلاعات را در قالب یک لیست در اختیار وی قرار دهیم تا آیتم های مورد نظر را انتخاب کند.
این کار همچنین باعث می شود که هم سرعت کاربر در کار با برنامه ما بالا رود و هم اینکه به نحوی اطمینان پیدا می کنیم که کاربر اطلاعات صحیحی را برای ما انتخاب و وارد می کند.
با کاربرد List box ها آشنا شدیم . در قدم بعدی خواهیم دید که یک لیست باکس از چه بخش هایی تشکیل شده است .
اجزای مختلف لیست باکس ها
به تصویر زیر نگاه کنید .
این تصویری از یک تکس باکس است که بر روی یک فرم قرار دارد . این لیست باکس دارای بخش های مختلفی است که در زیر به آنها اشاره می کنیم .
– بخش Header
این بخش در بالاترین قسمت از یک لیست باکس قرار می گیرد . در این بخش می توان عنوان ستون های مربوط به اطلاعات را در لیست باکس خود درج کرد .
– ردیف ها
یک لیست باکس می تواند دارای یک یا چند ردیف از اطلاعات باشد .
– ستون ها
لیست باکس ها در حالت معمول دارای یک تا دو ستون می باشند . اما در عین حال این قابلیت برای لیست باکس ها وجود دارد که ستون های بیشتری از اطلاعات را در خود نگه داری کند .
اسکرول بار .
به کمک اسکرول بار می توان در داخل لیست باکس جابجا شد تا اطلاعاتی را که در حالت معمول از دید کاربر پنهان است را برای او به نمایش بگذارد .
همه این ها بخش های مختلف یک لیست باکس هستند .
تمامی این بخش ها دارای تنظیماتی اند که هم می توان در محیط اکسس آنها را تنظیم کرد و هم از طریق کد نویسی VBA می توان این کار را انجام داد .
ما در ادامه همین آموزش راجع به هر دو روش با هم صحبت خواهیم کرد .
در اینجا با بخش های مختلف یک لیست باکس آشنا شدیم . در ادامه با هم با انواع لیست باکس ها هم آشنا خواهیم شد .
یک پیشنهاد خواندنی دیگر : لیست باکس ها در برنامه نویسی VBAهمه آنچه که باید بدانید
انواع لیست باکس ها در اکسس
بطور کل ما در اکسس دو نوع لیست باکس داریم .
لیست باکس ها یا به یک جدول و یا کوئری متصل هستند که اطلاعات خودشان را از آنها می گیرند یا اینکه اطلاعاتی را در اختیار آنها قرار می دهند .
این نوع از لیست باکس ها را در اصطلاح لیست باکس های Bound شده می گویند . یعنی لیست باکس مورد نظر به جایی متصل است .
در مقابل ما لیست باکس هایی را داریم که به جای خاصی متصل نیستند . یعنی نه اطلاعات خود را از جایی می گیرند و نه اطلاعاتی را در اختیار جدول یا کوئری قرار می دهند .
این نوع از لیست باکس ها را در اصطلاح لیست باکس های UnBound شده می گوییم .
این نوع از لیست باکس ها هم برای خود دارای کاربردهایی هستند که در ادامه همین آموزش آنها را نیز مورد قرار خواهیم داد.
تا به اینجا هم با بخش های مختلف ایست باکس ها و هم با انواع آنها آشنا شدیم .
در ادامه یاد خواهیم گرفت که چه راهها و روش هایی وجود دارد که به کمک آنها می توانیم یک لیست باکس را ایجاد کنیم.
چه جوری لیست باکس ها را ایجاد کنیم ؟
برای ایجاد کردن لیست باکس ها اکسس راهها و روش های مختلفی را در اختیار ما قرار می دهد . در اینجا با هم به بررسی یک به یک این روش ها می پردازیم .
الف). ایجاد لیست باکس ها از طریق قابلیت Wizard
ساده ترین راهی که به کمک آن می توان یک لیست باکس را ایجاد کنیم استفاده از قابلیت Wizard می باشد .برای اینکه بتوانیم یک لیست باکس را ایجاد کنیم باید مراحل زیر را دنبال کنیم
۱٫ یک فرم را ایجاد کرده و آن را در حالت طراحی یا Design قرار دهید .
۲- به سربرگ Design بروید و از داشبورد controls گزینه List box را انتخاب کنید و آن را روی فرم خود قرار دهید.
۳-بعد از این کار بلافاصله یک فرم مانند تصویر زیر برای شما به نمایش در می آید .
این پنجره از شما چه می خواهد ؟ در این پنجره باید تعیین کنید که لیست باکس شما قرار است اطلاعات خودش را از کجا باید دریافت کند . برای این کار دو گزینه پیش روی شما قرار دارد .
گزینه اول را که انتخاب کنید به برنامه می گویید که اطلاعات مورد نظر شما برای نمایش در قالب یک لیست باکس در داخل یک جدول و یا کوئری قرار دارد .
اما اگر گزینه دوم را انتخاب کنید به برنامه می گویید که می خواهید اطلاعات مورد نظرتان را برای نمایش دادن در لیست باکس خودتان تایپ کنید .با انتخاب هر کدام از این گزینه ها مسیرهای متفاوتی برای شما نمایش داده خواهد شد .
بیایید با هم هر دوی این مسیرها را دنبال کنیم . برای شروع کار من گزینه اول را انتخاب کرده و بر روی دکمه Next کلیک می کنم . برنامه برای من فرم زیر را نمایش می دهد .
در این پنجره باید تعیین کنید اطلاعات مورد نظر شما در جدول قرار دارد یا در یک کوئری خاص . در قسمت پایین این پنجره که به نام View نام گذاری شده است می توانید این کار را انجام دهید .
اگر اطلاعات شما در یک جدول قرار دارد گزینه Tables را بزنید تا برنامه بلافاصله در کادر بالا یک لیست از جدول های موجود را به شما نمایش دهد. در این کادر بر روی جدول مورد نظر خود کلیک کنید .
اگر اطلاعات مورد نظر شما در یک کوئری قرار دارد بر روی گزینه Queries کلیک کنید تا برنامه لیست تمام کوئری های موجود را به شما نمایش دهد . در این حالت هم می توانید بر روی کوئری مورد نظر خود کلیک کنید تا انتخاب شود .
گزینه سومی هم به نام Both وجود دارد که بطور همزمان تمامی جدول ها و گزارش ها را برای ما لیست می کند . البته استفاده از یکی از دو حالت قبلی برای ما می تواند مفیدتر باشد .
وقتی منبع اطلاعات مورد نظر خود را انتخاب کردیم بر روی Next کلیک می کنیم تا به مرحله بعد برویم .
در این پنجره دو تا ستون داریم . در ستون سمت چپ که به نام Available Field نام گذاری شده است برنامه لیستی از تمامی فیلدهای موجود در جدول یا کوئری را که در قسمت قبل به برنامه معرفی کردیم را برای ما به نمایش می گذارد .
در این مرحله چه باید چه بکنیم ؟ خیلی ساده است اول بر روی فیلدی که می خواهیم اطلاعات موجود در آن در داخل لیست باکس ما قرار گیرد یک کلیک می کنیم تا انتخاب شود .
بعد با استفاده از آیکون فلشی که در بین دو تا کادر قرار دارند این فیلد را به کادر سمت چپ منتقل می کنیم .تصویر زیر نمایی از انجام این کار را بصورت انیمیشن نمایش می دهد .
خب تا به اینجای کار ما اصل کاری را که مورد نظرمان داریم را انجام دادیم . یعنی اطلاعاتی را که قرار است در قالب یک لیست باکس برای ما به نمایش درآید را انتخاب کردیم .
در ادامه برخی از تنظیمات جانبی دیگر برای لیست باکس خود را انجام می دهیم. برای ادامه کار کافی است بر روی دکمه Next کلیک کنید تا به فرم بعد هدایت شوید .
در این پنجره برای برنامه تعیین می کنیم که اطلاعات ما که قرار است در داخل لیست باکس نمایش داده شوند به چه نحو چیدمان شوند . یعنی بر اساس حروف الفبا از بالا به پایین یا از پایین به بالا چیده شوند.
بعد تعیین نحوه چیدمان داده ها در لیست باکس بر روی دکمه Next که کلیک کنید به فرم زیر برای شما نمایش داده می شود . .
در این فرم دو کار می توانید انجام دهید . اول اینکه با استفاده از موس خود می توانید عرض ستو نهای حاوی اطلاعات در لیست باکس خود را تعیین کنید . این حالت بیشتر زمانی کاربرد دارد که لیست باکس شما بیش از یک ستون از اطلاعات را داشته باشد .
دومین کار هم این است که با استفاده از تیک گزینه Hide Key Column می توانید از برنامه بخواهید که کلید اولیه مربوط به هر آیتم را در لیست باکس نمایش بدهد یا نه ؟
بعد از تنظیمات این پنجره هم بر روی دکمه Next کلیک کنید تا به فرم زیر هدایت شوید .
این پنجره آخرین مرحله از کار است . در این پنجره می توانید برای لیست باکس خود یک عنوان را انتخاب کنید . مثلا من در اینجا لیست باکس خود را با عنوان “ایام هفته ” تعیین کرده ام .
با زدن دکمه Finish تمامی مراحل کار با موفقیت به اتمام رسیده و لیست باکس ما بر روی فرم قرار می گیرد .
این اولین روشی بود که با کمک قابلیت ویزارد در اکسس توانستیم اطلاعات خود را در قالب یک لیست باکس به کاربر نمایش دهیم . البته در روش ویزارد مسیر دیگری هم برای ایجاد List Box وجود دارد که در ادامه راجع به آن هم صحبت خواهیم کرد .
اطلاعات لیست باکس را تایپ کنید
در روش دوم برای ایجاد یک لیست باکس می توانیم خودمان اطلاعاتی را که مد نظرمان است که در قالب لیست باکس نمایش داده شود را بصورت مستقیم تایپ کنیم .
برای این کار مجددا به سراغ ویزارد می رویم . در شروع ویزارد ایجاد لیست باکس پنجره ای برای ما نمایش داده می شود که باید منبع اطلاعات مورد نظر خود را برایش تعریف کنیم .
راجع به گزینه اول که با هم صحبت کردیم . حالا اگر گزینه دوم را انتخاب کنیم مسیر زیر پیش روی ما قرار می گیرد
اینجا باید دو تا تنظیم را انجام دهیم .
در کادر مربوط به Number of Column باید تعداد ستون های مورد نظر خود را برای لیست باکس مشخص کنیم .
بعد از این کار در قسمت پایین باید اطلاعات مربوط به هر ستون را در اختیار اکسس قرار دهیم .
با همین دو تا کار ساده اکسس یک لیست باکس را در اختیار ما قرار می دهد که اطلاعات مورد نظر ما در داخل آن نمایش داده می شود .
اینجا مبحث مربوط به لیست باکس ها در اکسس را به پایان می بریم . البته که تا به اینجا فقط یادگرفتیم که چطور می شود یک لیست باکس را ایجاد کنیم .
اینکه چطور از لیست باکس و اطلاعات مربوط به آن می شود استفاده کرد موضوع مطلب جداگانه ای است که به زودی درباره آن مطلب جداگانه ای را منتشر خواهم کرد .