كل الانشطه
- الساعة الأخيرة
-
اخي الفاضل @الاهلاوى 2007 السلام عليكم ورحمة الله وبركاته .. اختيارك لـ تمت الإجابة ، معناه أنك قد وجدت الحل ، ولكن وبما أن طلبك ما زال قائماً ولم تحصل على الحل الكامل ؛ نرجو منك اختيار الزر تمت الإجابة فقط عند المشاركة التي حققت لك الحل . ولذا ، تصويباً للخطأ الغير مقصود ، في حال ما زال طلبك لم يتكتمل بالحل ، قم بإلغاء اختيار الإجابة ، وامنحها عند اغلاق الموضوع . أو إن كان طلبك التالي مختلفاً عن الأول . فحينها فاتح موضوع جديد لطلبك الثاني ، وأكمل في سؤالك الثاني .
-
قي الأمثال الشعبية مثل دارج " المعنى في بطن الشاعر" قال المتنبي أنامُ مِلْءَ جُفُوني عَنْ شَوَارِدِهَا ... وَيَسْهَرُ الخَلْقُ جَرَّاهَا وَيَخْتَصِمُ لذا فان تعليقي يقتصر على عيبين من عيوب الشعر اختلال الوزن العروضي الاقواء وهو ان تختلف حركة الاعراب لاحد الابيات عن البقية وقد يُخطِئُ الرَّأْيَ امرؤٌ وهْو حازِمٌ ... كما اختلَّ في وزنِ القَريضِ عَبيدُ الحمد لله اخي محمد نور الموقغ بعودتكم 🌹 الشايب
-
وعليكم السلام ورحمة الله وبركاته.. أخي الفاضل، أشكرك جزيل الشكر على نصيحتك الغالية وعلى وقتك. وجهة نظرك في محلها تماماً، فالمشروع المتكامل يحتاج بالفعل إلى دقة وتدرج لضمان جودة العمل وتفادي الأخطاء. بناءً على نصيحتكم السديدة، سأبدأ بالخطوة الأولى والأساسية، وهي "تصميم واجهة إدخال (UserForm) ذكية" تقوم بترحيل البيانات إلى جدول الأرشيف مع ميزة "منع تكرار التاريخ" (تحديث السطر إذا كان التاريخ موجوداً مسبقاً). سأقوم الآن بطرح هذا الطلب بشكل مستقل ومفصل مع إرفاق الملف، وبعد إتمامه سأنتقل معكم للخطوة التالية بخصوص التقارير والإحصاءات. ممتن جداً لتعاونكم ولروح المساعدة التي نلمسها دائماً في هذا الصرح العملاق.
-
⭐ هدية ~ كاسر ملفات آكسيس Accde - الإصدار الأول ⭐ متجدد
Foksh replied to Foksh's topic in قسم الأكسيس Access
أهلا معلمي الفاضل أبو خليل ، يبدو أنني لست محظوظاً معك مع الإصدار 32 .. قد يكون لك تجربة مستقلة في الإصدار 64 .. وهذا يسعدني .😊. أتفق معك إن كان الإستخدام الخاطئ لأي شيء تم صنعه وإنتاجه يسمى انتهاك .. ولكن قد يكون لي اقتراح عليك بأن أستثني برامجك المستقبلية من الكسر من خلال أداتي . يعني ممكن نتفق على بصمة داخل مشاريعك ،بمجرد الكشف عن وجودها يتوقف عمل الأداة ولا تسمح للمستخدم باستخراج مشاريعك أخي أبو أحمد .... ما تفعله أداتي سبق وأخبرتك بأنه متاح وببرامج كثيرة ومجانية أيضاً وليست مدفوعة يا صديقي ... أذكرلك منها مثلاً برنامج ، HxD وكل الشعب العربي يستعمله سواءً بالحلال أو الحرام . كل إناء ينضح بما فيه ،، أنا حاولت أستر عليك وأخفيت الرد ، لكن انت أظهرته ضمن صلاحياتك كمشرف ، وهنا خالفت وانتهكت حقوق منشوري . معلمي الجليل أبو خليل ، وجود الأداة في وضعها الحالي متفق عليه بأن هناك الكثير وكما تفضلتم من طرق وبرامج تقوم بمقامها - لكنها من انتاج أجنبي - ويسعدني ويشرفني ان أجتمع معكم في هذا الحديث . ولكن المرحلة المقفلة الحالية والتي بسببها قلق الكثيرون على مشاريعهم ، لم أفتحها حالياً ولا حتى استعرض ما توصلت له من استخراج للبنية التحتية لأكواد قاعدة البيانات . وبالتالي قد أجني منها فائدة مالية ومصدر رزق - وهذه النقطة أشكرك على فتح عيني عليها . أخي محب العقيدة ،حياك الله مجدداً ، أنرت مواضيعي بمشاركاتك لعدم رؤيتك بيننا 🥰 . قد أخالفك الرأي في نقطة واحدة أنني لا أحتاج للحالة الثانية بأن يكون هناك نسخة Accdb على الجهاز ثم تم حفظها Accde . ولكن ثق تماماً أنه 99.9% التي تحدثت عليها هي الآن = 1% وعن ثقة بما أقول صدقني .. وانا بإنتظار تجربتك على VB .. وعليكم السلام ورحمة الله وبركاته .. يقينك ليس في محله صدقني أستاذي الشايب . وأنت من القامات التي استشهد برأيها وأستنفع بعلمها إلى جانب كوكبة من المعلمين الأفاضل والأساتذة والموهوبين المحترمين .. لن يختلف ردي حول الحقوق المشروعة لكل صاحب ملف = وأنا مؤيد ومتفق 1000% فيما يدور القلق من حوله . لذا لها حل إن شاء الله . النشر في العلن أفضل من النشر في الخفاء .. أنا طرحت فكرة كما طرحت الشركات الكبرى خدماتها وبرامجها .. فما الضرر في هذا ، لا أعلم !!!! موضوع استنساخ القاعدة والحصول على نسخة مماثلة ثم عمل كراك .... إلخ ؛ هنا قد أخالفك الرأي قليلاً .. فآكسيس لن يسمح للمستخدم بأي يستورد أو يستخرج التقارير أو النماذج التي تحتوي أوامر VBA .. فمثلاً وهذه معلومة جديدة على بالبعض مفادها .. جرب انشاء قاعدة بيانات واجعل أوامرها في أزرار تجريبية مثلاً عبارة عن ماكرو لتنفذ بعض المهام مع استعلامات ... إلخ احفظ النسخة واقفلها جيداً بصيغة ACCDE . باستخدام برنامج HxD المتوفر على الانترنت ، أستطيع أن أستخرج لك نسخة كاملة من مشروعك ، وتعمل من المشروع بصيغة ACCDB مفتوحة المصدر . يعني مشكلة البعض الحالية تتعلق بأكواد VBA ، وخوفهم من كشفها . الأخ الفاضل - أخوك الصغير - لو كان له أي نوايا مخفية ، لما طرح الفكرة علناً .. أما فكرة أن أحذف البرنامج ، فأعتقد أني هنا لي رأي مخالف معك - الأداة حالياً مجانية بفائدتها الـ 20% التي رأيتموها ( إن كنتم جربتموها طبعاً ) . وليست ذات الضرر الذي أثار هذه الضجة الكبيرة .. نهاية وتسبقها بداية ، أشكر لكم جميعاً هذا النقاش المفيد ، والذي أوضح لي المخاطر و المخاوف من/عن هذا النتاج الذي قمت به . - Today
-
⭐ هدية ~ كاسر ملفات آكسيس Accde - الإصدار الأول ⭐ متجدد
شايب replied to Foksh's topic in قسم الأكسيس Access
السلام عليكم بداية مع تيقني بان مشاركة اخيا الشايب غير مرحبا بها من قبل البعض ولكن هذا الموضوع قد يؤثر على الحقوق الفكرية للاخرين هنا اتفق مع استاذنا @AbuuAhmed حتى وان لم يتم التوصل للاكود فان المبرمج يملك الحقوق الفكرية للجداول والاستعلامات والنماذج والتقارير كل جزء من البرنامج يمثل حق خاص لصاحبة نسخ او نقل او استيراد او الاطلاع على عرض التصميم او تسهيل ذلك للاخرين بدون اذن من صاحب الحق يعتبر اعتداء على الحقوق بارك الله فيك استاذ @ابو جودي واعتقد ان الكل متفق على ذلك بالنسبة لمثل هذه البرامج اجد ان نشرها في العلن ضرره اكبر من نفعة واستذكر هنا نقاش تم قبل سنوات بين الاستاذ الفاضل @jjafferr والاخ متقاعد غفر الله لنا وله عندما اشار متقاعد الى طريقة التعديل او اضافة زر امر في ملفات اكسس accde عن طريق استنساخ القاعدة للحصول على نسخة نمماثلة ثم عمل كراك يقوم بزرع الامر ولكن بحكمة وحرص الاستاذ جعفر اوقف النقاش عند حد معين وتم حذف الموضوع. اخيرا الاستاذ @Foksh اخ فاضل ولا اتصور ان لديه نية للإضرار بالاخرين واتمنى منه حذف البرنامح وان يبقية لاستخدامه حسب الطلب بعد ان يتأكد ان طالب الخدمة له حقوق البرنامج والله الموفق املاه اخونا الفاضل شايب -
⭐ هدية ~ كاسر ملفات آكسيس Accde - الإصدار الأول ⭐ متجدد
محب العقيدة replied to Foksh's topic in قسم الأكسيس Access
لا تتخوف اخي ابو خليل الحصول على الكود المصدري ليس كما تظن انا اظن اذا كان الجهاز قد انزل عليه ملفACCDE ولم يكن تخزين ACCDB عليه ثم خزن ك ACCDE فاعتقد استحالة استرجاع الكود المصدري نسة تاكدي 99.9%💪 والجواب عند اخي Foksh اما الحالة الاخرى فغير متاكد😅 اخي AbuuAhmed قولك لأسف الشديد بسبب موضوعكم هذا اضطررت لحذف برامجي العلمية المنشورة على الإنترنت والتي كانت ينتفع بها لا اجد داعي لذلك لا تتخوفوا كثيرا هو فقط للان لم تظهر الاكواد نماذج بدون اكواد اصيحت متحمسا لتنزيل VITRUALBOX لتنزيل OFFICE 64بت وتجربة مرفقFoksh -
الاخ الفاضل الاستاذ عبدالرحيم شكرا على الاهتمام المطلوب عند الوقوف فى شيت المشتريات او المبيعات او شيت مبيعات اليومية عند تسجيل صنف يتم البحث عن الصنف من شيت المخزن بدل الرجوع الى شيت المخزن ويتم البحث منه وتكون نتيجة البحث فى الشيتان اسم الصنف والكود فقط
-
⭐ هدية ~ كاسر ملفات آكسيس Accde - الإصدار الأول ⭐ متجدد
ابوخليل replied to Foksh's topic in قسم الأكسيس Access
هو فعلا موجود ومتاح للجميع بمقابل اخونا خليفة وحسب ما ذكره يملك واحدا منها سابقا وفي اصدارات mde حصلت من الانترنت ومجانا على ملف يستخرج جميع الكائنات بلا اكواد واعتقد انها ليست صعبة على مبرمج محترف ولكن لدي نصيحة صغيرة لأبي وسام .. انه اذا توصل الى استرجاع الكود ان يحتفظ به لنفسه ولا ينشره . وسيجني من ذلك فائدتين : 1- تحقيق الامانة العلمية وحفظ حقوق الآخرين 2- مصدر باب رزق له .. كثيرون يمرون بهذه المشكلة العصيبة .. وهنا يكون هو المسؤول عن هذا الرزق وبابه الشرعي . -
⭐ هدية ~ كاسر ملفات آكسيس Accde - الإصدار الأول ⭐ متجدد
ابو جودي replied to Foksh's topic in قسم الأكسيس Access
الحياة دين وخلق ومبادئ، ومن يفقد أحدها لا يُستغرب منه التهاون بخصوصية الناس وحقوقهم، لأن ما يصدر عن الإنسان إنما يكشف ما بداخله؛ كأن ينشر محادثات خاصة، أو يستخدم صورًا من محادثات خاصة، أو يلوّح بالتهديد في الخفاء، ثم يتظاهر أمام الناس بأن الأمر مجرد نقاش أو مزاح فلا تتعجب استاذ @AbuuAhmed -
⭐ هدية ~ كاسر ملفات آكسيس Accde - الإصدار الأول ⭐ متجدد
AbuuAhmed replied to Foksh's topic in قسم الأكسيس Access
يبقى انتهاكا للحقوق وإن قام به الآخرون، وهو كذلك "انتهاكا" لقوانين الموقع، فكم من مواضيع قام المراقبون والمشرفون بإغلاقها وصد ناشريها، فلما تمارسونها؟! ممكن الموقع يقدم خدمات (مثلا) كإزالة كلمة مرور فقط لمالك برنامج بعد التثبت من ملكيته له، أما أكثر من ذلك فلا أراه صائبا. -
ابوخليل started following ⭐ هدية ~ كاسر ملفات آكسيس Accde - الإصدار الأول ⭐ متجدد
-
⭐ هدية ~ كاسر ملفات آكسيس Accde - الإصدار الأول ⭐ متجدد
ابوخليل replied to Foksh's topic in قسم الأكسيس Access
وندوز 10 اوفيس 10 32 بت انجلش وهذه النتيجة وعند الموافقة تظهر الصورة الاخرى جامدة ولا يتم الغلق الا من خلال تاسك منجر الصورة السفلى هي من تظهر اولا -
Foksh started following مساعدتي في اكمال ملف
-
وعليكم السلام ورحمة الله وبركاته.. بدايةً أتمنى أن تجد رداً لطلباتك التي تطمح بتحقيقها . ولكن يا عزيزي الفاضل ، ما تطلبه ليس طلباً واحداً. أنت ترغب بتحويل مشروع من جداول يدوية الى نماذج آلية ؛ والعمل لن يكون بسيطاً كما تتصوره. لذا أنصحك بالتدرج في طلباتك خطوة خطوة ، بحيث يكون لكل طلب موضوع مستقل ، ثم تقوم بتجميع الحلول من الأخوة والأساتذة المتقدمين لمد يد العون والمساعدة لك . وهم كثر والحمد لله. دمت بخير 😇
- Yesterday
-
⭐ هدية ~ كاسر ملفات آكسيس Accde - الإصدار الأول ⭐ متجدد
Foksh replied to Foksh's topic in قسم الأكسيس Access
حياك الله اخي أبو أحمد.. موضوعي هذا ليس طفرة جينية جديدة ، بل سبقه برامج كثيرة وبمميزات أكبر موجودة في الإنترنت. -
استاذنا الكبير moosak اشكرك على المتابعة و العناية و سرعة الرد و استفسارى !!! هل تم ايقاف تنشيط خيارات المعالجات عند اختيارها يتم التلوين للتأكد من تنشطها الرسالة الدائمة و المتكررة (حدث خطأ أثناء الاتصال بالخادم: Error: حدث خطأ أثناء المعالجة: فشل أثناء لمعالجة الكود) هل هذة رسالة عارضة مرجعها النت مثلا ارجو التوضيح لو امكن مع كامل الشكر و التقدير
-
⭐ هدية ~ كاسر ملفات آكسيس Accde - الإصدار الأول ⭐ متجدد
AbuuAhmed replied to Foksh's topic in قسم الأكسيس Access
لأسف الشديد بسبب موضوعكم هذا اضطررت لحذف برامجي العلمية المنشورة على الإنترنت والتي كانت ينتفع بها. -
عبدللرحيم started following كود بحث من شيت الى شيت اخر
-
بعد إذن أستاذى hegazee الاهلاوى 2007 طلب المساعدة غير واضح تم حل مشكلة التعجب الموجودة فى ورقة التقرير إضافة دالة IFERROR 1 _ شهر ابريل1 2026.xlsm
-
Mohamed A hafez joined the community
-
تم معالجة المشكلة ولله الحمد .. 👍🙂 تم نقل الصفحة لموقع آخر يعمل بشكل مجاني .. وهذا هو الرابط الجديد وقد تم تحديثه أيضا في المشاركة الأساسية : https://script.google.com/macros/s/AKfycbwNEw1mNkjqgRndgyLnC89MLYI2C6UiEE-jlRNET0v__nAK377nD8WFkGHnmaTIvxgx/exec
-
وانا قلت اسبق حضرتك بوضع المثال المثال و المرفق والافكار وصاحبهم ملك يمينك استاذ @منتصر الانسي تدلل لو عند حضرتك نموذج ساعه تانى غير ده ارفق النموذج لاقوم بتطبق الفكرة عليه
- 3 replies
-
- اظهار الساعة تعمل داخل النموذج
- حدث التيمر
-
(و28 أكثر)
موسوم بكلمه :
- اظهار الساعة تعمل داخل النموذج
- حدث التيمر
- form_timer
- timerinterva
- فتح/إغلاق محرر vba
- الساعة والدقائق والثواني
- عداد
- عداد (تايمر)
- عداد (تايمر) النموذج
- microsoft access
- access vba
- form timer
- محرر vba
- setwineventhook
- unhookwinevent
- event_system_foreground
- hwndaccessapp
- ساعة داخل النموذج
- إيقاف التايمر أثناء التصميم
- إعادة تشغيل التايمر تلقائيا
- windows hook
- foreground window
- startsmartclock
- start clock
- stopsmartclock
- stop clock
- starsmarttimer
- stopsmarttimer
- startimer
- stoptimer
-
كنت على وشك أن أطلب منك تطبيق الحل على مثال لساعة حائطية وجاء الرد قبل أن أطلب رائع 👏👏👏
- 3 replies
-
- 1
-
-
- اظهار الساعة تعمل داخل النموذج
- حدث التيمر
-
(و28 أكثر)
موسوم بكلمه :
- اظهار الساعة تعمل داخل النموذج
- حدث التيمر
- form_timer
- timerinterva
- فتح/إغلاق محرر vba
- الساعة والدقائق والثواني
- عداد
- عداد (تايمر)
- عداد (تايمر) النموذج
- microsoft access
- access vba
- form timer
- محرر vba
- setwineventhook
- unhookwinevent
- event_system_foreground
- hwndaccessapp
- ساعة داخل النموذج
- إيقاف التايمر أثناء التصميم
- إعادة تشغيل التايمر تلقائيا
- windows hook
- foreground window
- startsmartclock
- start clock
- stopsmartclock
- stop clock
- starsmarttimer
- stopsmarttimer
- startimer
- stoptimer
-
فتح النموذج الفرعي عن طريق القائمة المسندلة
ابو جودي replied to بلال بلال's topic in قسم الأكسيس Access
ما شاء الله .. الله اكبر .. اللهم بارك ايه الجمال والحلاوة دى -
تطبيق عملى للفكرة والاكواد على المثال القدبم والمستخدم سابقا فى الموضوع : مطلوب اظهار الساعة تعمل داخل النموذج (الساعة والدقائق والثواني ) من غير استخدام عداد (تايمر) النموذج ClockEngine.zip
- 3 replies
-
- اظهار الساعة تعمل داخل النموذج
- حدث التيمر
-
(و28 أكثر)
موسوم بكلمه :
- اظهار الساعة تعمل داخل النموذج
- حدث التيمر
- form_timer
- timerinterva
- فتح/إغلاق محرر vba
- الساعة والدقائق والثواني
- عداد
- عداد (تايمر)
- عداد (تايمر) النموذج
- microsoft access
- access vba
- form timer
- محرر vba
- setwineventhook
- unhookwinevent
- event_system_foreground
- hwndaccessapp
- ساعة داخل النموذج
- إيقاف التايمر أثناء التصميم
- إعادة تشغيل التايمر تلقائيا
- windows hook
- foreground window
- startsmartclock
- start clock
- stopsmartclock
- stop clock
- starsmarttimer
- stopsmarttimer
- startimer
- stoptimer
-
kkhalifa1960 started following فتح النموذج الفرعي عن طريق القائمة المسندلة
-
فتح النموذج الفرعي عن طريق القائمة المسندلة
kkhalifa1960 replied to بلال بلال's topic in قسم الأكسيس Access
مشاركةً مع استاذي @ابو جودي تفضل استاذ @بلال بلال الشرح والمرفق حسب مافهمت . ووافني بالرد . قاعدة بيانات- بلال.rar -
ابو جودي started following شخابيط ابو جودى : فكرة ثورية لحل مشكلة الأكسس الأزلية مع حدث التيمر
-
السلام عليكم ورحمة الله تعالى وبركاته بادئ ذي بدء هذا الموضوع يعد مهما وحيويا لمصممي ومطوري النظم أكثر من المستخدم العادي جاءت فكرة هذا الموضوع بناء على موضوع سابق كان بعنوان: مطلوب إظهار الساعة تعمل داخل النموذج (الساعة والدقائق والثواني) من غير استخدام عداد (تايمر) النموذج ومن أهم ما ورد فيه هذا الاقتباس: 1- 2-وهذا الاقتباس: في الموضوع السابق كانت الفكرة تمثل حلا تقليديا لأنها اعتمدت على Timer آخر للمراقبة وهذا لم يكن مناسبا لأنه يظل يعمل أثناء تعديل الأكواد داخل محرر VBA لكن بفضل الله سبحانه وتعالى توصلت إلى حل مختلف تماما يعتمد على: TimerInterval الخاص بالنموذج نفسه مراقبة ظهور واختفاء محرر VBA استخدام Hook عند تغيير النافذة النشطة بدلا من الاعتماد على Timer إضافي فكرة العمل باختصار عند فتح النموذج يبدأ TimerInterval إذا تم فتح محرر VBA يتم إيقاف التايمر فورا عند إغلاق المحرر والعودة إلى نماذج قاعدة البيانات المفتوحة يتم تشغيل التايمر من جديد تلقائيا وفورا لا حاجة لتمرير اسم النموذج الرئيسي أو اسم عنصر الـ Subform يدويا لأن الكود يكتشف ذلك تلقائيا المطلوب فقط هو تمرير اسم عنصر التحكم الذي سيتم عرض الوقت فيه أيا كان نوعه: Label أو TextBox مميزات الحل يعمل مع النموذج الرئيسي أو المستقل يعمل مع النموذج الفرعي يعمل مع أكثر من نموذج في نفس الوقت يدعم عنصر العرض سواء كان Label أو TextBox لا يعتمد على Timer إضافي للمراقبة الوحدة النمطية العامة باسم : basSmartClock 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 CLOCK_INTERVAL_MS As Long = 1000 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 EH Dim p As Access.Form Dim ctlName As String Set p = frm.Parent ctlName = GetSubformControlName(p, frm) If Len(ctlName) > 0 Then MakeClockKey = p.Name & "|" & ctlName & "|" & frm.Name Exit Function End If EH: MakeClockKey = frm.Name End Function Private Function CreateClockState(frm As Access.Form, ByVal ClockControlName As String) As Object Dim d As Object Set d = CreateObject("Scripting.Dictionary") Dim isSub As Boolean Dim parentName As String Dim subCtlName As String On Error Resume Next parentName = frm.Parent.Name subCtlName = GetSubformControlName(frm.Parent, frm) isSub = (Len(subCtlName) > 0) On Error GoTo 0 d.Add "Key", MakeClockKey(frm) d.Add "HostFormName", frm.Name d.Add "ParentFormName", parentName d.Add "SubformControlName", subCtlName d.Add "IsSubform", isSub d.Add "ClockControlName", ClockControlName d.Add "WasStoppedByVBE", False Set CreateClockState = d End Function Public Sub StartSmartClock(frm As Access.Form, ByVal ClockControlName As String) On Error GoTo EH EnsureClockStore Dim key As String Dim state As Object key = MakeClockKey(frm) If gClocks.Exists(key) Then gClocks.Remove key End If Set state = CreateClockState(frm, ClockControlName) gClocks.Add key, state frm.TimerInterval = CLOCK_INTERVAL_MS If gAccessHwnd = 0 Then gAccessHwnd = Application.hWndAccessApp End If If gHook = 0 Then gHook = SetWinEventHook( _ EVENT_SYSTEM_FOREGROUND, _ EVENT_SYSTEM_FOREGROUND, _ 0, _ AddressOf ForegroundChangedProc, _ 0, _ 0, _ WINEVENT_OUTOFCONTEXT) End If Exit Sub EH: End Sub Public Sub StopSmartClock(frm As Access.Form) On Error Resume Next EnsureClockStore Dim key As String key = MakeClockKey(frm) frm.TimerInterval = 0 If gClocks.Exists(key) Then gClocks.Remove key 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 key As String Dim state As Object key = MakeClockKey(frm) If Not gClocks.Exists(key) Then Exit Sub Set state = gClocks(key) If Application.VBE.MainWindow.Visible Then state("WasStoppedByVBE") = True frm.TimerInterval = 0 Exit Sub End If SetClockDisplay frm, state("ClockControlName"), Format$(Now(), "dd/mm/yyyy, hh:nn:ss AM/PM") End Sub Private Sub SetClockDisplay(frm As Access.Form, ByVal ClockControlName As String, ByVal ClockText As String) On Error Resume Next Dim ctl As Access.Control Set ctl = frm.Controls(ClockControlName) If ctl Is Nothing Then Exit Sub Select Case ctl.ControlType Case acTextBox ctl.Value = ClockText Case acLabel ctl.Caption = ClockText End Select End Sub Private Function GetSubformControlName(parentFrm As Access.Form, childFrm As Access.Form) As String On Error Resume Next Dim ctl As Access.Control For Each ctl In parentFrm.Controls If ctl.ControlType = acSubform Then If ctl.Form Is childFrm Then GetSubformControlName = ctl.Name Exit Function End If End If Next ctl End Function Private Function GetStateTargetForm(state As Object, ByRef frm As Access.Form) As Boolean On Error GoTo EH If state("IsSubform") Then If (SysCmd(acSysCmdGetObjectState, acForm, state("ParentFormName")) And acObjStateOpen) = 0 Then Exit Function Set frm = Forms(state("ParentFormName")).Controls(state("SubformControlName")).Form Else If (SysCmd(acSysCmdGetObjectState, acForm, state("HostFormName")) And acObjStateOpen) = 0 Then Exit Function Set frm = Forms(state("HostFormName")) End If GetStateTargetForm = Not (frm Is Nothing) Exit Function EH: Set frm = 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 k As Variant Dim state As Object Dim frm As Access.Form For Each k In gClocks.Keys Set state = gClocks(k) If state("WasStoppedByVBE") Then If GetStateTargetForm(state, frm) Then frm.TimerInterval = CLOCK_INTERVAL_MS SetClockDisplay frm, state("ClockControlName"), Format$(Now(), "dd/mm/yyyy, hh:nn:ss AM/PM") state("WasStoppedByVBE") = False End If End If Next k End Sub مثال الاستدعاء إذا كان العرض داخل Label Option Compare Database Option Explicit Private Sub Form_Open(Cancel As Integer) StartSmartClock Me, "lblClock" End Sub Private Sub Form_Timer() SmartClockTimer Me End Sub Private Sub Form_Unload(Cancel As Integer) StopSmartClock Me End Sub مثال الاستدعاء إذا كان العرض داخل TextBox Option Compare Database Option Explicit Private Sub Form_Open(Cancel As Integer) StartSmartClock Me, "txtDClock" End Sub Private Sub Form_Timer() SmartClockTimer Me End Sub Private Sub Form_Unload(Cancel As Integer) StopSmartClock Me End Sub كما تلاحظون كود الاستدعاء هو نفسه لأي نموذج سواء كان: رئيسيا فرعيا منفردا أو أكثر من نموذج معا إذا كان عرض الوقت داخل النموذج يعتمد على عنصر من النوع: Label إذا كان عرض الوقت داخل النموذج يعتمد على عنصر من النوع: TextBox كل المطلوب فقط هو تمرير اسم عنصر التحكم المستخدم في عرض الوقت ايا كان نوعه ( Label/TextBox ) : StartSmartClock Me, "اسم_عنصر_التحكم" وفى النهاية أسأل الله أن ينفع به إذا كان لدى أحد الأساتذة العظماء أو الإخوة الكرام أي ملاحظة على الكود أكون شاكرا جدا. مع خالص التحية SmartClock.accdb
- 3 replies
-
- 1
-
-
- اظهار الساعة تعمل داخل النموذج
- حدث التيمر
-
(و28 أكثر)
موسوم بكلمه :
- اظهار الساعة تعمل داخل النموذج
- حدث التيمر
- form_timer
- timerinterva
- فتح/إغلاق محرر vba
- الساعة والدقائق والثواني
- عداد
- عداد (تايمر)
- عداد (تايمر) النموذج
- microsoft access
- access vba
- form timer
- محرر vba
- setwineventhook
- unhookwinevent
- event_system_foreground
- hwndaccessapp
- ساعة داخل النموذج
- إيقاف التايمر أثناء التصميم
- إعادة تشغيل التايمر تلقائيا
- windows hook
- foreground window
- startsmartclock
- start clock
- stopsmartclock
- stop clock
- starsmarttimer
- stopsmarttimer
- startimer
- stoptimer
-
أتمنى من خبراء الـ VBA مساعدتي في إخراج هذا العمل بشكل "رائع" يليق بمستوى هذا المنتدى العريق. شكراً جزيلاً لكم مسبقاً.
-
بوعلام بلقاسم started following مساعدتي في اكمال ملف
-
برمجة اكسل.xlsبرمجة اكسل.xlsm السلام عليكم ورحمة الله وبركاته، إخواني الخبراء في منتدى أوفيسنا، تحية طيبة وبعد.. أعمل حالياً على تطوير نظام لإدارة بيانات مركز ترفيهي يحتوي على عدة مناطق (نسيم، حديقة، حميدة). قمت بتصميم واجهة إدخال يدوية ، ولكنني أطمح لتحويلها إلى UserForm احترافي وشامل، بالإضافة إلى بناء نظام تقارير وإحصاءات.و اضافة الالعاب في المناطق الثلاثة المطلوب من كرمكم: واجهة إدخال (UserForm): تصميم فورم يجمع كافة الخانات الموجودة في الواجهة (قونفلابل، قطار، طومبناج، عدد العمال.. إلخ). منع تكرار التاريخ: أرغب في كود ذكي يقوم بالبحث في ورقة (Data) قبل الترحيل؛ فإذا كان التاريخ مسجلاً مسبقاً يقوم بـ "تحديث" البيانات بدلاً من تكرار السطر. نظام تقارير وإحصاء: إضافة ميزة لاستخراج إحصائيات يومية أو شهرية بناءً على البيانات المخزنة في ورقة (Data). جمالية التصميم: يفضل أن تكون الألوان متناسقة واحترافية (ألوان هادئة وتدرجات تليق بنظام إداري).