اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

AbuuAhmed

الخبراء
  • Posts

    1071
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    17

كل منشورات العضو AbuuAhmed

  1. جرب هذا الكود بعد التنقيح ولا تنسى أن تقرأ ملاحظاتي في مشاركاتي السابقة. Private Sub Form_Timer() Dim Hours As String Dim Minutes As String Dim Seconds As String Dim MilliSec As String Dim ElapsedMilliSec As Long ElapsedMilliSec = Me.Text15.Value - (GetTickCount() - StartTickCount) + TotalElapsedMilliSec If ElapsedMilliSec > 0 Then Hours = Format((ElapsedMilliSec \ 3600000), "00") Minutes = Format((ElapsedMilliSec \ 60000) Mod 60, "00") Seconds = Format((ElapsedMilliSec \ 1000) Mod 60, "00") MilliSec = Format((ElapsedMilliSec Mod 1000), "000") Me!ElapsedTime = Hours & ":" & Minutes & ":" & Seconds & ":" & MilliSec Else Me.TimerInterval = 0 TotalElapsedMilliSec = 0 Me!ElapsedTime = "00:00:00:00" Me.[test Name].BackColor = RGB(225, 0, 0) PlaySound Application.CurrentProject.Path & "\sounds\test.WAV" DoCmd.Restore Me!btnStartStop.Caption = "start" Me.btnReset.Enabled = True End If End Sub
  2. لن أنتظر بعض الملاحظات على الكود: Private Sub Form_Timer() Dim Hours As String Dim Minutes As String Dim Seconds As String Dim MilliSec As String Dim msg As String Dim ElapsedMilliSec As Long ElapsedMilliSec = Me.Text15.Value - (GetTickCount() - StartTickCount) + TotalElapsedMilliSec Hours = Format((ElapsedMilliSec \ 3600000), "00") Minutes = Format((ElapsedMilliSec \ 60000) Mod 60, "00") Seconds = Format((ElapsedMilliSec \ 1000) Mod 60, "00") MilliSec = Format((ElapsedMilliSec Mod 1000) \ 10, "00") 'أعلاه لا يعطي الميلي ثانية لأن الثانية 1000 ميلي وليس 100 ربما لو تزيد التنسيق صفرا يكون الناتج صحيحا Me!ElapsedTime = Hours & ":" & Minutes & ":" & Seconds & ":" & MilliSec 'If Me!ElapsedTime = "00:00:00:00" Then 'في هذا السطر قد تنتقل القيمة من الموجب إلى السالب دون أن يمر بالصفر If ElapsedMilliSec <= 0 Then Me.[test Name].BackColor = RGB(225, 0, 0) PlaySound Application.CurrentProject.Path & "\sounds\test.WAV" DoCmd.Restore 'لا أرى حاجة له 'السطر التالي لا داعي له لأنه بعد هذا السطر يتم تصفيره 'TotalElapsedMilliSec = TotalElapsedMilliSec + (GetTickCount() - StartTickCount) Me.TimerInterval = 0 'يفضل وضعه بعد شرط إف مباشرة حتى لا يكون هناك أي تأخير TotalElapsedMilliSec = 0 Me!ElapsedTime = "00:00:00:00" 'الأكيد لن تحصل على أرقام سالبة بعد هذا السطر Me!btnStartStop.Caption = "start" Me.btnReset.Enabled = True End If End Sub
  3. بالصدفة حصلت معاي مشكلة ربما تشبه ما قاله الأخ @qathi وبالتحري 🙂 وجدت المشكلة في الحصول على عدد السجلات والذي نحصل عليه من: Me.RecordsetClone.RecordCount حيث يعطي أحيانا العدد واحد بدلا من المجموع، وكان حلي للمشكلة في حدث عند فتح النموذح بهذه الطريقة: Private Sub Form_Open(Cancel As Integer) On Error Resume Next DoCmd.GoToRecord , , acLast DoCmd.GoToRecord , , acFirst End Sub والآن أرفع لكم نسخة أخرى بعد التعديل. تطبيق لون_08.accdb
  4. حياك الله أخي ، في جوابك جزم بأنه ليس له علاقة ، وهذا خطأ منك ، يجب أن ترجع بنتيجة تجربتك الجديدة ، أنا أجزم أن له علاقة وجزمي راجع لخبرتي في الأكواد ، حيث لا يوجد شرط آخر غير الذي أخبرتك عنه ، نعم ربما لا زالت المشاكل لم تنتهي ولكن الأكيد أن المشكلة الجديدة تختف عن المشكلة الأولى. المشكلة الأولى يفشل في الفحص ويستمر المؤقت يستمر إلى ما لا نهاية. الآن لن يستمر ولكن .. قد ترى بعد التوقف أن الناتج لا يزال به أرقام سالبة وخصوصا في الميلي ثانية لماذا؟: لأن المؤقت سيكون أسرع من أن يقف على القيمة صفر بل سيتعادها ثم سيتقف مع الشرط الذي قمت أنا بتعديله، وهذا يحتاج إلى تعديل آخر. عموما الكود به عدة أخطاء وأستطيع أن أحددها لك، ولكن لما أرى منك استعداد وقابلية لتقبلها، ولكن بجزمك أنت صديتني عن المواصلة والتعاون معك. إن لم تستطع وضع مثال للتعديل عليه، سوق أقوم بتنقيح الكود، بانتظار إشارة منك، وأنا تحت أمرك. موفق أخي.
  5. أكيد هي ليست من اختراعي وأراك معجب كثيرا بالأستاذ @Moosak وأنت مصيب وهو يستحق هذا الإعجاب ويستحق التقدير. الجماعة كانوا مشغولين مع مباريات كأس العالم. هل يمكنك وصف المشكلة بشكل مفصل ، وفي حالة وجود رسالة خطأ ممكن تصورها لنا ، والمجال مفتوح للجميع للتعديل على المثال.
  6. العين ما تعلى على الحاجب أستاذنا العزيز اساتذتنتا القدامى "عبق الماضي" لهم مكانة خاصة ولا يهون أصحاب القلوب الطيبة.
  7. جرب الآن ، أنا بدلت المرفق ، والأمور عندي ممتازة.
  8. جرب الآن تطبيق لون_07.accdb
  9. ما نسيت ، بس سطري كان طرق باب ، ولم أتلقى الجواب 🙂 الآن بما أنك رديت على طرق الباب أضع لك المثال. طبعا يمكن عملها بدون استخدام زر ، ممكن من حدث DblClick لصندوق اللون. تطبيق لون_05.accdb
  10. موضوع شيق، هل جربتم اسخدام هذا الأمر؟ : Call Application.Run("DialogColor", vbBlue)
  11. تم تنقيح الكود فقط لإزالة بعض المتغيرات والسطور غير المطلوبة حاليا. StopwatchExample_06.rar
  12. لم أستطع أن أصل إلى الموضوع ، لو تزودني بالرابط فضلا وليس أمرا.
  13. آخر نسخة مني إلا إذا كان هناك خللا يحتاج إلى إصلاح الآن المثال يحمل نموذجين واحد لعرض الوقت المتبقي (تنازليا) والآخر لعرض الوقت المنقضي (تصاعديا). StopwatchExample_05.rar
  14. أكيد أسمح ، وبما أنك توسعت وهذا يخالف أسلوبي حيث أنا أحب التركيز على الفكرة الأساس 🙂 فأنا مشيت مع التيار وتوسعت أيضا بإضافة ملف الصوت. سؤالي لك : في إضافة الخط نشير إلى مسار الملف واسمه وهذا منطقيا سليم ، فلماذا عند الإزالة نشير إلى نفس المسار عند الإضافة؟!! StopwatchExample_04.rar
  15. تمت التعديلات التالية: - الأخذ في الاعتبار تغير التاريخ عند الساعة 12 ليلا. - تبديل الخط لصندوق للعداد مع وضع عنوان مصدر الخط لمن يريد انزاله وحفظه في مجلد الخطوط للويندوز. - أخذ ملاحظة عزيزنا جعفر بإبقاء الوقت عند الإيقاف النهائي للعد واستبداله بالتعامل مع زر الإيقاف المؤقت. - بعض التحسينات في الكود. StopwatchExample_02.accdb
  16. تمون عزيزي ، عدل كما تشاء ، هذا لاستخدامه مع زر التوقف المؤقت ، ويمكن عمله بطريقة أخرى ، الليلة نفكر في طريقة أخرى إن شاء الله. اللي يعرف نوع الخط اللي يظهر أرقام العداد كما الساعة الرقمية الحقيقية فليدلنا عليه والشكر لكم مقدما.
  17. إذا هو سؤال لي ، فسأتأخر عليكم بالجواب ، لا تنسوا أنا مصاب بالتشتت وهذه الأمور تتعبني مع التركيز الكثير ، بس وعد مني سأرجع للموضوع. أخي أنت "مفرط في النشاط" وأنا صعب علي ملاحقتك 🙂 .
  18. يوجد نقطة وحيدة تحتاج إلى مراجعة ، وهي عند جريان المدة بين يومين، أعتقد هناك ستحدث مشكلة. سأقوم الليلة إن شاء الله بالتجربة قبل الساعة 12 منتصف الليل. أو ربما سأضطر للعب في ساعة الجهاز. المؤقت "التايمر" عادة يبدأ العد من جديد مع بداية اليوم الجديد فتصبح قيمته أصغر من "بداية الوقت" (StartTime) وربما يكون الحل بتزويده بقيمة يوم كامل بعد المقارنة طبعا.
  19. كما العنوان عداد تنازلي بالميلي ثانية مع خيار بالتوقف المؤقت وخيار استئناف العد من جديد. StopwatchExample_01.accdb
  20. هل جربت؟ جوابك لا يفيد بذلك وهذا استهتار فينا غير مقبول. أقترح على المشرفين بغلق موضوعك إذا لم ترفع تطبيقك للتعديل عليه ، أنت تضيع أوقاتنا وحتى ردودك غير موفقة وغير واضحة.
  21. جرب بدل هذا السطر: If Me!ElapsedTime = "00:00:00:00" Then بهذا السطر: If ElapsedMilliSec <= 0 Then ليصبح الكود بهذا الشكل: Private Sub Form_Timer() Dim Hours As String Dim Minutes As String Dim Seconds As String Dim MilliSec As String Dim msg As String Dim ElapsedMilliSec As Long ElapsedMilliSec = Me.Text15.Value - (GetTickCount() - StartTickCount) + TotalElapsedMilliSec Hours = Format((ElapsedMilliSec \ 3600000), "00") Minutes = Format((ElapsedMilliSec \ 60000) Mod 60, "00") Seconds = Format((ElapsedMilliSec \ 1000) Mod 60, "00") MilliSec = Format((ElapsedMilliSec Mod 1000) \ 10, "00") Me!ElapsedTime = Hours & ":" & Minutes & ":" & Seconds & ":" & MilliSec 'If Me!ElapsedTime = "00:00:00:00" Then If ElapsedMilliSec <= 0 Then Me.[test Name].BackColor = RGB(225, 0, 0) PlaySound Application.CurrentProject.Path & "\sounds\test.WAV" DoCmd.Restore TotalElapsedMilliSec = TotalElapsedMilliSec + (GetTickCount() - StartTickCount) Me.TimerInterval = 0 TotalElapsedMilliSec = 0 Me!ElapsedTime = "00:00:00:00" Me!btnStartStop.Caption = "start" Me.btnReset.Enabled = True End If End Sub
  22. مصطلحك غامض 🙂 عموما أعتقد من الصعوبة أن تلقى من يساعدك بدون مثال، ضع مثالك وجربه قبل أن ترفعه لتتأكد أنك أرفقت كل الدوال والإجراءات المطلوبة. على كل حال سأحاول آخذ نظرة ثانية على الكود الليلة إن شاء الله وربنا يسهل الأمور.
  23. https://support.microsoft.com/ar-sa/office/الدالتان-int-وfix-5446da0c-fbdc-425f-a818-7e3153984ff8
  24. تأكد أن المجلد الذي يحتوي تطبيق/برنامج أكسس يحتوي على مجلد فرعي باسم sounds تأكد أن ملف الصوت "test.wav" موجود داخل مجلد sounds إذا لم يعمل استخدم المديول الموجود في المثال المرفق وتخلص من موديول الصوت الذي في تطبيقك. مشاركتي بناءً على فهمي أن "لا يصفر" بمعنى أنه لا يصدر صوت الصفير 🙂 PlaySoundApp.rar
  25. تم تبديل المرفق في مشاركتي السابقة بعد التعديل في حدث زر/مفتاح الخروج.
×
×
  • اضف...

Important Information