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

كل الانشطه

هذه الصفحة تحدث تلقائياً

  1. الساعة الأخيرة
  2. السلام عليكم في هذا الرابط مرفق لتكبير الصورة ، والمثال المرفق من الرابط . مثال:
  3. الله الله علي الحاجات الحلوه كل يوم جديد عندك الا جودي تحياتي
  4. حمدا لله على عودتك الغالي ابو جودي ولا تشغل بالك بهذه النوعية من البشر اعمالك البارزة وادبك الجم محفورة في تاريخ المنتدي ونحن لا نعرفك اليوم بل منذ زمن بالنسبة لموضوع المشاركه فهو موضوع مهم ورائع يوفر عليك مراجعة الاكواد تحياتي
  5. Today
  6. رجاء من الاخوة الافاضل ربط ورقة عمل (الكشف) بورقة عمل ( الاسماء ) مع اضافة زر طباعة الكشف وعمل سهم اعلى وسهم اسفل للتنقل ومع اظهار اسم فى الكشف للتنقل مثل طبع مفردات المرتب وشكرا للجميع التجربة1.xls
  7. شكرا على كلامك الطيب
  8. الاخوة الافاضل اتمنى تكونوا بخير مطلوب مساعدة بكود تفعيل الازرار بالملف المرفق وهو عبارة عن قاعدة بيانات موظفين مقسمة الى ورقة ادخال وبحث مطلوب مساعدة بكود زر الترحيل وزر الاستعلام وزر التعديل ارجو المساعدة للاهمية شاكر ومقدر بسم الله.xlsm
  9. وعليكم السلام ورحمة الله وبركاته.. الأستاذ الفاضل، أتقدم إليك بخالص الشكر والتقدير على هذا التصميم الرائع والمجهود الكبير الذي بذلته في إعداد البرنامج. لقد لمستُ في عملك دقة واحترافية عالية، خاصة في تنسيق الواجهة وتوزيع العناصر بشكل يسهل عملية الإدخال. إبداعك في التصميم أعطى للبرنامج روحاً جديدة، وأنا ممتن جداً لوقتك الذي خصصته لمساعدتي وللمساتك الفنية التي جعلت العمل يظهر بهذا المظهر اللائق. بارك الله فيك وفي قلمك وعلمك، وجعل هذا العمل في ميزان حسناتك. لك مني كل الاحترام والتقدير والمودة.
  10. ربط 2 كومب بوكس بداخل اتنين نموذج فرعي2.rar بحاول احلها مش عارف صراحة
  11. اشكرك جزيل الشكر استاذي مجهود مرة رائع لكن الملاحظات التي رأيتها بالتصميم أولا العملة نريدها بالريال السعودي كرما وثانيا حالة الإستمارة مثلا أو الفحص الدوري او التأمين إلخ كنت مسوي لها معادلة بالاكسيل توضح لي حالها هي منتهية أو قاربت على الانتهاء مثل ما حضرتك شوفت كدا ومعطيها خيارات ألوان توضح كل حالة هي هنا يمكننا عمل معادلة مثل هذه ايضا توضخ مثلا المنتهية باللون الأحمر وهكذا ثالثا في النموذج الذي أسميته الإستمارة ألا يمكننا إلغاؤه ودمجه مع النموذج بيانات سيارات لتصبح شاشة واحدة نقدر من خلالها نملأ البيانات مرة واحدة بدل من نموذجين رابعا أهم نقطة التقرير عندك في شيت الاكسيل انا كنت أنوي اصمم الورقة انه يكون تقرير شامل ومفصل مثل ما رأيت كله بورقة واحدة هل يمكننا فعل ذلك في الأكسس بنفس الطريقة بمعنى انه ورقة التقرير تحوي بيانات السيارة كاملة مع المخالفات بنفس الشكل أو على حسب أي شكل تصممه انت المهم انه يكون في ورقة واحدة حين تعرض على المدير يرى كل شئ ويعرف كم المخالفات على السيارة وكم منها مسدد وكم منها غير مسدد الخ....من بيانات ارجو انا اكون وضحت لك مقصدي واشكرك جزيل الشكر عى المجهود الطيب
  12. معذرة يبدو أن الهيكلة تحتاج مراجعة لتحقيق الهدف النهائي فى الفلترة : يكفى السطر الثالث ( كل الملفات ) أيضاً هل من الممكن بعد اختيار ملف أكسس :اكتشاف الفاعلية تلقائياً (تمكين ، نعطيل ) وبذلك يكون زر واحد فقط هو من يتم اختياره بالنسبة لملف *.accdb لم ينجح التطبيق فى تغيير الخاصية
  13. 🏢 ما هو نظام ERPGo SaaS؟ نظام ERPGo SaaS هو نظام تخطيط موارد المؤسسات (ERP) متكامل يعمل عبر السحابة، يهدف إلى إدارة جميع عمليات الشركة من مكان واحد بسهولة وكفاءة. يجمع النظام بين عدة أقسام رئيسية مثل: المحاسبة الموارد البشرية إدارة المشاريع إدارة العملاء (CRM) نقاط البيع (POS) وذلك ضمن منصة واحدة موحدة تساعد الشركات على تحسين الإنتاجية وتقليل التعقيد في العمل. 🚀 مميزات نظام ERPGo 🔹 1. نظام متكامل لإدارة الأعمال (All-in-One) إدارة جميع أقسام الشركة من لوحة واحدة تقليل الحاجة لاستخدام أنظمة متعددة تحسين التنسيق بين الأقسام 📊 2. لوحة تحكم ذكية (Dashboard) عرض شامل للإيرادات والمصروفات والعمليات تقارير فورية تساعد في اتخاذ القرار متابعة الأداء بشكل لحظي 💰 3. النظام المحاسبي المتكامل إدارة الفواتير والمدفوعات تتبع المصاريف والأرباح نظام محاسبة مزدوج (Double Entry) تقارير مالية دقيقة 👥 4. إدارة الموارد البشرية (HRM) إدارة الموظفين والرواتب متابعة الحضور والإجازات تقييم الأداء والتدريب 📈 5. نظام إدارة العملاء (CRM) إدارة العملاء والمبيعات تتبع الفرص (Leads & Deals) تحسين تجربة العملاء وزيادة المبيعات 📦 6. إدارة المخزون ونقاط البيع (POS) إدارة المنتجات والمخزون نظام بيع مباشر (POS) دعم الباركود والطباعة الحرارية التحكم بالمبيعات داخل المتاجر 📁 7. إدارة المشاريع والمهام تنظيم المشاريع والمهام متابعة تقدم العمل دعم فرق العمل والتعاون 🔐 8. نظام صلاحيات متقدم إدارة المستخدمين تحديد صلاحيات حسب الدور (Role-Based Access) حماية بيانات الشركة 🤖 9. دعم الذكاء الاصطناعي أتمتة العمليات تحسين الأداء واتخاذ القرارات تكامل مع نماذج AI متعددة 📅 10. إدارة الاجتماعات والتنبيهات جدولة الاجتماعات والفعاليات نظام إشعارات متكامل تنظيم العمل الداخلي ☁️ 11. دعم التخزين السحابي تخزين البيانات محلي أو عبر AWS وWasabi وصول آمن من أي مكان 🌍 12. دعم متعدد اللغات يدعم اللغة العربية واجهة RTL (من اليمين لليسار) مناسب للأسواق العربية 💳 13. بوابات دفع متعددة دعم Stripe وPayPal وغيرها تسهيل عمليات الدفع الإلكتروني ⚙️ 14. نظام مرن وقابل للتخصيص إعدادات مخصصة لكل شركة تخصيص سير العمل (Workflow) مناسب للشركات الصغيرة والمتوسطة والكبيرة 🎯 الخلاصة نظام ERPGo SaaS هو حل متكامل لإدارة الشركات يوفر: ✔ إدارة مالية ومحاسبية ✔ إدارة موظفين ومشاريع ✔ CRM ومبيعات ✔ POS ومخزون ✔ تقارير وتحليلات ذكية كل ذلك داخل منصة واحدة حديثة وسهلة الاستخدام تساعدك على تشغيل شركتك بكفاءة عالية. https://erp.mf-myfriend.online/
  14. Yesterday
  15. تفضل استاذ @أحمد الشحات85 الشرح والمرفق حسب ما فهمت . ووافني بالرد . Ahmed ElShahat.rar
  16. وعليكم السلام وحمه الله اتفضل لعله المطلوب برمجة اكسل (1).xlsm تم تصميم الصوره ب ai برمجة اكسل (1).xlsm
  17. فكرة تهم في المقام الأول مصممي ومطوري النظم: كود داخل نموذج وظيفتة يقوم بمزامنة الأكواد من النموذج إلى الوحدة النمطية بحيث عند حذف أي كود من الوحدة يتم استرجاع الأكواد المحذوفة فقط مرة أخرى دون تكرار أو حتى عند حذف الوحدة النمطية كاملة يعيدها بالاكواد مرة أخرى الفكرة يمكن الاستفادة منها بشكل كبير جدا وبشكل عملى من تعجبه الفكرة يمكنه محاولة تنفيذها ومشاركتنا أفكاره ومن تعجبه الفكرة ولا يعرف كيف ينفذها يمكنه طلب المساعدة وسنتبادل معه الأفكار المناسبة وأحب أوضح نقطة مهمة: الفكرة ليست طلبا شخصيا أو بحثا عن طريقة تنفيذ فقد تم تنفيذها بالفعل والحمد لله تعمل بكفاءة تامة وجب التنويه حتى لا يساء الفهم أو توجه اتهامات في العلن أو الخفاء من أصحاب النوايا السيئة والقلوب المريضة او يتم الإشارة الينا بأى نقيصة لأنه للأسف مررت بتجارب مع بعض الأشخاص الذين يظهرون الطيبة في العلن ويخفون في الخفاء تصرفات مؤسفة حمقاء لا تمت للأدب أو الاحترام بصلة اشخاص يصرون على عدم احترام خصوصيتك رغما عنك بتصرفات صبيانيه ورعونة وسزاجة حمقاء والأسوأ احتفاظهم بمراسلات خاصة لاستعمالها في ابتزاز أو وعيد وتهديد رخيص أو تشهير لم تصادفنى حماقة أو سوء أدب بهذا الشكل من قبل ثم يبررون أمام الآخرين أن ردود افعالهم فى مشاركاتهم فقط مجرد "نكاش و مزاح أو نقاش" رغم أنه تجاوز واضح لحدود الأدب والاحترام في انتظار مشاركاتكم وآرائكم إن أعجبتكم الفكرة وتجدونها مفيدة
  18. هو المفروض ان المرفق الثانى بيدعم كل الامتدادت من المرفقات اللى حضرتك شاركتها لكن على كل حال اليك المرفق بعد عمل اعادة هيكلة شاملة للكود كاملا تفعيل وإلغاء الشفت.mdb
  19. وليش نأخذ طريق ملتوي، عندنا طريق واضح
  20. السلام عليكم بالمرفقات ثلاث تطبيقات بسيطة ورائعة من عمل أبو جودي والأخت زهرة منهم من يقتصر فلتره على إظهار mdb والآخر على accdb المفترض أن البرنامج الناتج يتوافق مع أوفيس 2003 بالإضافة للإصدارات التالية بالطبع سوف نري مع الشمول البرمجي الناحية الجمالية بأفضل صورة وأنا واثق من هذا شكراً لجميع الزملاء مقدماً وتهنئة لنا بعودة أبو جودي للمنتدى من جديد تفعيل وإلغاء الشفت1.mdb تفعيل وإلغاء الشفت2.mdb تفعيل وإلغاء الشفت3.mdb
  21. تفضل اسناذ @بلال بلال المرفق بعد التعديل بطلبك الاخير بالرسالة .ووافني بالرد . 19840019_ Plateform-3.rar
  22. بارك الله فيك اخي الكريم hegazee على الشرح الوافي وبالصور وهذا مااردت معرفته بالضبط سبب المشكل تم تطبيق الشرح ونجح الأمر على الملف الأصلي اشكركم جزيل الشكر اخي الفاضل
  23. تفضل اسناذ @بلال بلال المرفق بعد التعديل بطلبك .ووافني بالرد . 19840019_ Plateform-2.rar
  24. استاذ اخفاء رسالة الرجاء الانتظار استاذ اظهار الشريط و رسالة الرجاء الانتظار فقط عند الضعط على ايقونة تسجيل الدخول سواء كانت كلمة المرور صحيح يمسح له بالدخول أو خطأ لا يسطيع تظهر رسالة التنبه
  25. الاسبوع الماضي
  26. اتفضل استاذ تدلل قمت باضافة المرفق كموضوع فى مكتبة الموقع لاهمية ولسهولة الوصول و الحصول عليه تم عمل واضافة بعد التعديلات وكل شئ تقريبا تم شرحة فى المكتبة وتم اضافة مرفقكم مع دعم اضافة نماذج جديدة باختصار شديد التحديثات تتلخص فى التالى 1- قيمة المؤقت يتم التعامل معها بمرونة بتمريرها كمعامل لبعض الحالات المختلفة التى تستدعى تغيير هذه القيمة 2- امن فى حالة الطوارئ عند فقدان اكواد الموديول عدم توقف التطبيق من خلال : Fallback
  27. اعرض الملف Clock With Smart Timer هذا الموضوع يعد مهماً وحيوياً لمصممي ومطوري النظم أكثر من المستخدم العادي خاصة عند استخدام حدث Timer مع أي نموذج ويريد مطور النظام فتح محرر الأكواد (VBA) في نفس وقت عرض النماذج هنا تحدث المشكلة الكلاسيكية: المطور لا يستطيع تعديل أي كود لأن التايمر النموذج يعطل التركيز داخل المحرر و يسبب أخطاء بفضل هذه الفكرة الثورية هذا الأمر أصبح من الماضي السحيق فكرة العمل باختصار 1 - عند فتح النموذج يبدأ TimerInterval تلقائياً 2 - إذا تم فتح محرر VBA بأى طريقة كانت يتم إيقاف التايمر فوراً 3 - عند إغلاق المحرر والعودة إلى النماذج يتم تشغيل التايمر من جديد تلقائياً وفوراً 4 - لا حاجة لتمرير اسم النموذج الرئيسي أو اسم عنصر الـ Subform يدوياً 5 - المطلوب فقط هو تمرير اسم عنصر التحكم الذي سيتم عرض الوقت فيه (Label أو TextBox) حسب الحاجة والرغبة مميزات الحل ذكـي : يكتشف النموذج الرئيسي والفرعي تلقائياً متعدد : يعمل مع أكثر من نموذج في نفس الوقت مـــرن : يدعم Label و TextBox كعناصر عرض للوقت آمـــن : إذا تم حذف الوحدة النمطية يتحول تلقائياً إلى Fallback Mode باستخدام دالة الوقت الرئيسية : Now() خفيف : لا يعتمد على Timer إضافي للمراقبة جاهــز : يعمل مع النماذج الرئيسية و الفرعية أو الرئيسية المستقلة أو الرئيسية والفرعية معا ----------------------------------------------------- الوحدة النمطية العامة الاسم المقترح: basClockManager الكود... Option Compare Database Option Explicit #If VBA7 Then Private Declare PtrSafe Function SetWinEventHook Lib "user32" ( _ ByVal eventMin As Long, _ ByVal eventMax As Long, _ ByVal hmodWinEventProc As LongPtr, _ ByVal pfnWinEventProc As LongPtr, _ ByVal idProcess As Long, _ ByVal idThread As Long, _ ByVal dwFlags As Long) As LongPtr Private Declare PtrSafe Function UnhookWinEvent Lib "user32" ( _ ByVal hWinEventHook As LongPtr) As Long Private Declare PtrSafe Function GetAncestor Lib "user32" ( _ ByVal hwnd As LongPtr, _ ByVal gaFlags As Long) As LongPtr #Else Private Declare Function SetWinEventHook Lib "user32" ( _ ByVal eventMin As Long, _ ByVal eventMax As Long, _ ByVal hmodWinEventProc As Long, _ ByVal pfnWinEventProc As Long, _ ByVal idProcess As Long, _ ByVal idThread As Long, _ ByVal dwFlags As Long) As Long Private Declare Function UnhookWinEvent Lib "user32" ( _ ByVal hWinEventHook As Long) As Long Private Declare Function GetAncestor Lib "user32" ( _ ByVal hwnd As Long, _ ByVal gaFlags As Long) As Long #End If Private Const EVENT_SYSTEM_FOREGROUND As Long = &H3 Private Const WINEVENT_OUTOFCONTEXT As Long = &H0 Private Const GA_ROOT As Long = 2 Private gHook As LongPtr Private gAccessHwnd As LongPtr Private gClocks As Object Private Sub EnsureClockStore() If gClocks Is Nothing Then Set gClocks = CreateObject("Scripting.Dictionary") End If End Sub Private Function MakeClockKey(frm As Access.Form) As String On Error GoTo ErrorHandler Dim vParentForm As Access.Form Dim vControlName As String Set vParentForm = frm.Parent vControlName = GetSubformControlName(vParentForm, frm) If Len(vControlName) > 0 Then MakeClockKey = vParentForm.Name & "|" & vControlName & "|" & frm.Name Exit Function End If ErrorHandler: MakeClockKey = frm.Name End Function Private Function CreateClockState(frm As Access.Form, _ ByVal pControlName As String, _ ByVal pIntervalMS As Long) As Object Dim vState As Object Set vState = CreateObject("Scripting.Dictionary") Dim vIsSubform As Boolean Dim vParentName As String Dim vSubCtlName As String On Error Resume Next vParentName = frm.Parent.Name vSubCtlName = GetSubformControlName(frm.Parent, frm) vIsSubform = (Len(vSubCtlName) > 0) On Error GoTo 0 vState.Add "Key", MakeClockKey(frm) vState.Add "HostFormName", frm.Name vState.Add "ParentFormName", vParentName vState.Add "SubformControlName", vSubCtlName vState.Add "IsSubform", vIsSubform vState.Add "ControlName", pControlName vState.Add "WasStoppedByVBE", False vState.Add "IntervalMS", pIntervalMS Set CreateClockState = vState End Function Public Sub StartSmartClock(frm As Access.Form, _ ByVal pControlName As String, _ Optional ByVal pIntervalMS As Long = 1000) On Error GoTo ErrorHandler EnsureClockStore Dim vKey As String Dim vState As Object vKey = MakeClockKey(frm) If gClocks.Exists(vKey) Then gClocks.Remove vKey Set vState = CreateClockState(frm, pControlName, pIntervalMS) gClocks.Add vKey, vState frm.TimerInterval = pIntervalMS If gAccessHwnd = 0 Then gAccessHwnd = Application.hWndAccessApp If gHook = 0 Then gHook = SetWinEventHook( _ EVENT_SYSTEM_FOREGROUND, _ EVENT_SYSTEM_FOREGROUND, _ 0, _ AddressOf ForegroundChangedProc, _ 0, 0, _ WINEVENT_OUTOFCONTEXT) End If Exit Sub ErrorHandler: End Sub Public Sub StopSmartClock(frm As Access.Form) On Error Resume Next EnsureClockStore Dim vKey As String vKey = MakeClockKey(frm) frm.TimerInterval = 0 If gClocks.Exists(vKey) Then gClocks.Remove vKey End If If gClocks.Count = 0 Then If gHook <> 0 Then UnhookWinEvent gHook gHook = 0 End If Set gClocks = Nothing End If End Sub Public Sub SmartClockTimer(frm As Access.Form) On Error Resume Next EnsureClockStore Dim vKey As String Dim vState As Object vKey = MakeClockKey(frm) If Not gClocks.Exists(vKey) Then Exit Sub Set vState = gClocks(vKey) If IsVbeOpen() Then vState("WasStoppedByVBE") = True frm.TimerInterval = 0 Exit Sub End If Dim vTimeText As String vTimeText = Format$(Now(), "dd/mm/yyyy hh:nn:ss AM/PM") If Len(vState("ControlName")) > 0 Then UpdateControlDisplay frm, vState("ControlName"), vTimeText End If End Sub Private Function IsVbeOpen() As Boolean On Error Resume Next IsVbeOpen = Application.VBE.MainWindow.Visible If Err.Number <> 0 Then IsVbeOpen = False On Error GoTo 0 End Function Private Sub UpdateControlDisplay(frm As Access.Form, ByVal pControlName As String, ByVal pDisplayText As String) On Error Resume Next Dim vControl As Access.Control Set vControl = frm.Controls(pControlName) If vControl Is Nothing Then Exit Sub Select Case vControl.ControlType Case acTextBox If vControl.Value <> pDisplayText Then vControl.Value = pDisplayText End If Case acLabel If vControl.Caption <> pDisplayText Then vControl.Caption = pDisplayText End If End Select End Sub Private Function GetSubformControlName(vParentForm As Access.Form, vChildForm As Access.Form) As String On Error Resume Next Dim vControl As Access.Control For Each vControl In vParentForm.Controls If vControl.ControlType = acSubform Then If vControl.Form Is vChildForm Then GetSubformControlName = vControl.Name Exit Function End If End If Next vControl End Function Private Function GetStateTargetForm(vState As Object, ByRef vForm As Access.Form) As Boolean On Error GoTo ErrorHandler If vState("IsSubform") Then If (SysCmd(acSysCmdGetObjectState, acForm, vState("ParentFormName")) And acObjStateOpen) = 0 Then Exit Function Set vForm = Forms(vState("ParentFormName")).Controls(vState("SubformControlName")).Form Else If (SysCmd(acSysCmdGetObjectState, acForm, vState("HostFormName")) And acObjStateOpen) = 0 Then Exit Function Set vForm = Forms(vState("HostFormName")) End If GetStateTargetForm = Not (vForm Is Nothing) Exit Function ErrorHandler: Set vForm = Nothing End Function #If VBA7 Then Public Sub ForegroundChangedProc( _ ByVal hWinEventHook As LongPtr, _ ByVal eventId As Long, _ ByVal hwnd As LongPtr, _ ByVal idObject As Long, _ ByVal idChild As Long, _ ByVal dwEventThread As Long, _ ByVal dwmsEventTime As Long) #Else Public Sub ForegroundChangedProc( _ ByVal hWinEventHook As Long, _ ByVal eventId As Long, _ ByVal hwnd As Long, _ ByVal idObject As Long, _ ByVal idChild As Long, _ ByVal dwEventThread As Long, _ ByVal dwmsEventTime As Long) #End If On Error Resume Next If gClocks Is Nothing Then Exit Sub If gClocks.Count = 0 Then Exit Sub If GetAncestor(hwnd, GA_ROOT) <> gAccessHwnd Then Exit Sub Dim vKey As Variant Dim vState As Object Dim vForm As Access.Form For Each vKey In gClocks.Keys Set vState = gClocks(vKey) If vState("WasStoppedByVBE") Then If GetStateTargetForm(vState, vForm) Then vForm.TimerInterval = vState("IntervalMS") Dim vTimeText As String vTimeText = Format$(Now(), "dd/mm/yyyy hh:nn:ss AM/PM") If Len(vState("ControlName")) > 0 Then UpdateControlDisplay vForm, vState("ControlName"), vTimeText End If vState("WasStoppedByVBE") = False End If End If Next vKey End Sub ----------------------------------------------------- طريقة الاستدعاء في النماذج نموذج يعرض الوقت في Label الكود... Private Sub Form_Load() Application.Run "StartSmartClock", Me, "lblTime", 1000 End Sub Private Sub Form_Timer() Application.Run "SmartClockTimer", Me End Sub Private Sub Form_Unload(Cancel As Integer) Application.Run "StopSmartClock", Me End Sub ----------------------------------------------------- نموذج يعرض الوقت في TextBox الكود... Private Sub Form_Load() Application.Run "StartSmartClock", Me, "txtTime", 1000 End Sub Private Sub Form_Timer() Application.Run "SmartClockTimer", Me End Sub Private Sub Form_Unload(Cancel As Integer) Application.Run "StopSmartClock", Me End Sub ----------------------------------------------------- نموذج بدون عرض نصي للوقت الكود... Private Sub Form_Load() Application.Run "StartSmartClock", Me, "", 1000 End Sub Private Sub Form_Timer() Application.Run "SmartClockTimer", Me End Sub Private Sub Form_Unload(Cancel As Integer) Application.Run "StopSmartClock", Me End Sub ----------------------------------------------------- كما تلاحظون الاستدعاء سهل وموحد سواء أردنا عرض الوقت في TextBox أو Label Application.Run "StartSmartClock", Me, "", 1000 ملاحظة هامة حول معامل : TimerInterval وهو المعامل الثالث فى الاستدعاء (Interval) الرقم: 1000 هو قيمة TimerInterval يمثل الفاصل الزمني بالميلي ثانية القيمة الافتراضية : 1000 (ثانية واحدة) تم ضبطها مسبقاً داخل الوحدة النمطية هل هو إجباري؟ لايمكن حذفه والاعتماد على القيمة الافتراضية طرق الاستدعاء المختلفة مع المعامل : ' الطريقة الأولى: تمرير قيمة مخصصة (مثلاً نصف ثانية) Application.Run "StartSmartClock", Me, "lblTime", 500 ' الطريقة الثانية: حذف المعامل (يتم استخدام 1000 تلقائياً) Application.Run "StartSmartClock", Me, "lblTime" في بعض الحالات قد يرغب المصمم في عمل التالى : ساعة عادية لذلك سوف تكون قيمة : TimerInterval =1000 (ثانية واحدة) ساعة دقيقة (Stopwatch) تكون قيمة TimerInterval = 100 (جزء من الثانية) ساعة بطيئة (تحديث نادر) تكون قيمة TimerInterval = 5000 (5 ثوانٍ) لهذا السبب تم جعل هذا المعامل اختيارياً مع استخدام القيمة الإفتراضية المنطقية مع إتاحة المجال للمصمم لتغييره حسب احتياجاته ----------------------------------------------------- نموذج مع Fallback ( منتهى الأمان ) الكود... Option Compare Database Option Explicit Private mIsSmartClockActive As Boolean Private Sub Form_Load() AttemptStartSmartClock End Sub Private Sub Form_Timer() Dim vTimeText As String vTimeText = Format$(Now(), "dd/mm/yyyy hh:nn:ss AM/PM") If mIsSmartClockActive Then Application.Run "SmartClockTimer", Me Me.txtDClock = vTimeText Else ' Fallback: النموذج يحدث نفسه بنفسه Me.txtDClock = vTimeText Me.lblDClock.Caption = vTimeText End If End Sub Private Sub Form_Unload(Cancel As Integer) On Error Resume Next If mIsSmartClockActive Then Application.Run "StopSmartClock", Me End If Me.TimerInterval = 0 On Error GoTo 0 End Sub Private Sub AttemptStartSmartClock() On Error GoTo FallbackMode Application.Run "StartSmartClock", Me, "lblDClock", 1000 mIsSmartClockActive = True Exit Sub FallbackMode: Err.Clear mIsSmartClockActive = False Me.TimerInterval = 1000 End Sub ----------------------------------------------------- الخلاصة النهائية :الاستدعاء المناسب عرض الوقت في : Label LabelStartSmartClock Me, "lblTime" عرض الوقت في : TextBox StartSmartClock Me, "txtTime" بدون عرض نصى للوقت مثلا : ساعة عقارب (بدون عرض نصي) StartSmartClock Me, "" نموذج فرعي (Subform) نفس الكود - يتم اكتشافه تلقائياً نماذج متعددة في نفس الوقت مدعوم بالكامل ملاحظات مهمة إعدادات الأمان : يجب تفعيل Trust access to the VBA project object model في إعدادات Trust Center إصدار Access : يعمل مع Access 2007 والإصدارات الأحدث مراجع إضافية : لا يحتاج إلى إضافة أي مراجع Fallback Mode : إذا تم حذف الوحدة النمطية، يتحول النموذج تلقائياً إلى استخدام Now() مع هذا الحل الفريد أصبح : التحكم في TimerInterval أثناء فتح محرر VBA أمراً تلقائياً بالكامل، دون أي تدخل يدوي أو تعقيدات سهولة فتح محرر VBA و إضافة أو تعديل أى أكواد في نفس وقت عرض النماذج وبدون أن تحدث المشكلة الكلاسيكية بسبب : TimerInterval استمتع بتجربة تطوير سلسة وخالية من المشاكل صاحب الملف ابو جودي تمت الاضافه 04/15/26 الاقسام قسم الأكسيس  
  1. أظهر المزيد
×
×
  • اضف...

Important Information