برای بستن برنامه اکسس هم میتونیم از کدهای VBA استفاده کنیم و هم میتونیم از ماکرو در اکسس بهره ببریم . البته در ماکرو امکان سوال کردن از کاربر نداریم مگر اینکه خودمان فرمی طراحی کنیم و در آن شخصی سازی انجام دهیم ، بنابریان برای استفاده از ماکرو کارمان بسیار راحخت است .
استفاده از ماکرو برای خروج از اکسس
کنترل مورد نظر خود را در نمای طراحی انتخاب می کنیم .
روی سه نقطه کنار رویداد OnClick کنترل کلیک می کنیم .
حالا در محیط ماکرو شروع به تایپ نموده و بنویسید QuitAccess و اینتر را بزنید .
و این اکشن یک آرگومان دارد مبنی بر ذخیره کردن .
البته برای این مورد استفاده از ماکرو پیشنهاد نمی شود و پیشنهاد میکنیم از کدهای VAB زیر استفاده نمائید .
استفاده از دستورات VBA برای بستن فایل اکسس
برای بستن فایل اکسس یهترین راه این است که در جایی از فرم اصلی برنامه اکسس خود یک باتن قرار دهید و در رویداد OnClick آن کد زیر را وارد نمائید.
1- در جایی مناسب از فرم خود یک کنترل قرار دهید مانند تصویر زیر.
2- به محیط کدنویسی و رویداد OnClick کنترلی که وارد کرده اید بروید.
3- کد زیر را وارد نمائید.
Docmd.Quit
توضیح : مراحل بالا بدون هیچ پیغامی به کاربر اقدام به بستن فایل اکسس می کند .
نمایش پیغام قبل از بسته شدن اکسس
همان مراحل بالا را انجام دهید با این تفاوت که از کد زیر باید استفاده کنید .
Dim str As String str ="در حال خروج از برنامه هستید ، اطمینان دارید؟" Select Case MsgBox(str, vbYesNo Or vbQuestion Or vbMsgBoxRight, "Officebaz.ir") Case vbYes Docmd.Quit Case vbNo cancel=True End Select
حالا بک مشکلی وجود دارد و آن هم این که احتمال دارد تنظیمات حروف فارسی در سیستم مقصد انجام نشده باشد . که در این صورت پیغام فارسی کدهای بالا درست نمایش د اده نمی شود . برای حل این مسدله هم می توانید از برنامه ای که آفیس باز به صورت اختصاصی و رایگان عرضه کرده است بهره ببرید.
[download id=”54955″]
احتمال بسته شدن اکسس از کنترلهای برنامه اکسس
از آنجا که دکمه بسته شدن خود اکسس در برنامه شما نمایان است و احتمال دارد کاربر بدون در نظر گرفتن برنامه شما ، اقدام به کلیک روی آن کند باید کاری کنیم که در زمان بسته شدن اکسس هم پیغام مناسبی نمایش داده شود . برای این مورد هم مراحل زیر را دنبال کنید .
- در رویداد OnUnloud فرم اصلی خود کدهای بالا را وارد نمائید .
این کار باعث می شود زمانی که فرم اصلی به هر دلیلی در حال بسته شدن است ، به کاربر پیغامی نمایش داده شود که شما در حال خروج از اکسس هستید.
ویدیو آموزشی پیغام قبل از بسته شدن فرم اکسس
یک مشکل که داره این وقتی که اکسس ببندیم پیغام که میدهد اگر روی noهم کلیک کنیم بازام اکسس میبند
حق با شماست باید ادامه کد جایی که NO انتخاب میشه بنویسید
cancel=true
ممنون از یادآوری کد رو داخل مطلب اصلاح کردم
مشکل دومی اینکه وقتی با دکمه تعریف شده برای خروج اقدام میشه پیغام خروج میده و وقتی که تایید زده شد مجدداً even unload پیغام دوم تایید خروج را فعال میکند. به عبارتی برای خروج از طریق دکمه تعریف شده ۲بار باید تایید انجام شود که خوشایند نیست.
سلام
ببینین ما سه تا حالت داریم برای بسته شدن نرم افزار
1- کاربر روی دگمه بسته شدن اکسس کلیک میکنه
2- کاربر روی دکمه بسته شدن فرم کلیک میکنه
3- کاربر روی دکمه ای که در فرم ما برای بسته شدن تعبیه کرده ایم کلیک میکنه
اگر ما در رویداد OnUnload فرم کد چندخطی بالا رو بنویسیم و در رویداد Onclick دکمه ای که خودمان قرار داده ایم بنویسیم Docmd.Quit مشکلی شما می فرمائید به وجود نمیاد . حالا نمیدونم شما کجای کار رو اشتباه می کنید . اگر نشد بفرمائید تا نمونه برای دانلود قرار بدم
سلام استاد
من مشکلم حل نشده، نمونه فایل را به ایمیل حضرتعالی ارسال کردم
لطفاً بررسی بفرمایید
سپاس
سلام
فایل نمونه جهت دانلود قرار داده شد
یه نگاه بندازین و ایراد کار خودتون رو پبدا کنین
سلام وقت بخیر من از فرمول بالا در کد در برنامه خودم استفاده کردم و جواب داد البته بعد از کار کردن با برنامه و گذشتن مدت زمان موقعی که بر روی کلید خروج کلید میکنم برنامه اکسس هنگ می کند و امکان خروج و یا هیچ کاری وجود ندارد به نظر شما ایراد کار از کجاست ممنون میشم راهنمایی کنید