بستن برنامه غیر فعال اکسس بطور خودکار

برنامه غیر فعال اکسس و بستن خودکار آن

مدتی قبل و در طی یک مطلب آموزشی  موردی را بررسی کردیم که با استفاده از آن  می توانستیم یک فرم موجود در نرم افزار اکسل را بعد از مدت زمان معینی به طور خودکار بسته و آن را غیر فعال نماییم .

مطلبی که در اینجا به آن اشاره شد را  می توانید با استفاده از لینک زیر مطالعه نمایید

 

اما آموزشی که امروز به آن خواهیم پرداخت آموزشی است که با استفاده از کدهای زمان برنامه نویسی VBA  این قابلیت را به نرم افزار اکسس خود اضافه می کنیم که با استفاده از آن می توانیم نه یک فرم بلکه کلبرنامه غیر فعال اکسس و بستن خودکار آن بپردازیم.

اگر آموزش قبلی در خصوص بستن فرم را مطالعه  نموده باشید حتماً می‌دانید که در آموزش مربوطه  ملاک ما برای بستن یک فرم بازه زمانی بود که برای آن درنظر می‌گرفتیم.

اما در این آموزش  ملاک مورد نظر ما برای بستن  برنامه صرفاً یک بازه زمانی صرف نیست.

بلکه در این آموزش به دنبال این هستیم که با بکار بردن کد های برنامه نویسیVBA  امکانی را فراهم آوریم که در صورتیکه برنامه مورد نظر ما در یک بازه زمانی مشخص از سوی کاربر بلا استفاده ماند به طور خودکار بسته شود.

تصور نمایید در حال کار کردن بر روی اطلاعات موجود خود در نرم افزار اکسس هستید .

حال اگر بنا به هر دلیل مجبور شوید  که میز کار خود را ترک نمایید و در ضمن فراموش کنید که برنامه اکسس خود را ببندید .

و نگران این باشید که کسی در غیاب شما به این اطلاعات دست یابد و یا اینکه به صورت ناخواسته با قرار گرفتن در پشت میز کار شما  در اطلاعات شما تغییراتی را ایجاد نماید که مطلوب و مورد نظر شما نیست.

برای مقابله با  چنین وضعیتی چه راهکاری به نظر شما می رسد؟

شاید برای مقابله با این موقعیت راهکارهای متعددی وجود داشته باشد.

اما ما امروز و در طی این مطلب آموزشی به شما خواهیم آموخت که چگونه  به نرم افزار اکسس خود قابلیت ارایه اضافه نمایید که درصورت غیر فعال ماندن برنامه در یک بازه زمانی مشخص که مورد نظر شما میباشد برنامه  اکسس شما به صورت خودکار بسته شده و از دسترس سایر کاربران خارج گردد.

همانگونه که می دانید نرم افزار اکسس به خودی خود فاقد  چنین قابلیتی می باشد

اما ما امروز با استفاده از کد های VBA  این قابلیت را به محیط کاری که اکسس اضافه خواهیم کرد.

تا انتهای این آموزش همراه ما باشید.

قدم اول:  ایجاد یک بانک اطلاعاتی در محیط کاری اکسس

از آنجا که آموزش ما قرار نیست فقط بر روی یک فایل خاص قابلیت اجرا داشته باشد بنابراین ایجاد بانک اطلاعاتی در مورد نرم افزار اکسس را به عهده خود شما می گذاریم تا بنا به نیاز و خواسته خود بانک اطلاعاتی مورد نظر خود را در این نرم افزار ایجاد نموده  و از اشیای مورد نیاز خود اعم از فرم ها و گزارش ها و دیگر قسمتهای مورد نظر خود در این بانک اطلاعاتی می توانید به صورت آزادانه استفاده نمایید.

قدم دوم: ایجاد فرم مرکز کنترل

در قدم دوم ما میخواهیم جدای از  فرم هایی که در محیط اکسس وجود دارد و بنا به نیاز خود آنها را ایجاد نموده ایم فرمی را طراحی و با به محیط کاری اکسس خود اضافه کنیم.

برای طراحی فرم موسوم به مرکز کنترل مراحل زیر را دنبال نمایید

  1. با استفاده از سربرگ create   و انتخاب گزینه design Form یک فرم خالی را به محیط کاری  اکسس خود اضافه کنید.

برنامه غیر فعال اکسس و بستن خودکار آن

  1. با استفاده از کادر Property Sheet  فرم مورد نظر خود را به نام ” مرکز کنترل ”  نام گذاری نمایید.
  2. در محیط کاری  این فرم دو تکست باکس به قرار زیر ایجاد نمایید.

برنامه غیر فعال اکسس و بستن خودکار آن

تکس باکس اول خود را  به صورت txt_name نام گذاری کنید

فرم ها در اکسس

برای تکس باکس دوم خود  نام txttime را انتخاب کنید

برای برچسب هر دو تکست باکس می‌توانید بنا به سلیقه خود عنوانی را اختصاص دهید .

قدم سوم : تنظیمات مربوط به تایمر فرم .

در این مرحله می خواهیم تنظیماتی مربوط به  رویداد Timer فرم خود را اعمال نماییم.

به این منظور ابتدا کادر  Property sheet   را باز نموده همزمان که کنترل می نماییم در کمبوی مربوط به     Selection Type      شی Form انتخاب شده است در مقابل کادر مربوط به خاصیت Interval  Timer  عدد ۱۰۰۰ را درج میکنیم. 

تنظیم فرم در اکسس

در گام بعد به سراغ رویداد مربوط به On Timer فرم خود رفته و کدهای زیر را در آن وارد می کنیم .

قدم چهارم : درج کدهای VBA 

در این مرحله باید کدهای زیر را در رویداد مربوط به On Timer  فرم خود وارد نمایید .

()Private Sub Form_Timer
Static oldform As String
Static oldcontrol As String
Static noactivetime

Dim actform As String
Dim actcontrol As String
Dim exittime

On Error Resume Next

actform = Screen.ActiveForm.Name
Me.txtname = actform
actcontrol = Screen.ActiveControl.Name

(“”=If (oldform = “”) Or (oldcontrol

Or (actform <> oldform) Or (actcontrol <> oldcontrol) Then

oldcontrol = actcontrol
oldform = actform
noactivetime = 0
Else
noactivetime = noactivetime + Me.TimerInterval
End If
(exittime = (noactivetime / 1000
Me.txttime = exittime

 

If exittime >= 300 Then

“پیغام امنیتی سیستم”,  vbCritical,  “برنامه برای بیش از  ۵  دقیقه غیر فعال بوده است لطفا مجددا وارد شوید”Msgbox

Application.Quit acQuitSaveAll

End If

End Sub

تفسیر کلی کد فوق و اینکه چه کاری برای ما انجام می دهد  به شرح زیر است :

  1. اولین کاری که این کدها برای ما انجام خواهد داد این است که مشخصات هر فرم و یا تکس باکسی را در داخل اکسس کلیک نماییم را برای ما در تکس باکس مربوط به txtname  درج می نماید .

و از آنجا که  در اکسس در آن واحد نمی تواند بیش از یک شی خاصیت فوکوس را در اختیار داشته باشد بنابراین همواره در این تکس باکس نام آخرین شی که بر روی آن کلیک شده و فوکوس را در اختیار گرفته است درج می شود .

۲٫ دومین کار صورت گرفته توسط این کدها این است که به محض اینکه یک شی فوکوس را در اختیار گرفت زمان را محاسبه می نماید و مدت زمان محاسبه شده را برای ما در تکس باکس مربوط به txttime  نمایش می دهد .

۳ . سومین کاری که این کدها انجام می دهند نیز این  است که به محض اینکه ما  از روی یک شی به شی دیگر کلیک می نماییم و در واقع فوکوس را به شی جدید می دهیم زمان محاسبه شده را برای شی جدید دوباره از ابتدا محاسبه می کند .

۴٫ اما اصل قضیه در این است که اگر ما یک شی را در داخل نرم افزار خود انتخاب نماییم بعنوان مثال یک فرم که خودمان طراحی کرده ایم را بمنظور وارد کردن اطلاعات مورد نظر خود باز کنیم و در آن اطلاعات خود را وارد کنیم تا مادامی که ما در حال کار با این فرم هستیم قادر به کار با برنامه اکسس هستیم اما اگر فرم خود را فعال کرده ولی برای مدت ۵ دقیقه که در این مثال برای آن مشخص کردیم هیچ کاری بر روی هیچ یک از اجزای برنامه خود انجام ندهیم برنامه بطور خودکار بعد از پنج دقیقه یک پیغام نمایش داده و از ادامه کار ما با برنامه ممانعت بعمل می آورد .

در اینجا تنها گزینه پیش رو برای ما این است که از با زدن دکمه OK  مربوط به کادر پیغام نمایش داده شده به بیرون از برنامه هدایت شویم و مجددا وارد برنامه خود شویم .

 

قدم پنجم : اتوران کردن فرم کنترل

برای تکمیل فرآیند کاری خود باید کاری کنیم که فرمی که به نام “مرکز کنترل ” ایجاد نمودیم را بصورت اتوران در آوریم . 

بدین ترتیب به محض اینکه برنامه اکسس ما شروع به کار می نماید فرم مربوطه نیز بطور خودکار وارد عمل شده و کنترل های مربوطه را انجام می دهد .

برای این مورد باید به قرار زیر عمل نمایید .

  1. از طریق سربرگ    Create  و با انتخاب گزینه   Macro  به محیط ایجاد ماکرو بروید .

ایجاد ماکرو

۲٫ در این محیط یک ماکرو تحت عنوان Open Form  را ایجاد نموده و نام فرم “مرکز کنترل ” را به آن معرفی نمایید . 

ماکرو در اکسس

اکنون باید ماکروی خود را ذخیره نمایید . 

اما حتما به این نکته توجه کنید که باید ماکروی خود را با نام “AutoExcec” ذخیره کنید. 

اکنون کار به پایان رسیده و فایل شما آماده است . 

مطالب فوق را می توانید با تماشای فیلم زیر نیز ببینید . 

 

آموزش اکسس2016 بازدید : 48 views ۲۴ فروردین, ۱۳۹۸ ۰