accdbExe

accdbExe
لینک سایر سایت‌های آموزش Access

اطلاعات تماس و ارسال نظر

شروع کار از: فروردین 1402

در این پروژه به کمک Declare PtrSafe Function، تابعی از ویندوز را فراخوانی می‌کنیم که می‌تواند پنجره Access را هنگام اجرای برنامهVBA مخفی کند. برای فراخوانی Function ShowWindow، از user32.dll، باید دستوراتی را در بخش Module، بنویسیم، از آنجا که نحوه برخورد با کدها در نسخه‌های 32 بیتی و 64 بیتی کمی با هم متفاوت است از عبارت IF# استفاده کرده ایم که در واقع شرط هنگام ترجمه، یا کامپایل کدهای VBA را بررسی می‌کند. عبارت Declare PtrSafe Function برای فراخوانی در Microsoft Office Access vabی 64 بیتی، و عبارت عبارت Declare Function برای فراخوانی در Microsoft Office Access vabی 32 بیتی، کاربرد دارد. پس از آن هر جا که کدنویسی VBA، خواسته باشیم پنجرۀ Access را مخفی کنیم از عبارت ShowWindow Access.hWndAccessApp, 0  و هرجا که خواسته باشیم پنجرۀ Access را نمایان کنیم از عبارت ShowWindow Access.hWndAccessApp, 5 استفاده می‌کنیم.


یک Module که محتوی کد VBA آن ، به شرح زیر است، ایجاد کنید:

Option Compare Database


#If Win64 Then
Declare PtrSafe Function ShowWindow Lib "user32.dll" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
#Else
Declare Function ShowWindow Lib "user32.dll" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
#End IF


یک فرم با محتوای زیر، ایجاد کنید:

Option Compare Database


Private Sub Command0_Click()
Application.Quit acQuitSaveNone
End Sub


Private Sub Command1_Click()
MsgBox "Message", , "message"
End Sub


Private Sub Form_Close()
'ShowWindow Access.hWndAccessApp, 5
Application.Quit acQuitSaveNone
End Sub


Private Sub Form_Load()
ShowWindow Access.hWndAccessApp, 0

Labelcommand.Caption = Command()

End Sub