السلام عليكم اساتذتنا واعضاء منتدانى الرائع
حياكم الله وبعد .....
مشكلة قديمة جديدة مؤرقة ارجو حلها
بعد عدة محاولات واستخدام امثله وجدتها هنا في منتدانا اوفيسنا لم تفلح
ارفع لكم المشكلة وارجو ان اتلقى من خبرائنا الافاضل الحل أن شاء الله
عند استخدام الكود التالي في اي حدث عند مفتاح للأسفل لحقل معين فانه يعمل مثل حقل k3
If KeyCode = 115 Then 'f2
Form_Form1.k1.SetFocus
ElseIf KeyCode = 114 Then 'f3
Form_Form1.k5.SetFocus
End If
لكن ليس من المعقول تكرار هذا الكود بكتابته في كل مره عند كل الحقول والكائنات النموذج خاصتاً عندما يكون الكود بة سطور كثيرة لأوامر أكثر
فقمت بعملها في دالة مستقلة واستداعها بكود مختصر مثل حقل k4 وزر Bo1 لكنها لم تعمل
Call AllowKey
فقمت باضافة دالة وجدتها من المنتدى
Public Function AllowKeyCode(KeyCode As Integer, Shift As Integer) As Integer
If KeyCode = 115 Then 'f4
Form_Form1.k1.SetFocus
ElseIf KeyCode = 114 Then 'f3
Form_Form1.k5.SetFocus
End If
End Function
واستدعائها بالكود التالي:
KeyCode = AllowKeyCode(KeyCode, Shift)
عند وضعها في حدث عند مفتاح للأسفل اي حقل يودي هذا الكود الى عدم امكانية ادخال بيانات في الحقل وهذه مشكلة كبيرة كما في حقل k2
فقمت بوضع كود الدالة السابقة أو هذه في حدث عند مفتاح للأسفل النموذج
Call AllowKey
أو
KeyCode = AllowKeyCode(KeyCode, Shift)
لكن لا تعمل هذه الاكواد
ارجو حل المشكلة
بعمل كود يتم استداعة في جميع الحقول والكائنات النموذج بكود مختصر او اي حل بسيط عند الضغط على المفتاح المطلوب يتم نقلي او تنفيذ امر معين وانا في اي مكان في النموذج ولا يؤثر على عمل النموذج نفسة من ادخال البيانات او يتعارض مع اكواد اخرى
ولكم من كل الشكل والتقدير
مرفق ملف فيه جميع ماذكر
Key1.rar
Key1.accdb