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

الردود الموصى بها

قام بنشر

السلام عليكم ورحمة / الاساتذة الكرام
سؤال كيف يمكن عدم تغيير سجل البيانات في نموذج عندما اقوم بتحريك بكرة الماوس فلا تتغير الى السجل التالي 
وجزاكم الله خيرا 

 

قام بنشر

وعليكم السلام ورحمة الله وبركاته ..

يمكن تحقيق ذلك باستخدام حدث MouseWheel في النموذج ، كمثال :-

 If Not Me.Dirty Then
   If (count < 0) And (Me.CurrentRecord > 1) Then
     DoCmd.GoToRecord , , acPrevious
   ElseIf (count > 0) And (Me.CurrentRecord <= Me.Recordset.RecordCount) Then
        DoCmd.GoToRecord , , acNext
   End If
End If

 

جربه وأخبرنا بالنتيجة .. :fff:

قام بنشر

يبدو أنك مازلت تستخدم أوفيس 2003 أو نسخة أقدم لأن هذه المشكلة لم تعد موجودة منذ أوفيس 2007 

يوجد حل بسيط وهو تشغيل التطبيق في أكسس 2007 أو إصدار أحدث

أما لو كنت مضطراً للعمل مع أوفيس 2003 فيمكنك تجربة الحل الموجود في المرفقات وسيكون المطلوب منك مايلي

1- نسخ الملف MouseHook.dll إلى نفس المجلد الخاص بتطبيقك

2- إستيراد الوحدة النمطية mdlMouseHook إلى التطبيق الخاص بك

3- في حدث عند التحميل (OnLoad) للنموذج الذي تريد توقيف عجلة الماوس فيه إنسخ السطرين التاليين

Dim blRet As Boolean
blRet = MouseWheelOFF(True)

وفي حدث الإغلاق (OnClose) إنسخ السطرين التاليين

Dim blRet As Boolean
blRet = MouseWheelON()

تلميح : إذا أردت إيقاف عمل عجلة الماوس في جميع نماذج التطبيق الخاص بك يمكنك تشغيل الكود الأول عند فتح أول نموذج في التطبيق والكود الثاني عند إغلاق آخر نموذج 

ستجد في الملف المرفق مثال يحتوي نموذجين واحد يتم التنقل خلال سجلاته بالعجلة والاخر تم توقيف عملها أرجو منك التأكد من عمل الكود أولاً

تحياتي

إيقاف عجلة الماوس.rar

قام بنشر
3 ساعات مضت, منتصر الانسي said:

لم تعد موجودة منذ أوفيس 2007 

يوجد حل بسيط وهو تشغيل التطبيق في أكسس 2007 أو إصدار أحدث

سؤال حتى تتوضح الفكرة عندي بشكل أكبر ..

من هاتين العبارتين فهمت أن العجلة تعمل على التنقل بين السجلات بشكل تلقائي في اوفيس 2007 وما فوق ، هل هذا صحيح فعلاً ؟؟

 

أنا عندي اوفيس 2019 ولم تنجح الفكرة دون أي تدخل برمجي.

قام بنشر

وعليكم السلام

 

في اعدادات النموذج ، بدل استعمال جميع السجلات (All Records) ، استعمل السجل الحالي (Current Record)

image.png.3b8ac0d9ca6fdeaf6144bf2567586ac9.png

  • ابوخليل changed the title to التحكم بتحريك سجلات النموذج بواسطة عجلة الماوس MouseWheel (العنوان معدل)
قام بنشر
22 ساعات مضت, أبو سلمى said:

يمكن عدم تغيير

🤦🏻‍♂️

في العجلة الندامة فعلاً ..

عدم تغيير والتنقل في السجلات عند تحريك العجلة !!!!

وكان قد تبادر لذهني هو فعلاً أن المطلوب = التنقل بين السجلات في عجلة الماوس . لأن الماوس فعلاً لا يتنقل عندي بالعجلة 😅

قام بنشر
20 ساعات مضت, Foksh said:

من هاتين العبارتين فهمت أن العجلة تعمل على التنقل بين السجلات بشكل تلقائي في اوفيس 2007 وما فوق ، هل هذا صحيح فعلاً ؟؟

ماقبل 2007 كان بالامكان التنقل بين السجلات بإستخدام عجلة الماوس وفي الإصدارات الحديثة تم معالجة هذه المشكلة ولم تعد موجودة

  • Like 1
  • ابوخليل changed the title to التحكم بتحريك سجلات النموذج بواسطة عجلة الماوس MouseWheel
قام بنشر
في 14‏/5‏/2026 at 18:26, منتصر الانسي said:

نسخ الملف MouseHook.dll إلى نفس المجلد الخاص بتطبيقك

السلام عليكم ورحمة الله 

كلام جميل وصحيح 
ولكن في مشكلة وهي وضع هذا الملف في نفس المجلد الخاص بالتطبيق 
فغالبا مستخدم القاعدة لا يفهم ذلك وغالبا سيقوم بحذف الملف وقد يظن أنه فيرس أو ليس له أهمية 
هل ممكن اضعه داخل القاعدة 
جزاكم الله خيرا وشكرا على سعة صدركم

قام بنشر
19 ساعات مضت, jjafferr said:

شو نوع النموذج عندك ؟

أستاذنا الكريم ... نموذج مفرد 

في 14‏/5‏/2026 at 18:26, منتصر الانسي said:

يبدو أنك مازلت تستخدم أوفيس 2003

فعلا هو أوفيس 2003

قام بنشر

الاساتذة الكرام / كل عام وانتم بخير أولا بمناسبة شهر ذو الحجة وقرب عيد الاضحى المبارك 

هل لا يوجد حل لهذه المشكلة جزاكم الله خيرا 

 

قام بنشر
42 دقائق مضت, أبو سلمى said:

هل لا يوجد حل لهذه المشكلة جزاكم الله خيرا 

الم يعجبك هذا الحل ؟؟

في 15‏/5‏/2026 at 21:02, منتصر الانسي said:

يمكنك كذلك نسخه الى المجلد System32 داخل مجلد Windows 

بهذه الطريقة ستحصل على ميزتين

الأولى أن ملف MouseHook.dll سيكون بعيداً عن أنظار المستخدمين

والميزة الثانية أنه يمكنك إستخدام كود إيقاف العجلة في أي تطبيق على مستوى الجهاز 

قام بنشر
38 دقائق مضت, منتصر الانسي said:

بهذه الطريقة ستحصل على ميزتين

جزاكم الله خيرا 
ولكن المشكلة أن بعض المستخدمين لا يستحبون وضع ملفات على الويندوز الخاص بهم كذلك لو قاموا بتحميل ويندوز مرة ثانية لا يتذكرون هذا الملف 
وبالتالي القاعدة لا تعمل لديهم ويسبب لهم مشكلة 
فكنت أفضل حل يكون داخل القاعدة نفسها فيكون أفضل وأبعد عن أي مشكلة مستقبلا 
عموما جزاكم الله خيرا للاستجابة وسعة الصدر 

قام بنشر
8 دقائق مضت, أبو سلمى said:

فكنت أفضل حل يكون داخل القاعدة نفسها فيكون أفضل وأبعد عن أي مشكلة مستقبلا 

اخي الكريم الان الحل قائم أساساً على الملف MouseHook.dll والذي يجب أن يكون موجود على القرص الصلب 

والحقيقة أني أستغرب من تخوفك هذا فأغلب من كانوا يستخدمون أكسس 2003 (وانا منهم) كانوا يستخدمون هذا الملف بدون أي مشاكل

عموما لو اردنا تطبيق الحل الذي تطلبه أي بإستخدام الجداول فسيكون ذلك ممكناً عبر إضافة هذا الملف إلى حقل من نوع مرفقات داخل جدول بحيث يتم إستخراجه عند فتح التطبيق وحذفه عند إغلاقه ولكن في اكسس 2003 لا يوجد هذا النوع من الحقول فقد ظهر إبتداءً من اكسس 2010 على ما اعتقد وأذا قمنا بتنصيب أوفيس 2010 أو أحدث فلن نكون بحاجة لهذا الحل أصلاً لأنه تم معالجة المشكلة فيها (وكأنها حلقة مفرغة 😅)

سيكون أفضل حل لك هو تنصيب اوفيس حديث ولن تحتاج إلى أي أكواد

قام بنشر
3 ساعات مضت, منتصر الانسي said:

ولكن في اكسس 2003 لا يوجد هذا النوع من الحقول

تفضل يا سيدي ، يمكنك عمل هذا :

.

وحسب صلاحيات المستخدم ، اذا لم تستطع نسخه الى مجلد System32 ، فيمكن نسخه الى المجلد الخاص بالتطبيق

في 15‏/5‏/2026 at 22:02, منتصر الانسي said:
في 15‏/5‏/2026 at 19:49, أبو سلمى said:

ولكن في مشكلة وهي وضع هذا الملف في نفس المجلد الخاص بالتطبيق 

يمكنك كذلك نسخه الى المجلد System32 داخل مجلد Windows 

 

انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.

سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information