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

شاشة انتظار تعتمد على الوقت الذي يستغرقه فتح التقرير


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

السلام عليكم ورحمة الله وبركاته

 

اعزائي الكرام

استفسار

لدي تقريرا يعتمد على استعلام تجميعي يجمع بيانات معينة في فترات معينة (عندي نموذج ادخل منه تاريخ البدء وتاريخ النهاية طبعا عندما اختار فترة من 01/01/2016   الى  31/01/2016 لايأخذ نفس الوقت فتح التقرير مثل ما ادخل تاريخ من 01/01/2015  الى 31/12/2016 حيث في الحالة الثانية يستغرق فتح التقرير وقتا اطول ).

السؤال : كيف يمكنني تصميم شاشة انتظار (مثلا مربعات صغيرة تظهر في نموذج الانتظار متتابعة تعتمد على وقت فتح التقرير ) او اي شكل المهم انه يفيد المستخدم ان ينتظر ريثما يتم فتح التقرير.

رابط هذا التعليق
شارك

أضف نموذج وضع كود فتح هذا النموذج قبل كود فتح التقرير ثم في حدث عند الفتح أو حدث عند التحميل للتقرير ضع كود إغلاق هذا النموذج

  • Like 1
رابط هذا التعليق
شارك

وعليكم السلام ورحمة الله وبركاته

مرحبا اخي الكريم

جرب الكود التالي

        Dim i, y, sh As Double
            y = 1
           sh = DCount("*", "tbl1")
        For i = y To sh + (y - 1)
            DoCmd.OpenForm "FormName"
        Next i
            DoCmd.Close acForm, "FormName"
            DoCmd.OpenReport "ReporName", acViewPreview, "", "", acNormal

ارجو ان يكون الكود واضح

تحياتي

يتم وضع الكود في حدث عند الفتح

Private Sub Report_Open(Cancel As Integer)
        Dim i, y, sh As Double
            y = 1
           sh = DCount("*", "tbl1")
        For i = y To sh + (y - 1)
            DoCmd.OpenForm "FormName"
        Next i
            DoCmd.Close acForm, "FormName"
            DoCmd.OpenReport "ReporName", acViewPreview, "", "", acNormal
End Sub

 

  • Like 1
رابط هذا التعليق
شارك

الاخوين صالح حمادي اشكركما كثيرا

 

جربت في كلتا الحالتين ولكن وجدت نموذج الانتظار يغلق قبل فتح التقرير ببرهة زمنية . حيث يتم بعد اغلاقه الانتظار بعض الوقت ويتم بعدها فتح التقرير .

 

هل من حل آخر ..؟

رابط هذا التعليق
شارك

18 دقائق مضت, كوماندير said:

الاخوين صالح حمادي اشكركما كثيرا

جربت في كلتا الحالتين ولكن وجدت نموذج الانتظار يغلق قبل فتح التقرير ببرهة زمنية . حيث يتم بعد اغلاقه الانتظار بعض الوقت ويتم بعدها فتح التقرير .

هل من حل آخر ..؟

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

رابط هذا التعليق
شارك

  • 3 weeks later...

بعد البحث وصدفة وجدت الحل في قاعدة بيانات عمل نسخه احتياطية من احد المواقع الاجنبية

طبعا قمت بتغيير الفاصل الزمني لعداد الوقت من 10000   الى 1000 وكانت النتيجة افضل

كما قمت بنسخ الكود الخاص بهذا النموذج من قاعدة البيانات المرفقة كما يلي :

Public Function LoadData(strData As String)

    DoCmd.OpenForm "frmLoading"
    Forms!frmloading!Label2.Caption = strData
    Pause 0.1
    
End Function

Public Function Pause(NumberOfSeconds As Variant)
On Error GoTo Err_Pause
    
    Dim PauseTime As Variant, Start As Variant
    
    PauseTime = NumberOfSeconds
    Start = Timer
    Do While Timer < Start + PauseTime
    DoEvents
    Loop
    
Exit_Pause:
    Exit Function
    
Err_Pause:
    MsgBox Err.Description, , " Predator Software Backup Utility"
    Resume Exit_Pause

End Function

 

كما ان النموذج يكون به الكود التالي :

Private Sub Form_Load()
On Error GoTo Err_Form_Load

DoCmd.MoveSize , 4700

Exit_Form_Load:
    Exit Sub

Err_Form_Load:
    MsgBox Err.Description, , " Predator Software Backup Utility"
    Resume Exit_Form_Load

End Sub

Private Sub Form_Timer()
On Error GoTo Err_Form_Timer

    DoCmd.Close acForm, Me.Name

Exit_Form_Timer:
    Exit Sub

Err_Form_Timer:
    MsgBox Err.Description, , " Predator Software Backup Utility"
    Resume Exit_Form_Timer
End Sub

كما استخدمت الكود التالي عند ضغط زر امر فتح التقرير من النموذج كما يلي :

Call LoadData("PLEASE WAIT ........")
docmd.openform"MyFrm"

فقط

وكانت النتيجة روعه

اليكم المرفق وانظروا لنموذج الانتظار :

BackUp Utility.zip

 

  • Like 2
رابط هذا التعليق
شارك

5 ساعات مضت, كوماندير said:

بعد البحث وصدفة وجدت الحل في قاعدة بيانات عمل نسخه احتياطية من احد المواقع الاجنبية

طبعا قمت بتغيير الفاصل الزمني لعداد الوقت من 10000   الى 1000 وكانت النتيجة افضل

 

السلام عليكم:smile:

 

مع الاعتذار لك ، ولكن لا ارى اي علاقة بين النموذج الذي يتم فتحه لمدة 1000 ملي ثانية = ثانية واحدة ، وبين فتح التقرير !!

 

جعفر 

رابط هذا التعليق
شارك

56 دقائق مضت, jjafferr said:

 

السلام عليكم:smile:

 

مع الاعتذار لك ، ولكن لا ارى اي علاقة بين النموذج الذي يتم فتحه لمدة 1000 ملي ثانية = ثانية واحدة ، وبين فتح التقرير !!

 

جعفر 

بصراحة لا ادري بماذا اجيب اخ جعفر

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

جرب الكود كما ذكرت لك وسترى النتيجة .

 

ملحوظه : لدي نموذج مستمر استخدمه لعرض بيانات تجميعية من عدرة استعلامات اجد بطء في عملية Requiery له

استخدمت الكود وظهر لي نموذج الانتظار حتى انتهت عملية ال Requery  واختفى نموذج الانتظار وهو ما اريده .....

رابط هذا التعليق
شارك

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