آموزش ماکرو نویسی در اکسس، کاربردها و بهترین ماکروها

ماکرو (Macro) ابزاری برای خودکار کردن کارها و وظایف است و عملکرد فرم ها، گزارش ها و کنترل ها را بهبود می دهد.
باید گفت ماکرو دراکسس برای خودکار کردن کارهای تکراری استفاده میشود. با ماکرو میتوانید بدون نوشتن کدهای پیچیده، مشخص کنید هنگام کلیک روی یک دکمه یا باز شدن یک فرم چه کاری انجام شود.
کاربردهای مهم ماکرو
- باز کردن فرم یا گزارش
- بستن فرمها
- اجرای پرسوجو
- جستوجوی یک رکورد
- اعمال فیلتر
- نمایش پیام
- چاپ گزارش
- رفتن به یک رکورد جدید
- ذخیره اطلاعات
- اجرای چند کار پشت سر هم
- کنترل بعضی رویدادهای فرم و دکمه
ساخت یک ماکروی ساده
برای ساخت ماکرو:
- وارد تب Create یا ایجاد شوید.
- گزینه Macro را انتخاب کنید.
- از قسمت Add New Action یک عملیات انتخاب کنید.
- تنظیمات آن عملیات را مشخص کنید.
- ماکرو را ذخیره کنید.
مثلاً برای باز کردن یک فرم میتوانید از عملیات:
OpenForm
استفاده کنید.
سپس نام فرم موردنظر را مشخص کنید.
اجرای ماکرو با دکمه
یکی از رایجترین کاربردها این است که یک دکمه روی فرم بسازید و با کلیک روی آن ماکرو اجرا شود.
مثلاً:
کلیک روی دکمه «لیست مشتریان» → باز شدن فرم مشتریان
برای این کار در ویژگیهای دکمه، رویداد:
On Click یا هنگام کلیک
را انتخاب کرده و ماکرو را به آن متصل کنید.
نمایش پیام
برای نمایش یک پیام میتوانید از:
MessageBox
استفاده کنید.
مثلاً بعد از ثبت اطلاعات پیام زیر نمایش داده شود:
اطلاعات با موفقیت ثبت شد.
این قابلیت برای فرمهای ورود اطلاعات بسیار مفید است.
اجرای Query با ماکرو
اگر یک Query یا پرسوجو دارید، میتوانید آن را با ماکرو اجرا کنید.
مثلاً:
دکمه محاسبه فروش → اجرای پرسوجو → نمایش نتیجه
برای این کار بسته به نوع پرسوجو میتوان از عملیات مناسب اجرای Query استفاده کرد.
استفاده از شرط در ماکرو
در ماکروها میتوان شرط نیز تعریف کرد.
مثلاً:
اگر مبلغ فروش بیشتر از 10 میلیون بود، پیام نمایش بده.
یا:
اگر فیلد نام خالی بود، اجازه ادامه نده.
بنابراین ماکرو فقط مجموعه دستورات ساده نیست و میتواند براساس شرایط مختلف رفتار متفاوتی داشته باشد.
ماکروهای جاسازیشده
در Access میتوانید ماکرو را مستقیماً داخل یک فرم، گزارش یا دکمه قرار دهید. به این نوع:
Embedded Macro یا ماکروی جاسازیشده
گفته میشود.
برای مثال:
Form → Button → On Click → Embedded Macro
این روش برای پروژههای کوچک بسیار مناسب است.
Macro با VBA چه تفاوتی دارد؟
| ماکرو | VBA |
|---|---|
| یادگیری سادهتر | حرفهایتر |
| نیاز کمتر به کدنویسی | نیازمند برنامهنویسی |
| مناسب کارهای معمول | مناسب عملیات پیچیده |
| سریع برای ساخت فرم | انعطافپذیری بیشتر |
| مناسب مبتدیان | مناسب کاربران پیشرفته |
اگر تازهکار هستید، ابتدا Macro را یاد بگیرید و بعد سراغ VBA یا ویژوال بیسیک برای برنامهها بروید.
چند عملیات کاربردی ماکرو
OpenForm→ باز کردن فرمOpenReport→ باز کردن گزارشCloseWindow→ بستن پنجرهGoToRecord→ رفتن به رکوردFindRecord→ پیدا کردن رکوردApplyFilter→ اعمال فیلترMessageBox→ نمایش پیامSetValue→ تعیین مقدارRunMenuCommand→ اجرای یک فرمان از منو
ساخت یک ماکرو
می خواهیم یک ماکرو ساده بسازیم که با کلیک روی دکمه دستور یک فرم ایجاد می شود. برای این کار با یک پایگاه داده و یک فرم با نامfrmEmployeeData شروع می کنیم، در این فرم دو تب وجود دارد.

در فرم یک دکمه اضافه می کنیم که به کاربر اجازه می دهد تا اطلاعات همه شغل ها را باز کند.

به تبDesign یا طراحی فرم می رویم و یک دکمه از منوی کنترل ها به فرم اضافه می کنیم.
کادر Command Button Wizard باز می شود. چند روش برای ساخت عملیات ماکرو وجود دارد اما ساده ترین راه اینه که به راحتی از Commander Button Wizard استفاده کنیم.

برای کارهای معمول مانند باز کردن فرم، از لیست Categories (دسته بندی ها) گزینه Form Operations و از لیست Actions (عملیات ها) گزینه Open Form (باز کردن فرم) را انتخاب می کنیم و مانند تصویر زیر گزینه Next را می زنیم.
.
باید مشخص کنیم کدام فرم با این دکمه باز شود. اینجا گزینه frmJobs را انتخاب می کنیم و Next را می زنیم.

در این صفحه دو گزینه داریم: گزینه اول اینه که فرم باز شود و یک رکورد خاص را پیدا کنیم و درگزینه دوم فرم با نمایش تمام رکوردهای ثبت شده باز می شود. گزینه دوم را انتخاب می کنیم و روی گزینه Next کلیک می کنیم.

می توانیم برای دکمه دستور یک تصویر قرار دهیم یا یک متن دلخواه بنویسیم. در اینجا متن View Jobs را برای نمایش روی دکمه دستور تایپ می کنیم و Next را می زنیم.

همانطور که در تصویر زیر می بینیم، می توانیم یک نام معنی دار برای دکمه دستور تعیین کنیم. با این نام می توانیم دکمه را در کدها یا ماکروهای دیگر هم استفاده کنیم. در اینجا نام cmdViewJobs را می نویسم و در نهایت روی دکمه Finish کلیک می کنیم.

حالا به پنجره مشاهده فرم می رویم.
همانطور که می بینید دکمه View Jobs به فرم اضافه شده است. روی آن کلیک می کنیم.

یک فرم باز می شود ولی هیچ اطلاعاتی در آن وجود ندارد.

به قسمت طراحی فرم frmEmployeeData برمی گردیم. دکمه دستور را انتخاب می کنیم و سپس به تب Event (رویداد) در پنل Properties Sheet در سمت راست می رویم.
می بینیم که ماکرویی با ویزارد ساختیم روی رویداد On Click جاسازی شده است. اگر بخواهیم ماکرو را تغییر دهیم، روی دکمه … کلیک می کنیم تا ماکرو باز شود.

صفحه طراحی ماکرو باز می شود و در سمت راست پنل Action Catalog قابل مشاهده است. در اینجا همه عملیات ها در پوشه های داخلی در قسمت Actions مشخص هستند. گزینه هایData Entry ، Data Import / Export و … دیده می شوند. در سمت چپ در قسمت اصلی یک ماکرو قرار دارد. این ماکرو فقط شامل یک عملیات است و با کلیک بر روی عملیات می توانید بقیه خصوصیات آن را مشاهده کنید.

در قسمت Form Name، نام فرم مرتبط نوشته شده است، برای دیدن دیگر فرم های موجود در پایگاه داده می توانیم روی فلش آن کلیک کنیم. شیوه نمایش فرم از قسمت View قابل تنظیم است و می توانیم آن را در نماهای Form ، Design، Print باز کنیم.

در قسمت Where Condition می توان یک فیلتر یا یک شرط برای Where تعیین کرد.
مقدار فیلد Data Mode را تغییر می دهیم زیرا فرم frmJobs رویAdd تنظیم شده که فقط اجازه اضافه کردن رکوردهای جدید را می دهد. می توانیم آن را با تغییر به گزینه Edit دوباره در ماکرو تعریف کنیم.

حالا ماکرو خود را ذخیره می کنیم. پنجره طراحی ماکرو را می بندیم و به صفحه طراحی فرم برمی گردیم.
دوباره روی دکمه View Jobs کلیک می کنیم.

با کلیک روی این دکمه، فرم frmJobs باز می شود و می توانیم همه شغل های موجود در پایگاه داده را ببینیم.


با سلام و احترام- من یه کسب و کار کوچک راه اندازی کردم که روزانه نیاز به ثبت پیش فاکتور و صدور فاکتور دارم - میخوام در اکسس این کارو انجام بدم اگه راهنمایی بفرمایید ممنون میشم
پاسخ