منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : مشكلة فى ترتيب السجلات
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
فى لغة ال VB6
لدى Adodc متصل بجدول TABLE1 فى قاعدة بيانات
وعندى مشكلة عند عرض البيانات بترتيب معين
جملة الترتيب التى أعرفها هى

Adodc1.RecordSource = "select * from TABLE1 ORDER BY TABLE1.NAME
تحدث المشكلة اذا كان الحقل المطلوب ترتيب السجلات بناء عليه(الحقل NAME) حقل نصى وتحتوى بيناته على همزات
فهو يفرق بين الحرف "ا" وبين الحرف "أ"   فيجعل كلمة "أمجد" قبل كلمة "اشرف"
بينما لو تجاهلنا الهمزات ولم نفرق بين الحرفين لكانت كلمة "اشرف"هى الأولى (لأن طبعآ حرف ال شين قبل حرف ال ميم)

ولكم ألف شكر
لدى كود يحل تلك المشكلة ولكنه كود معقد متعب للكمبيوتر عند عمل أى ترتيب للسجلات
   Adodc1.Recordset.MoveFirst
For I = 0 To Adodc1.Recordset.RecordCount - 1
     NAMME = Adodc1.Recordset.Fields(1)
  NAMME = Replace(NAMME, "أ", "ا", 1, -1)
  NAMME = Replace(NAMME, "إ", "ا", 1, -1)
  NAMME = Replace(NAMME, "آ", "ا", 1, -1)
   Adodc1.Recordset.Fields(1) = NAMME
Adodc1.Recordset.MoveNext
Next I
Adodc1.Refresh
     Adodc1.RecordSource = "select * from TABLE1 ORDER BY TABLE1.NAME"


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

لان أ هو الحرف الاول فى الحروف الابجدية لكن كلاً من إ و آ و ا كلها حروف ثانوى اى يتبع
لا اعلم حل جزري حتى يختصر الامر عليك لكن من وجهى نظرى

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

وبكده تكون حليت المشكلة دون اى عناء

تحياتى لك
وتمنياتى لك التوفيق
إقتباس :ثانياً اذا كنت تريد عمل الصح فيبقي فى قيمة ادخال الاسماء بالجدول
يمعنى عند عمل اضافة الاسماء عليك باستبدال ا بـ أ أو العكس

وبكده تكون حليت المشكلة دون اى عناء

وهذا ما فعلته أصلآ فى كودى وأسأل عن حل أسها منه

  NAMME = Replace(NAMME, "أ", "ا", 1, -1)
  NAMME = Replace(NAMME, "إ", "ا", 1, -1)
  NAMME = Replace(NAMME, "آ", "ا", 1, -1)

ولكم ألف شكر