اضافه شريط تحميل للنموذج في الاكسيس ProgressBar

اضافه شريط تحميل للنموذج في الاكسيس ProgressBar

 

ProgressBar

اضافه شريط تحميل للنموذج في الاكسيس ProgressBar بتحكم كامل في وقت البداء و الانتهاء و ربطه مع احداث النموذج

الهدف من اضافه شريط تحميل ProgressBar

الهدف من اضافه شريط تحميل ProgressBar للنموذج في الاكسيس اعطاء المستخدم النهائي فكره ان البرنامج يقوم حاليا بتنفيذ مجموعه من الخطوات و الاوامر البرمجيه و اعطاء نسبه مئويه لتقدم سير خطوات العمل

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

فكره عمل شريط التحميل  ProgressBar  في الاكسيس او في اي برنامج

حيث يفترض ان يتقدم نسبه التحميل في هذا الشريط بنسبه مئويه من 0% الي 100% لتدل علي نسبه انجاز العمل داخل البرنامج حيث تمثل النسبه 0% نقطه بدا العمل و النسبه 100% نسبه اتمام العمل بالكامل و من هنا يكون للمستخدم النهائي انطباع علي اتمام العمل

كيف يمكن اضافه شريط التحميل  ProgressBar  في الاكسيس

في البدايه يجب ان نعرف ان شركه مايكروسوفت قامت باضافه محرر الاكود فجوال بيزك لبرنامج مايكروسوفت الاكسيس لتعطيه مرونه في التصميم و ليكون بيئه عمل متكامله يستطيع المصمم او المطور تنفيذ اي فكره برمجيه بها

و أيضا من المعروف ان محرر اكود فجوال بيزك محرر برمجي يحتوي علي معظم الادوات البرمجيه التي يمكن ان نحتاج اليها في تصميم و تنفيذ اي فكره برمجيه و اذا كانت اده غير موجوده بشكل مباشر يمكن اضفتها عن طريق اضافه المكتبه البرمجيه الخاصه بها الي البرنامج و اضفتها في البرنامج بكل سهوله

و لكي تتمكن من اضافه ProgressBar الي التصميم يجب عليك كخطوه اولي الدخول الي النموذج في وضع التصميم design view

ثم اختيار القائمه design  و من هذه القائمه اختر active x controls

active x controls

تظهر لك قائمه Microsoft progressbar control, version 6.0  ثم بعد ذلك اضط ok  لتظهر لك شكل هذه الاداه في النموذج بشكل مباشر

Microsoft progressbar control, version 6.0

كيف يمكن التحكم في ProgressBar برمجيا

في البدايه دعنا نتذكر اليه عمل ProgressBar تبدا هذه الاداه من القيمه الافتراضيه 0 و تتدرج بانجاز المهام البرمجيه الي ان تصل الي 100%

و من هنا يجب علينا ان نعطي قيمه افتراضيه لبدايه العمل 0

مثال برمجي مبسط

مثال برمجي مبسط علي تنفيذ الاحداث و شرح تفاصيل الكود

تم وضع هذا الكود في حدث form timer  مع اضافه فاصل زمني مناسب

Private Sub Form_Timer()

Static iCount As Integer

iCount = iCount + 10

Me.ProgressBar0.Value = iCount

If Me.ProgressBar0.Value = 20 Then

Me.Labell = "جاري التحميل20%"

ElseIf Me.ProgressBar0.Value = 40 Then

Me.Labell = "جاري التحميل40%"

ElseIf Me.ProgressBar0.Value = 60 Then

Me.Labell = "جاري التحميل60%"

ElseIf Me.ProgressBar0.Value = 80 Then

Me.Labell = "جاري التحميل80%"

ElseIf Me.ProgressBar0.Value = 100 Then

Me.Labell = "اكتمل التحميل 100%"

ElseIf Me.ProgressBar0.Value = 110 Then

DoCmd.OpenForm "frm_HomePage"

DoCmd.Close acForm, "frm_ProgressBar"

End If

Exit Sub

End Sub

 

مثال برمجي عملي علي تنفيذ مجموعه من الاحداث و شرح تفاصيل الكود

 

 

 

‘ يبدا العمل بمجرد الضغط علي زر   command بكتابه الكلمه   loading

Me.Command0.Caption = "loading ..."

‘تم افتراض متغير باسم   intcount

Static intCount As Integer

‘ تم بدا العمل بقيمه افتراضيه 10

intCount = intCount + 10

‘ تم اعطاء شريط التحميل قيمه المتغير ليبدا من 0 و يقوم باضافه 10 في كل خطوه يتم تنفيذها

Me.ProgressBar1.value = intCount

On Error Resume Next

Dim tb_name, db_local As String

db_local = Me.Text4.value

‘ قمنا هنا بافتراض حلقه تكراريه تقوم بالدوران علي حقول الجدول  tb_table

‘ لتنفيذ امر قمنا باضافته في ماكرو مخصص باسم   New_command

Dim db As DAO.Database

'متغير الحلقه التكراريه لقاعده البيانات ليقوم بالدوران علي حقول قاعده البيانات

Dim rs As Recordset

Dim i, m As Integer

Set db = CurrentDb

Set rs = db.OpenRecordset("Tb_table ", dbOpenDynaset, dbSeeChanges)

‘ تم افترض المتغير   m حيث يمثل عدد حقول الجدول

m = DCount([Tb_table ])

‘ افتراض القيمه اافتراضيه الي شريط التحميل ليبدا من 0

Me.ProgressBar1.value = 0

Else

‘بدايه الحلقه التكرايه

For i = 1 To m

‘ استدعاء الامر البرمجي المراد تنفيذه

‘ علي ان يكون ذلك الامر البرمجي مرتبط بالمتغير m

Call new_command

‘ يقوم هنا بافتراض قيم للنسبه المئويه تظهر علي زر التشغيل و تظهر قيمتها علي امر قيم شريط التحميل

Me.Command0.Caption = "loading " & Int((i / m) * 100) & " % "

Me.ProgressBar1.value = intCount + Int((i / m) * 100)

‘ اعطاء مهله انتظار 2 ثانيه بين تنفيذ كل امر

Pause (0.2)

‘ يتم الانتقال الي الخطوه التاليه في الحلقه التكراريه

rs.MoveNext

Next i

Me.Command0.Caption = "اكتملت المهمه بنجاح"

Me.Command0.Caption = "ابدا"

Me.Command0.Enabled = False

 

و هكذا يمكنك بسهوله التحكم في وقت بدا التحميل وقت نهايه التحميل في الوقت الذي تريده بعد انتهاء الوقت المحدد لتنفيذ الامر البرمجي و أيضا يعطي شكل جميل امام المستخدم النهائي

يمكن ان يعجبك أيضا افكار برمجيه لحمايه ملف الاكسيس

يمكن ان يعجبك أيضا المستخدمين يبحثون عن تحديث جديد عبر الانترنت لبرامجك

 


اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *