نمونه شماره 2
عنوان پروژه:
ضمیمه کردن فایل accdb به فایل EXE
فهرست:
مسیر فایل پروژه در کامپیوتر شما پس از نصب نرم افزار accdbExe:
C:\accdbExe\Sample-Projects\Sample2
فایلهای اصلی برنامه نویسی شده در Access در فولدر Contents قرار دارند.
فایل پروژه accdbExe در فولدر Project قرار دارد.
فایلهای نهایی برای انتقال به کامپیوتر کاربر(مشتری) فولدر Output قرار دارند.
دانلود فایل نهایی از اینترنت (پس از دانلود فایل، فولدر موجود در فایل را در مسیری مشخص(مثلاDesktop) باز کنید و سپس روی فایل exe راست کلیک کرده و گزینۀ run as administrator را انتخاب کنید.)
تنظیمات پروژه (پروژه به صورت زیر تنظیم شده است):
فایل دیتابیس حاوی دستورات به برنامه اجرایی(EXE)ضمیمه شود
در مسیر فایلهای موقت باز شود
در مسیر فایل اجرایی باز شود
در مسیر سفارشی باز شود:
ارسال پارامتر Command به بخش vba هنگام اجرای نرمافزار
پارامترهای وارد شده به فایل اجرایی
شماره سریال سختافزاری سیستم
مسیر فایل اجرایی
متن سفارشی:
تنظیمات رجیستری ویندوز برای اجرای راحتتر Microsoft Office Access
تمامی گزینههای این بخش تیکدار شدهاند.
عملکردهای قبل از اجرای Microsoft Office Access
بررسی فعال بودن بخش فارسی (Persian) ویندوز در رایانه کاربر
بررسی وجود (نصب) Microsoft Office Access و یا Access Runtime در کامپیوتر کاربر
بستن سایر پنجرههای Access قبل از اجرای نرم افزار EXE تولید شده
تزریق گذرواژه به پنجرۀ Password Required
:Database Password
ارائه کدفعالسازی به مشتریان
فایل در صورتی اجرا شود که کد فعالسازی درست به آن داده شود.
چون میخواستیم فایل دیتابیس را به فایل EXE اصلی ضمیمه کنیم، بنابراین در فایل پروژه Project2.prj، گزینه «فایل دیتابیس حاوی دستورات به برنامه اجرایی(EXE)ضمیمه شود»، تیکدار کردهایم؛ فایل دیتابیس در مسیر فایلهای موقت باز خواهد شد.
متن سفارشی در بخش Command عبارت «Secret@20»، است، که هنگام اجرای فایل با Access این پارامتر به خط فرمان اجرای Access، اضافه می شود. و توسط Access به بخش VBA انتقال می یابد و توسط تابع ()Command، دریافت می شود.
مزایا
-
چون نوع فایل accdb است در هر کامپیوتری که Microsoft Office Access داشته باشد قابل اجرا است.
-
چون فایل vba-db به فایل EXE ضمیمه شده است، فایل vba-db از دسترس افراد خارج شده.
معایب
-
چون فایل vba-db به فایل EXE ضمیمه شده است، اجرای نرم افزار کندتر است.
-
چون فایل vba-db، فاقد گذرواژه Database Password است، ارزش مالی ندارد فقط جنبه تست دارد.
توضیحات برنامه نویسی در محیط VBA، نرمافزار Access
برنامه اکسس در این فایل نمونه دارای یک فرم به نام Login است که محتوی کد VBA آن ، به شرح زیر است:
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
if
Command()<>"Secret@20"
then Application.Quit
acQuitSaveNone
Labelcommand.Caption
=
Command()
End
Sub
می توانید برای همین بخش کد (قرمز) را اضافه کنید تا در صورتیکه عبارت وارد شده به بخش VBA،برابر با Secret@20 نباشد، از ادامه کار نرمافزار جلوگیری شود.
همچنین یک 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