بستن تمام فرم ها در اکسس
- مشاهده: ۲۹۳۹
بسم الله الرحمن الرحیم
سلام
خب در ادامه مباحث آموزشی که مدتی هست پیرامون مجموعه نرم افزاری آفیس و برنامه اکسس هست، در این آموزش قصد دارم تا نحوه بستن تمام فرم های باز در فایل اکسس رو با زدن یک کلیک دنبال کنیم
در میان نوشتارهای فارسی در اینترنت آموزشی براش ندیدم لذا گفتم شاید کار دوستان رو راه بندازه
راه اول: استفاده از ماژول (فانکشن)
کدهای زیر رو در یک ماژول قرار بدین
Function CloseAllForms() 'Run a shell command, returning the output as a string 'Published by: http://Access-Training.blog.ir/tag/close all form Dim obj As Object Dim strName As String For Each obj In Application.CurrentProject.AllForms If obj.Name <> "Switchboard" Then DoCmd.Close acForm, obj.Name, acSaveYes End If Next obj End Function
و کد زیر رو در رویداد مورد نظرتون قرار بدین:
CloseAllForms
راه دوم: استفاده از ماکرو
- یک ماکرو ایجاد کنید
- در بخش انتخاب پارامتر، مقدار RunMenuCommand را انتخاب کنید
- سپس در بخش کامند مقدار CloseAll را انتخاب کنید.
- ماکرو را ذخیره و در رویداد مورد نظر فراخوانی کنید
◊ نکته:
پیشنهاد میکنم که ماکروی ایجاد شده را به یک ماژول (فانکشن) تبدیل کنید، چرا که در صورت غیرفعال شدن و عدم اجرای ماکروها در برنامه خود، با مشکلی مواجه نشین
آموزش تبدیل ماکرو به کدهای VBA بزودی ...
بروز رسانی اول
راه سوم: کدنویسی vba
خب کافیه در رویداد مورد نظرتون کد زیر رو بنویسید:
On Error Resume Next DoCmd.RunCommand acCmdCloseAll
◊ نکته:
دقت داشته باشید که خط اول از کد بالا خطایی که اکثرا در اجرای این دستور ایجاد میشود را نادیده میگرد و برای اجرای بهتر کد توصیه میکنم