بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|

AbuuAhmed
الخبراء-
Posts
1071 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
17
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو AbuuAhmed
-
جرب هذا الكود بعد التنقيح ولا تنسى أن تقرأ ملاحظاتي في مشاركاتي السابقة. 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
-
لن أنتظر بعض الملاحظات على الكود: 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
-
بالصدفة حصلت معاي مشكلة ربما تشبه ما قاله الأخ @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
-
حياك الله أخي ، في جوابك جزم بأنه ليس له علاقة ، وهذا خطأ منك ، يجب أن ترجع بنتيجة تجربتك الجديدة ، أنا أجزم أن له علاقة وجزمي راجع لخبرتي في الأكواد ، حيث لا يوجد شرط آخر غير الذي أخبرتك عنه ، نعم ربما لا زالت المشاكل لم تنتهي ولكن الأكيد أن المشكلة الجديدة تختف عن المشكلة الأولى. المشكلة الأولى يفشل في الفحص ويستمر المؤقت يستمر إلى ما لا نهاية. الآن لن يستمر ولكن .. قد ترى بعد التوقف أن الناتج لا يزال به أرقام سالبة وخصوصا في الميلي ثانية لماذا؟: لأن المؤقت سيكون أسرع من أن يقف على القيمة صفر بل سيتعادها ثم سيتقف مع الشرط الذي قمت أنا بتعديله، وهذا يحتاج إلى تعديل آخر. عموما الكود به عدة أخطاء وأستطيع أن أحددها لك، ولكن لما أرى منك استعداد وقابلية لتقبلها، ولكن بجزمك أنت صديتني عن المواصلة والتعاون معك. إن لم تستطع وضع مثال للتعديل عليه، سوق أقوم بتنقيح الكود، بانتظار إشارة منك، وأنا تحت أمرك. موفق أخي.
-
أكيد هي ليست من اختراعي وأراك معجب كثيرا بالأستاذ @Moosak وأنت مصيب وهو يستحق هذا الإعجاب ويستحق التقدير. الجماعة كانوا مشغولين مع مباريات كأس العالم. هل يمكنك وصف المشكلة بشكل مفصل ، وفي حالة وجود رسالة خطأ ممكن تصورها لنا ، والمجال مفتوح للجميع للتعديل على المثال.
-
العين ما تعلى على الحاجب أستاذنا العزيز اساتذتنتا القدامى "عبق الماضي" لهم مكانة خاصة ولا يهون أصحاب القلوب الطيبة.
-
جرب الآن ، أنا بدلت المرفق ، والأمور عندي ممتازة.
-
جرب الآن تطبيق لون_07.accdb
-
ما نسيت ، بس سطري كان طرق باب ، ولم أتلقى الجواب 🙂 الآن بما أنك رديت على طرق الباب أضع لك المثال. طبعا يمكن عملها بدون استخدام زر ، ممكن من حدث DblClick لصندوق اللون. تطبيق لون_05.accdb
-
موضوع شيق، هل جربتم اسخدام هذا الأمر؟ : Call Application.Run("DialogColor", vbBlue)
-
تم تنقيح الكود فقط لإزالة بعض المتغيرات والسطور غير المطلوبة حاليا. StopwatchExample_06.rar
-
لم أستطع أن أصل إلى الموضوع ، لو تزودني بالرابط فضلا وليس أمرا.
-
آخر نسخة مني إلا إذا كان هناك خللا يحتاج إلى إصلاح الآن المثال يحمل نموذجين واحد لعرض الوقت المتبقي (تنازليا) والآخر لعرض الوقت المنقضي (تصاعديا). StopwatchExample_05.rar
-
أكيد أسمح ، وبما أنك توسعت وهذا يخالف أسلوبي حيث أنا أحب التركيز على الفكرة الأساس 🙂 فأنا مشيت مع التيار وتوسعت أيضا بإضافة ملف الصوت. سؤالي لك : في إضافة الخط نشير إلى مسار الملف واسمه وهذا منطقيا سليم ، فلماذا عند الإزالة نشير إلى نفس المسار عند الإضافة؟!! StopwatchExample_04.rar
-
تمت التعديلات التالية: - الأخذ في الاعتبار تغير التاريخ عند الساعة 12 ليلا. - تبديل الخط لصندوق للعداد مع وضع عنوان مصدر الخط لمن يريد انزاله وحفظه في مجلد الخطوط للويندوز. - أخذ ملاحظة عزيزنا جعفر بإبقاء الوقت عند الإيقاف النهائي للعد واستبداله بالتعامل مع زر الإيقاف المؤقت. - بعض التحسينات في الكود. StopwatchExample_02.accdb
-
تمون عزيزي ، عدل كما تشاء ، هذا لاستخدامه مع زر التوقف المؤقت ، ويمكن عمله بطريقة أخرى ، الليلة نفكر في طريقة أخرى إن شاء الله. اللي يعرف نوع الخط اللي يظهر أرقام العداد كما الساعة الرقمية الحقيقية فليدلنا عليه والشكر لكم مقدما.
-
إذا هو سؤال لي ، فسأتأخر عليكم بالجواب ، لا تنسوا أنا مصاب بالتشتت وهذه الأمور تتعبني مع التركيز الكثير ، بس وعد مني سأرجع للموضوع. أخي أنت "مفرط في النشاط" وأنا صعب علي ملاحقتك 🙂 .
-
يوجد نقطة وحيدة تحتاج إلى مراجعة ، وهي عند جريان المدة بين يومين، أعتقد هناك ستحدث مشكلة. سأقوم الليلة إن شاء الله بالتجربة قبل الساعة 12 منتصف الليل. أو ربما سأضطر للعب في ساعة الجهاز. المؤقت "التايمر" عادة يبدأ العد من جديد مع بداية اليوم الجديد فتصبح قيمته أصغر من "بداية الوقت" (StartTime) وربما يكون الحل بتزويده بقيمة يوم كامل بعد المقارنة طبعا.
-
كما العنوان عداد تنازلي بالميلي ثانية مع خيار بالتوقف المؤقت وخيار استئناف العد من جديد. StopwatchExample_01.accdb
-
هل جربت؟ جوابك لا يفيد بذلك وهذا استهتار فينا غير مقبول. أقترح على المشرفين بغلق موضوعك إذا لم ترفع تطبيقك للتعديل عليه ، أنت تضيع أوقاتنا وحتى ردودك غير موفقة وغير واضحة.
-
جرب بدل هذا السطر: 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
-
مصطلحك غامض 🙂 عموما أعتقد من الصعوبة أن تلقى من يساعدك بدون مثال، ضع مثالك وجربه قبل أن ترفعه لتتأكد أنك أرفقت كل الدوال والإجراءات المطلوبة. على كل حال سأحاول آخذ نظرة ثانية على الكود الليلة إن شاء الله وربنا يسهل الأمور.
-
https://support.microsoft.com/ar-sa/office/الدالتان-int-وfix-5446da0c-fbdc-425f-a818-7e3153984ff8
-
تأكد أن المجلد الذي يحتوي تطبيق/برنامج أكسس يحتوي على مجلد فرعي باسم sounds تأكد أن ملف الصوت "test.wav" موجود داخل مجلد sounds إذا لم يعمل استخدم المديول الموجود في المثال المرفق وتخلص من موديول الصوت الذي في تطبيقك. مشاركتي بناءً على فهمي أن "لا يصفر" بمعنى أنه لا يصدر صوت الصفير 🙂 PlaySoundApp.rar
-
تم تبديل المرفق في مشاركتي السابقة بعد التعديل في حدث زر/مفتاح الخروج.