المتكرث قام بنشر نوفمبر 24, 2004 قام بنشر نوفمبر 24, 2004 أحبتي .... السلام عليكم ورحمة الله وبركاته : سبق وأن طرحت مشكلتي ، واجتهد بعض الاخوان في وضع بعض الحلول ولكنها ليست جذرية وعملية في نظري ، وقد طرأت لي فكرة ولا أدري كيف أنفذها ، وهي كيف أجعل كود حسابي يحسب للسجل الأول ثم يتوقف بمعدل ثانتين أو ثلاث ثم ينتقل للسجل التالي ويحسب له ثم يتوقف ثانتين أو ثلاث وهكذا حتى ينهي كل السجلات... وبرفقه مثال للتوضيح .... وفقكم الله وبارك فيكم .... المثال هنا!
أمجد جمالي قام بنشر نوفمبر 24, 2004 قام بنشر نوفمبر 24, 2004 السلام عليكم اخي الكريم المكترث تفضل Public Function Ap_PauseTime(IntPauseTime As Integer) Dim PauseTime, Start PauseTime = IntPauseTime Start = Timer Do While Timer < Start + PauseTime DoEvents Loop End Function للإستدعاء الدالة Ap_PauseTime ("2") هذا الكود يقوم بتجميد الوقت لمدة ثانيتين اذا حبيت تجمد الوقت لمدة 4 ثواني Ap_PauseTime ("4") ولي طلب صغير ذكرت في مشاركتك واجتهد بعض الاخوان في وضع بعض الحلول ولكنها ليست جذرية وعملية في نظري ارجو ذكر هذه الطرق لكي نستفيد من خبرات الغير تحياتي لك اخوك ابو نادر
المتكرث قام بنشر نوفمبر 25, 2004 الكاتب قام بنشر نوفمبر 25, 2004 أخي أبو نادر وفقك الله وأجزل لك الأجر .... بالنسبة للكود السابق ففي الحقيقة لا أعرف أين أضعه وهل يكون تحت زر أمر أم يضاف للكود الذي وضعته أنا في المثال ليقوم بعملية الحساب أم كيف ..... فأنا ممبتدء في الأكسس وخبرتي أقل من القليل .... آمل المساعدة .... وأما بالنسبة لمساعدات الاخوان فهي على الرابط التالي : اضغط هنا!
مصلح الحريصي قام بنشر نوفمبر 26, 2004 قام بنشر نوفمبر 26, 2004 (معدل) الأخ المتكرث إذا فهمت ما تريد بالضبط فالطريقة كما يلي: 1. في حدث " عند عداد الوقت " للنموذج الرئيسي نضع الكود التالي : On Error Resume Next If Me.NewRecord Then DoCmd.GoToRecord , , acFirst Else DoCmd.GoToRecord , , acNext End If 2. وفي حدث " الفاصل الزمني لعداد الوقت " نضع القيمة صفر ( 0 ) 3. نضيف زرين على النموذج الأول باسم cmdStart وفي حدث " عند النقر " نكتب الكود التالي : Me.TimerInterval = 3000 اسندنا القيمة 3000 إلى المؤقت بمعنى 3 ثواني 4. أضفنا زر ثاني اسمه cmdStop وفي حدث " عند النقر " نكتب الكود التالي : Me.TimerInterval = 0 اسندنا القيمة صفر إلى المؤقت بمعنى 3 ثواني الشرح : في الكود الأول قمنا بعملية إختبار للسجلات هل هو سجل جديد إذا كان جواب الشرط نعم True عند إذن نعود إلى أول سجل وإذا كان جواب الشرط لا False نقوم بالتنقل بين السجلات سجل تلو الأخر حتى نصل إلى سجل جديد. وظيفة الزرين الأول عند الضغط عليه تبدأ عملية التنقل بين السجلات بشكل آلي إلى ما لا نهاية . الثاني عند النقر عليه يتم وقف عملية التنقل بين السجلات وتتم عملية التنقل كالمعتاد . والمثال المرفق يوضح ذلك . أخبرنا إذا كان هذا ما تريد وإن كان خلاف ذلك أخبرنا أيضاً ولكن بتفصيل أكثر ولا تدع سؤالك حتى نصل إلى الطريقة التي تريدها بالضبط فهناك طرق كثيرة كل ما عليك إخبارنا بالنتيجة. db1.rar تم تعديل نوفمبر 26, 2004 بواسطه مصلح الحريصي
المتكرث قام بنشر نوفمبر 28, 2004 الكاتب قام بنشر نوفمبر 28, 2004 (معدل) جزاك الله خير أخي مصلح الحريصي وزادك الله علماً وعملاً صالحين .... لقد كان هذا ما أريد وفقك الله يا أخي .... ولكن : كيف أجعل التنقل يقف تلقائياً بعد ما يصل الى السجل الأخير... فأنا لا أريده أن يقوم بالتنقل الى مالا نهاية .... فكيف تم تعديل نوفمبر 29, 2004 بواسطه المتكرث
مصلح الحريصي قام بنشر نوفمبر 29, 2004 قام بنشر نوفمبر 29, 2004 أضف كود التالي: On Error Resume Next DoCmd.GoToRecord , , acNext If Me.NewRecord Then Me.TimerInterval = 0 End If وجرب النتيجة لأنني لم أجربه فإذا لم يكن ما تريد أخبرنا لنقوم بالتعديل اللازم
المتكرث قام بنشر نوفمبر 30, 2004 الكاتب قام بنشر نوفمبر 30, 2004 أخي بارك الله فيك .. وجزاك الله خير ... نعم لقد توقف الانتقال التلقائي للسجلات عند السجل الجديد ... ولم يتوقف عند آخر سجل يحتوي على بيانات .. فلو افترضنا أن النموذج يحمل خاصية ( عدم اضافة سجلات جديده ) فكيف يمكن جعل الكود يتوقف عند آخر سجل يحتوي على بيانات .... وهذا المثال بعد التعديل الأخير وقد أضفت له عملية حسابية ليقوم بها أثناء عملية الانتقال الألي بين السجلات ليستفيد منه الاخوان ..... وكل ذلك بفضل الله ثم بفضلك يأخي مصلح وفقك الله :- ملحوظة ( أرت أن ارفق المثال هنا ولكني لم أجد ايقونة اضافة مرفقات ولا أعرف كيف اضافة مثال في هذا المنتدى ) المثال هنا... !
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.