اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر (معدل)

السلام عليكم 

مطلو ب كود لاغلاق التقرير بعد فترة من فتحه في وضع معاينة التقرير قبل الطباعه

عندعدم  استخدام البرناج 

وجدت اكواد لاغلاق النماذج ولم تنفع مع التقرير 

تم تعديل بواسطه alsihran
قام بنشر

انشئ Module جديد

و الصق الشفرة التالية فيه

Option Explicit

Public Function StartTimer(NumberOfSeconds As Variant, ReportName As String)
On Error Resume Next
Dim PauseTime, Start, Finish, TotalTime
    PauseTime = NumberOfSeconds
    Start = Timer
    Do While Timer < Start + PauseTime
        DoEvents
    Loop
    Finish = Timer
    TotalTime = Finish - Start
    DoCmd.Close acReport, ReportName, acSaveYes

End Function

في ازرار فتح التقرير و بعد أمر فتح التقرير اعطي الأمر لتشغيل التايمر / المؤقت

بعد اعطائه عدد الثواني و اسم التقرير

StartTimer(«NumberOfSeconds»; «ReportName») 

 

مرفق التعديل

 

tbl.accdb

  • Like 4
  • Thanks 1
قام بنشر

يعطيك العافية 

وصلنا للمطلوب 

حاب اعرض علك هذا المثال 

وهو عبارة عن نموذج DetectIdelTime

تم فتحه ف الوضع المخفي 

وعند فتح ا نموذج وترك البرنامج بدون العمل عله غلق البرنامج بالكامل 

لكن هذا خاص فقط بالنماذج وعند فتح ا تقرر لايتم تطبيقه 

هل يمكنك تعديل المثال ليعمل مع النماذج والتقارير سويا 

qit.accdb

قام بنشر

يبدو اني لم اوضح المطلوب 

اللي اريده يبقى الامر كما هو 

لو تلاحظ الكود تم تعريفه للنماذج فقط انا ابيه يشمل النماذج والتقارير 

Static OldcontrolName As String
Static OldFormName As String
Static ExpiredTime As String

Dim ActivecontrolName As String
Dim ActiveFormName As String
Dim ExpiredMinutes As String

'<<<<< ÇÈæ äÇÏÑ >>>>>

On Error Resume Next

ActivecontrolName = Screen.ActiveControl.Name
ActiveFormName = Screen.ActiveForm.Name
Me.txtActiveForm = ActiveFormName

If (OldcontrolName = "") Or (OldFormName = "") _
Or (ActiveFormName <> OldFormName) _
Or (ActivecontrolName <> OldcontrolName) Then
   OldcontrolName = ActivecontrolName
   OldFormName = ActiveFormName

 

قام بنشر

اخي الكريم اعتقد مداخلتك في هذا الموضع ليست في محلها 

لان المجيب على السؤال سيعتقد ان المطلوب قد اكتمل 

في حين ان الموضوع مازال له جزئيه مطلوبه

عموما

مازلت اطرح السؤال على الاستاذ 

إن كان بالامكان تحقيق المطلوب في جزئيته الاخيرة 

  • Like 1
قام بنشر

نفس الحال اخي الكريم

الكود الموجود في المرفق عبارة عن تايمر فقط لا اكثر

تستطيع اضافة ما  تريده عند انتهاء الوقت 

لكن لا علاقة له بأساس الموضوع 

Static OldcontrolName As String
Static OldFormName As String
Static ExpiredTime As String

Dim ActivecontrolName As String
Dim ActiveFormName As String
Dim ExpiredMinutes As String

'<<<<< ابو نادر >>>>>

On Error Resume Next

ActivecontrolName = Screen.ActiveControl.Name
ActiveFormName = Screen.ActiveForm.Name
Me.txtActiveForm = ActiveFormName

If (OldcontrolName = "") Or (OldFormName = "") _
Or (ActiveFormName <> OldFormName) _
Or (ActivecontrolName <> OldcontrolName) Then
   OldcontrolName = ActivecontrolName
   OldFormName = ActiveFormName
   ExpiredTime = 0
   
Else
   ExpiredTime = ExpiredTime + Me.TimerInterval
End If
   'ExpiredMinutes = (ExpiredTime \ 1000) \ 60     'للدقائق
   ExpiredMinutes = (ExpiredTime \ 1000)       'للثاوني
   Me.txtIdelTime = ExpiredMinutes
   
If ExpiredMinutes >= 50 Then  'لتفيير الوقت
   ExpiredTime = 0
   Application.quit acQuitSaveAll ' <<<<<<<<<<<<<<<<<<<<<  هذا الأمر يقوم بإنهاء الأكسس بالكامل تستطيع استبداله >>>>>>>>>>>>>>>>>>>>>>>>>>
'Call AllForms
'DoCmd.OpenForm "frm-UserLogon"
End If

 

  • Like 1
قام بنشر
13 دقائق مضت, د.كاف يار said:

كن لا علاقة له بأساس الموضوع 

صحيح استاذ وانا اعتذر عن ذلك 

14 دقائق مضت, د.كاف يار said:

تستطيع اضافة ما  تريده عند انتهاء الوقت

مع الاسف لا يتعامل مع التقارير فقط يقوم بالتعامل مع النماذج 

اذا فتحت التقرير لايتم تشغيل التايمر 

قام بنشر
21 ساعات مضت, د.كاف يار said:

انشئ Module جديد

و الصق الشفرة التالية فيه

Option Explicit

Public Function StartTimer(NumberOfSeconds As Variant, ReportName As String)
On Error Resume Next
Dim PauseTime, Start, Finish, TotalTime
    PauseTime = NumberOfSeconds
    Start = Timer
    Do While Timer < Start + PauseTime
        DoEvents
    Loop
    Finish = Timer
    TotalTime = Finish - Start
    DoCmd.Close acReport, ReportName, acSaveYes

End Function

في ازرار فتح التقرير و بعد أمر فتح التقرير اعطي الأمر لتشغيل التايمر / المؤقت

بعد اعطائه عدد الثواني و اسم التقرير

StartTimer(«NumberOfSeconds»; «ReportName») 

 

مرفق التعديل

 

tbl.accdb 484 kB · 9 downloads

استخدم هذا 

منذ ساعه, alsihran said:

صحيح استاذ وانا اعتذر عن ذلك 

مع الاسف لا يتعامل مع التقارير فقط يقوم بالتعامل مع النماذج 

اذا فتحت التقرير لايتم تشغيل التايمر 

 

قام بنشر
3 ساعات مضت, د.كاف يار said:

استخدم هذا 

4 ساعات مضت, alsihran said:

شكرا لك 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information