نمونه
شماره 1
عنوان پروژه:
فراخوانی فایل accdr._ همجوار فایل EXE
فهرست:
مسیر فایل پروژه در کامپیوتر شما پس از نصب نرم افزار accdbExe:
C:\accdbExe\Sample-Projects\Sample1
فایلهای اصلی برنامه نویسی شده در 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
ارائه کدفعالسازی به مشتریان
فایل در صورتی اجرا شود که کد فعالسازی درست به آن داده شود.
-
در این پروژه فایل vba-db.accdb به مسیر فولدر فایلهای خروجی و نهایی (Output کپی شده) به نام accdr._ کپی شده است.
این روش کپی کردن را می توانید در فایل copyto.bat در مسیر Contents ببینید.
-
چون نمیخواستیم فایل دیتابیس را به فایل EXE اصلی ضمیمه کنیم، بنابراین در فایل پروژه Project1.prj، گزینه «فایل دیتابیس حاوی دستورات به برنامه اجرایی(EXE)ضمیمه شود»، بدون تیک شده است.
-
متن سفارشی در بخش Command عبارت «Secret@16»، است، که هنگام اجرای فایل با Access این پارامتر به خط فرمان اجرای Access، اضافه می شود. و توسط Access به بخش VBA انتقال می یابد و توسط تابع ()Command، دریافت می شود، می توانید برای بخش Form_Load کد (قرمز) را اضافه کنید تا در صورتیکه عبارت وارد شده به بخش VBA،برابر با Secret@16 نباشد، از ادامه کار نرمافزار جلوگیری شود.
مزایا
-
چون نوع فایل accdb است در هر کامپیوتری که Microsoft Office Access داشته باشد قابل اجرا است.
-
چون فایل vba-db به فایل EXE ضمیمه نشده است، اجرای نرم افزار سریعتر است.
معایب
-
فایل vba-db ، حتما باید با فایل EXE ارائه شود.
-
چون فایل 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@16"
then Application.Quit
acQuitSaveNone
Labelcommand.Caption
=
Command()
End
Sub
می توانید برای همین بخش کد (قرمز) را اضافه کنید تا در صورتیکه عبارت وارد شده به بخش VBA،برابر با Secret@16 نباشد، از ادامه کار نرمافزار جلوگیری شود.
همچنین یک 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