كيف يمكن جعل صندوق نصي يقبل نص عربي فقط أو انجليزي فقط في أكسس 2000
الكتابة بالعربي فقط في صندوق النص
من خصائص صندوق النص و من تنسيق حدد لغة لوحة المفاتيح
الأخ ابو بشاير
لقد طبقت ما قلته في خاصية لغة لوحة المفاتيح ولكن بدون تغير يمكن تكتب عربي ويمكن تكتب انجليزي .
فهل تقصد خاصية أخرى ؟
ولك تحياتي
يبدو أنني فهمت السؤال خطأ فأنا اعتقدت أن السائل يريد أن تتحول اللغة في صندوق النص بمجرد انتقال التركيز إليه .
هذه مجرد فكرة
أرسل Send Keys بحرف معين
ثم إحصل علي ال Ascii بتاع القيمة و منها تعرف اذا كان
عربي أم غير عربي
الأخ مصراوي
لقد جربت إرسال ALT+Shfit بواسطة SenKeys ولكن لم أجد لها تأثير ، ثم جربت الطريقة التي ذكرتها بواسطة معرفة رقم الحرف في حدث KeyPress ولكن دون استخدام SenKeys كالتالي :
If KeyAscii >= 65 And KeyAscii <= 122 Then ' حروف إنجليزية
MsgBox "غير مسموح بالكتابة بالأحرف الإنجليزية ."
End If
ولكن يعيبها أن الحرف يبقى في مربع النص وقد استخدمت للتراجع :
DoCmd.RunCommand acCmdUndo
ولم تنفع ثم استخدمت :
نص0.Text = Right(نص0.Text, Len(نص0.Text) - 1)
ولم تنفع فوضعت في حدث KeyUp التالي :
If Len(Me!نص0.Text & "") <> 0 _
And KeyCode = 0 And Shift = 0 Then _
نص0.Text = Right(نص0.Text, Len(نص0.Text) - 1)
ولم تنفع أيضا .
علما أن مربع النص عندي اسمه نص0 .
للأحرف العربية :
If KeyAscii >= 199 And KeyAscii <= 237 Then ' حروف عربية
MsgBox "غير مسموح بالكتابة بالأحرف العربية ."
End If
من يستطيع تلافي هذه المشكلة فليكتب لنا الحل وله الشكر .
وللجميع التحية
هل جربت وضعها فى حدث
Before Update
و إذا كان نتيجة التحليل غير مناسبة
Send keys
"{ESC}"
Cancel = True
Msgbox "Wrong Language"
لا تصح هذه الطريقة لأن الكود يحتاج لمعرفة قيمة KeyAscii وكحل فقد أعلنت عنه كمتغير عام ولكن لم تنجح .
وفقك الله .
ولك تحياتي
شكراً و سأحاول إيجاد حل حيث أن المطلوب مفيد
عفوا أيها الأعزاء : ما المقصود بصندوق النص ؟
أشرف خليل
المقصود هو مربع نص
text box
:P
هذا الموضوع مغلق.
