منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : كيفية عمل شريط Progress Bar حقيقي للعمليات التي تأخذ وقت طويل
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم 

عندي برنامج اكسس واقوم بعملية معينة تأخذ بعض الوقت عند ظهور النتيجة - والنتيجة تكون على هيئة msgbox 

هل يمكن عمل Progress Bar  حقيقي وعند انتهاء التحميل تظهر النتيجة فوراً 

مع العلم ان مدة العملية غير ثابتة

؟؟
ممكن اخي لكن ارفق المثال حتى يتسنى للاخوة مساعدتك
شاهد الفيديو


كيفية عمل ProgressBar في Microsoft Access
Let's make a Custom Progress Bar in Microsoft Access
https://www.youtube.com/watch?v=0SqcA9vIRs0


أداة جاهزة من ProgressBar ل Microsoft Access
Microsoft Access Progress Bar Template
https://www.youtube.com/watch?v=IPe6AwKzkaE
https://www.microsoftaccessexpert.com/Mi...Meter.aspx



مقال من ميكروسوفت عن ProgressBar ل Microsoft Access
https://support.microsoft.com/en-us/kb/174026
(14-07-16, 03:18 PM)aliday03 كتب : [ -> ]ممكن اخي لكن ارفق المثال حتى يتسنى للاخوة مساعدتك


المثال هو ارسال بريد الكتروني من خلال VBA باستخدام CDO وليس بالـ Outlook

والكود الى استخدمة

PHP كود :
Private Sub Command1_Click()
 
   Dim Mailto  As String            'Mail To 
    Dim mail    As Object           ' 
CDO.MESSAGE
    Dim config  As Object           
' CDO.Configuration
    
    Mailto = InputBox("Enter Mail", "Enter Email Address")
    
    If Mailto <> "" Then ' 
if it not empty
 
   MsgBox ("Mail will sent to " Mailto " Press OK and wait for confirmation message "), "Sending ..."
 
   Else
    MsgBox 
"Canceled , or No Mail entered "vbCritical"Error"
 
  'Terminate if the cancel or empty value is found button is clicked!
    End If


    Set mail = CreateObject("CDO.Message")
    Set config = CreateObject("CDO.Configuration")
    
    config.Fields(cdoSendUsingMethod).Value = cdoSendUsingPort
    config.Fields(cdoSMTPServer).Value = "xxxx"
   
    config.Fields(cdoSMTPServerPort).Value = 465  
    config.Fields(cdoSMTPUseSSL).Value = "true"
    
    config.Fields(cdoSMTPAuthenticate).Value = cdoBasic
    config.Fields(cdoSendUserName).Value = "xxxxx"
    config.Fields(cdoSendPassword).Value = "xxxxx"

    config.Fields.Update
    
    Set mail.Configuration = config
    
    With mail
        .To = Mailto
        .From = "xxxx"
        .Subject = "Test Sub"
        .TextBody = "Test Body."
        .AddAttachment "c:\users\data.bin"
        
        .Send
    End With
    
    Set config = Nothing
    Set mail = Nothing
    If Err.Number = 0 Then
    MsgBox "Message Sent Successfully", vbInformation, "Sent"

End Sub   

وعملية الـ المرفقات تاخذ وقت على حسب حجم الملف المرفق
ومثل ماموجود في الكود في حالة عدم وجود Errors وارسال الملف تيجي رسالة تأكيد الارسال
  MsgBox "Message Sent Successfully", vbInformation, "Sent"


الرسالة دة تظهر بعد وقت مثل ماقلت حسب حجم الملف المرفق 

اثناء هذه الوقت اريد عمل 
Progress bar 
حقيقي يبين المدة المفترض انتظارها ( لارفاق الملف  و ارسال الرسالة) حتي تظهر رسالة تأكيد الارسال

فلو فية كود يعمل الخاصية دة 

اتمني حضرتك تضيفة على الكود السابق وانا اخده جاهز لل VBA لاني مش متعمق اوي في اني ادخل كود جوة كود

(14-07-16, 04:16 PM)الوادي كتب : [ -> ]شاهد الفيديو


كيفية عمل ProgressBar في Microsoft Access
Let's make a Custom Progress Bar in Microsoft Access
https://www.youtube.com/watch?v=0SqcA9vIRs0


أداة جاهزة من ProgressBar ل Microsoft Access
Microsoft Access Progress Bar Template
https://www.youtube.com/watch?v=IPe6AwKzkaE
https://www.microsoftaccessexpert.com/Mi...Meter.aspx



مقال من ميكروسوفت عن ProgressBar ل Microsoft Access
https://support.microsoft.com/en-us/kb/174026


جميع هذه الشروحات على عمل Progress bar  شكليه وهمية لعملية التحميل وليست مرتبطة ببيانات البرنامج او المدة الفعلية التي تاخذها العملية للتحميل
للــــــــــرفــــــــــــــــع !