تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مشكلة في اختيار أسماء العناصر العربية في ComboBox في MS Access
#5
المشكلة التي تواجهها عند اختيار أسماء المنتجات باللغة العربية في ComboBox ترجع على الأرجح إلى ترميز النصوص (Encoding) أو التعامل مع الأحرف العربية في الاستعلامات النصية داخل DLookup.

أسباب محتملة للمشكلة:
اختلاف الترميز (Collation) بين Access و SQL Server

قد يكون هناك عدم تطابق في الترميز بين الحقل nvarchar في SQL Server وبيئة Access.
استخدام علامات الاقتباس المفردة ' مع النص العربي

عند تمرير اسم المنتج العربي في DLookup, قد لا تتم معالجته بشكل صحيح بسبب المسافات أو المحارف الخاصة.
وجود مسافات غير مرئية في البيانات العربية

بعض الحقول في SQL Server قد تحتوي على مسافات زائدة أو رموز غير مرئية في نهاية أو بداية النص.
عدم تطابق نوع البيانات عند البحث في DLookup

DLookup يستخدم مقارنة نصية مباشرة، مما قد يسبب أخطاء مع النصوص العربية.
الحل المقترح:
 1. استخدام Trim لإزالة المسافات غير المرئية
قبل تمرير اسم المنتج إلى DLookup، قم بإزالة أي مسافات زائدة:

PHP كود :
Dim proName As String
proName 
Trim(Me.CboName)

Form_frm_froshtn_detail.ProName DLookup("[ProName]""tbl_Product""[ProName]= '" proName "'")
Form_frm_froshtn_detail.ProCode DLookup("[ProCode]""tbl_Product""[ProName]= '" proName "'")
Form_frm_froshtn_detail.Cost DLookup("[Cost]""tbl_Product""[ProName]= '" proName "'")
Form_frm_froshtn_detail.Price DLookup("[Price]""tbl_Product""[ProName]= '" proName "'"

 2. إضافة N قبل النص العربي عند استخدام nvarchar

عند التعامل مع الحقول من نوع nvarchar في SQL Server، يجب وضع N قبل النص العربي حتى يتم تفسيره بشكل صحيح:

PHP كود :
Form_frm_froshtn_detail.ProName DLookup("[ProName]""tbl_Product""[ProName]= N'" proName "'")
Form_frm_froshtn_detail.ProCode DLookup("[ProCode]""tbl_Product""[ProName]= N'" proName "'")
Form_frm_froshtn_detail.Cost DLookup("[Cost]""tbl_Product""[ProName]= N'" proName "'")
Form_frm_froshtn_detail.Price DLookup("[Price]""tbl_Product""[ProName]= N'" proName "'"

 3. التأكد من تطابق Collation بين Access و SQL Server

افتح SQL Server Management Studio (SSMS) ونفذ الأمر التالي للتحقق من الترميز (Collation) الخاص بجدول tbl_Product:

PHP كود :
SELECT namecollation_name 
FROM sys
.columns 
WHERE object_id 
OBJECT_ID('dbo.tbl_Product') AND name 'ProName' 

إذا كان الترميز مختلفًا (Latin1_General_CI_AS مثلاً)، فجرّب تغييره إلى Arabic_CI_AS:

PHP كود :
ALTER TABLE tbl_Product
ALTER COLUMN ProName NVARCHAR
(255COLLATE Arabic_CI_AS 

 4. البحث باستخدام الباركود بدلاً من الاسم

بما أن البحث بالباركود يعمل بشكل صحيح، يمكنك تعديل DLookup ليتم البحث باستخدام ProCode بدلاً من ProName:

PHP كود :
Dim proCode As String
proCode 
DLookup("[ProCode]""tbl_Product""[ProName]= N'" proName "'")

Form_frm_froshtn_detail.ProName proName
Form_frm_froshtn_detail
.ProCode proCode
Form_frm_froshtn_detail
.Cost DLookup("[Cost]""tbl_Product""[ProCode]= '" proCode "'")
Form_frm_froshtn_detail.Price DLookup("[Price]""tbl_Product""[ProCode]= '" proCode "'"

? الخلاصة
1. استخدم Trim() للتخلص من المسافات غير المرئية.
2. استخدم N عند تمرير القيم إلى DLookup للتعامل مع nvarchar.
3. تأكد من أن Collation في SQL Server يدعم اللغة العربية.
4. إذا استمر الخطأ، استخدم الباركود كمرجع بدلاً من الاسم.
الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
RE: مشكلة في اختيار أسماء العناصر العربية في ComboBox في MS Access - بواسطة Kamil - 31-01-25, 10:38 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Star [Acces2010] مشكلة في زر التالي و السابق الجنرال أحمد 1 332 22-03-25, 09:28 PM
آخر رد: اسير الشروق
  [Acces2010] مشكلة في الإستعلام ؟ بوكفوس عبدالسلام 1 327 18-12-24, 12:54 AM
آخر رد: hany_youssef
Thumbs Up [كورس] طريقة ربط قاعدة بيانات Access على شبكة MRSADEK 0 420 25-11-24, 05:28 AM
آخر رد: MRSADEK
Photo [Acces2010] مشكلة في استعلام اكسيس يرجى المتابعة abdelnabi 1 385 03-11-24, 12:39 PM
آخر رد: abdelnabi
Smile Add Control User Update Table Link VBA Add Control ms.Access(تحكم بصلاحيات)اكسس Ezril5 0 542 04-05-24, 01:31 AM
آخر رد: Ezril5
Big Grin Controls Access(ربط المتعدد الى نموذج)اكسسFolder UP2GB Update Table Link VBA Ezril5 0 556 27-04-24, 02:01 AM
آخر رد: Ezril5
Big Grin reevew Background Fix Scrollbar Off ON M AddNew FixAt Ma Access (إضافة نوع الدفع اكسس Ezril5 4 522 23-04-24, 10:02 PM
آخر رد: Ezril5
Big Grin Update Table Link VBA And + and backup + Control ms.Access (برنامج ربط قواعد اكسس) Ezril5 0 469 23-04-24, 02:06 AM
آخر رد: Ezril5
Big Grin Update At Fix Give Control Ms.Access -( استكمال برنامج المثابر لموسى مع الإضافات) Ezril5 0 479 07-04-24, 01:12 AM
آخر رد: Ezril5
Big Grin PXL::(Control Size Form And item).V 14 EZril MS.Access تحكم بتحجيم الفورم والعناصر) 2 Ezril5 0 311 05-04-24, 02:38 AM
آخر رد: Ezril5

التنقل السريع :


يقوم بقرائة الموضوع: