• 0
alhaithm

بعض أوامر الفيجول على النموذج تعمل والبعض لا يعمل لماذا

سؤال

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

 

يا ترى من يفيدني عن السبب وجزاه الله خيرا

 

  Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
 
 If KeyCode = 116 And Shift = 0 Then
 OCD_Click
 
 End If
 
 If KeyCode = 120 And Shift = 0 Then
 Print2_Click
 
 End If
 
 If KeyCode = 119 And Shift = 0 Then
 Print_Click
 
 End If
 
 
If KeyCode = 113 And Shift = 0 Then
VisaPayee_Click
 
End If
 
If KeyCode = 122 And Shift = 0 Then
CashPayee_Click
 
End If
 
End Sub
 
الذي لا يعمل هو 113 لمفتاح F2
و 122 لمفتاح F11
 
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

12 إجابة على هذا السؤال .

  • 0

تقضل اخي الكريم

 

ضع جميع هذه الأكواد في النموذج الرئيسي فقط

 

في حدث الحالي للنموذج الرئيسي ضع هذا الكود

Private Sub Form_Current()Me.KeyPreview = TrueEnd Sub 
 

 

 

 

في حذث عند مفتاح الأسفل ضع هذا الكود بدون اي تغيير

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = 116 Then Me.OCD.SetFocus Call OCD_Click End If  If KeyCode = 120 Then Me.Print2.SetFocus Call  Print2_Click End If  If KeyCode = 119 Then Me.Print.SetFocus Call Print_Click End If  If KeyCode = 113 ThenMe.VisaPayee.SetFocusCall VisaPayee_ClickEnd If If KeyCode = 122 ThenMe.CashPayee.SetFocusCall CashPayee_ClickEnd If End Sub 
  تم تعديل بواسطه zahrah
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اخي الفاضل : الهيثم

 

جرب هذا الكود

 

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)  If KeyCode = 116 Then  Call OCD_Click End If  If KeyCode = 120 Then Call  Print2_Click End If  If KeyCode = 119 Then Call Print_Click End If  If KeyCode = 113 ThenCall VisaPayee_ClickEnd If If KeyCode = 122 ThenCall CashPayee_ClickEnd If End Sub
 

 

بالتوفيق

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الأستاذة الكريمة/ زهرة

 

شكرا جزيلا ، أنا سعيد بل  ومحظوظ لأنك من يرد على مواضيعي ، بل عندما أضع موضوعا تكون أمنيتي لحظتها أن يكون أنتي المجيب فيكون ذلك ، فالحمد الله.

 

الكود الذي أوردته أعلاه يعمل بشكل طبيعي إلا على 113 وهو F2  و 122 وهو F11

 

ولكنك إجابتك ألهمتني أن المشكلة ليست في الكود ، فتنبهت. إلى أن الكود لا يعمل إذا كان المؤشر متوقف لحظتها في النموذج الفرعي أما إذا وضعت مؤشر الماوس

على أي حقل في النموذج الرئيس فإن الكود يعمل بنجاح.

 

فنسخت  أوامر زر 113 و 122 مع كود التنفيذ للزر إلى النموذج الفرعي فأصبح يعمل بنجاح من أي مكان يكون فيه المؤشر سواء في النموذج الرئيس أو الفرعي.

 

فهل يوجد لديك حلا أبسط من هذا ، فإن كان فهاتيه ، ففيه فائدة لهذا ولغيره مستقبلا.

 

تمنياتي لك بالتوفيق والنجاح

 

أخوك/الهيثم

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اخي الفاضل

 

هل ازرار الأوامر موجوده في النموذج الرئيسي ام في النموذج الفرعي !!!!

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكرا على اهتمامك

 

الأزرار كلها في النموذج الرئيس

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أختي الكريمة

 

وضعت الأكواد كما ذكرت ، ولكن عند الضغط على مصحح الأخطاء Debug 

تظهر الرسالة التالية

Compile error
 
Invalid or Unqualified refrence
 
ثم يضلل المؤشر على
 
Me.Print.SetFocus
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

لا يوجد مشكلة بارك الله بك

 

فقط غير اسم زر الأمر الأساسي لديك  في النموذج الى  Print1

 

ثم استبدله الكود القديم بهذا الجديد الخاص بزر الأمر لأن امر  Print  من الأوامر المحجوزه للأكسيس

 

If KeyCode = 119 Then Me.Print1.SetFocus Call Print1_Click End If
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أختي الكريمة

 

الأمر Print يعمل معي منذ سنوات بدون أي مشكلة وعلى كل حال غيرته إلى Print1  في كل النموذج والفورم وجاءت نفس الرسالة

 

فاستبعدت كل الآوامر الخاصة بأمر Print من النموذج وعملت Debug وقبل التصحيح لأرى إذا كان الكودات الأخرى ستعمل أم لا وكانت النتيجة أن أكواد الأمر 113 و 122 لم تعمل بينما عملت البقية

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

حسنا اخي الكريم

 

ما نوع نسخة الأكسيس التي لديك

تم تعديل بواسطه zahrah
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

2000

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

نسخة اكسيس 2000 قديمه 

 

لماذا لم تطور النسخة على اقل تقدير الى 2003 لأنها افضل النسخ

 

لأن الحلول التي اعطيتك اياها تعمل على اكسيس 2003 بشكل ممتاز جدا 

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكرا أختي الكريمة

 

نسخة 2000 وجدت أنها الأسرع والأخف في العمل عبر الشبكة ، لذلك أنا باقي عليها.

 

قد يحتاج هذا الأمر إلى بحث مطول لإزالة المعوقات.

 

عموما وكما أسلفت أن الأكواد كلها تعمل بعدما وضعت منها نسخة على النموذج الفرعي.

 

مشروعي القادم هوتحويل مالدي  إلى  MS SQL SERVER

 

ساحتاج إلى جهودكم.

 

تحياتي وتقديري

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
زوار
This topic is now closed to further replies.

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .