نمونه شماره 1

عنوان پروژه:

فراخوانی فایل accdr._ همجوار فایل EXE

 

فهرست:

فایل پروژه

تنظیمات پروژه

توضیحات پروژه

مزایا معایب پروژه

توضیحات برنامه‌نویسی VBA


مسیر فایل پروژه در کامپیوتر شما پس از نصب نرم افزار 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