اضافه شريط تحميل للنموذج في الاكسيس ProgressBar
اضافه شريط تحميل للنموذج في الاكسيس ProgressBar بتحكم كامل في وقت البداء و الانتهاء و ربطه مع احداث النموذج
الهدف من اضافه شريط تحميل ProgressBar
الهدف من اضافه شريط تحميل ProgressBar للنموذج في الاكسيس اعطاء المستخدم النهائي فكره ان البرنامج يقوم حاليا بتنفيذ مجموعه من الخطوات و الاوامر البرمجيه و اعطاء نسبه مئويه لتقدم سير خطوات العمل
شريط التحميل يعطي مظهر جمالي للانظار و لتقدم عمليه التحميل في التصميم او البرنامج
فكره عمل شريط التحميل ProgressBar في الاكسيس او في اي برنامج
حيث يفترض ان يتقدم نسبه التحميل في هذا الشريط بنسبه مئويه من 0% الي 100% لتدل علي نسبه انجاز العمل داخل البرنامج حيث تمثل النسبه 0% نقطه بدا العمل و النسبه 100% نسبه اتمام العمل بالكامل و من هنا يكون للمستخدم النهائي انطباع علي اتمام العمل
كيف يمكن اضافه شريط التحميل ProgressBar في الاكسيس
في البدايه يجب ان نعرف ان شركه مايكروسوفت قامت باضافه محرر الاكود فجوال بيزك لبرنامج مايكروسوفت الاكسيس لتعطيه مرونه في التصميم و ليكون بيئه عمل متكامله يستطيع المصمم او المطور تنفيذ اي فكره برمجيه بها
و أيضا من المعروف ان محرر اكود فجوال بيزك محرر برمجي يحتوي علي معظم الادوات البرمجيه التي يمكن ان نحتاج اليها في تصميم و تنفيذ اي فكره برمجيه و اذا كانت اده غير موجوده بشكل مباشر يمكن اضفتها عن طريق اضافه المكتبه البرمجيه الخاصه بها الي البرنامج و اضفتها في البرنامج بكل سهوله
و لكي تتمكن من اضافه ProgressBar الي التصميم يجب عليك كخطوه اولي الدخول الي النموذج في وضع التصميم design view
ثم اختيار القائمه design و من هذه القائمه اختر active x controls
تظهر لك قائمه Microsoft progressbar control, version 6.0 ثم بعد ذلك اضط ok لتظهر لك شكل هذه الاداه في النموذج بشكل مباشر
كيف يمكن التحكم في 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
و هكذا يمكنك بسهوله التحكم في وقت بدا التحميل وقت نهايه التحميل في الوقت الذي تريده بعد انتهاء الوقت المحدد لتنفيذ الامر البرمجي و أيضا يعطي شكل جميل امام المستخدم النهائي
يمكن ان يعجبك أيضا افكار برمجيه لحمايه ملف الاكسيس
يمكن ان يعجبك أيضا المستخدمين يبحثون عن تحديث جديد عبر الانترنت لبرامجك