بسم الله الرحمن الرحيم
السلام عليكم و رحمة الله و بركاته
سؤالي هو كالتالي
كيف أرتب حقل مثلا حقل الاسم و يكون الترتيب حسب
أبجدهوز تصاعديا و تنازليا
و أخواني أكون لكم شاكرا
و جزاكم الله عني ألف خير
وعليكم السلام ورحمة الله وبركاته
big fun أهلا ومرحبا بك في دلفي للعرب 
ADO ليس محرك قواعد بيانات بذاته، إنما هو تغليف أو Driver لواجهة قواعد بيانات
إذن، هو لا يقوم بالإضافة/الحذف/التعديل كما لا يقوم برصف البيانات ضمن الجدول
إنما يرسلها إلى محرك قواعد البيانات من خلال تعليمات DESC/ASC
كيف تقوم المحركات بالترتيب؟ هنا يأتي الحديث عن طريقة الترتيب
يتم الترتيب في محركات البيانات (على اختلاف أنواعها) بعدة طرق
الأصل أن الترتيب العربي "ألفبائي" في معظم القواعد
إن أردت ترتيب آخر ابحث ضمن خصائص المحرك عن إعدادت اللغة والتريتب Collation Sequence
هذا إن كان الخادم يدعم الترتيب أبجدهوز حطي كلمن... ولم ألتق شخصيا بذلك.
بالتوفيق.
السلام عليكم و رحمة الله و بركاته
أخي الكريم شكرا على الرد السريع حفظك الله
أعذرني يا أخي فأنا قد أسأت صياغة نص السؤال
سؤالي هو أنه
ماهي الدالة التي من خلالها يمكنني ترتيب حقل حسب ترتيب أبجدهوز
فإذا عرفتها أفدي و جزاك الله عني و عن كل من يقرأ الموضوع ألف خير
و أنا عن نفسي أذا صغتها أو وجدتها سوف أضيفها في مواضيع أخرى إن شاء الله
[INDENT]
وعليكم السلام ورحمة الله و بركاته ،
أ
خي الحبيب
1- ما هي قاعدة البيانات المستعملة ؟
2- ما هي المكونات التي تستعملها في الاتصال بقاعدة البيانات ؟
3- هل لديك فكرة عن Sql ؟
[/INDENT]
اذا كنت تقصد اعادة ترتيب السجلات بالاعتماد على حقل أو عمود معين من خلال الدلفي وباستخدام
ADOTable
فإليك الجواب
استخدم خاصية SORT
كود :
ADOTable1.Sort := 'FirstName ASC'
ASC لترتيب الصفوف تصاعديا اي من الاصغر الى الاكبر
DESC لترتيبها تنازليا اي من الكبير الى الاصغر
وعلى فرض انك تريد عرض السجلات حسب اسم الاول ثم حسب اسم الاب
كود :
AdoTable1.sort:='FirstName ASC, FatherName ASC';
ولكن عليك العلم ان هذه الأوامر تأثيره يقتصر على عملية العرض فقط اما البيانات المخزنة في قاعدة البيانات فأنت نوعا ما لا تستطيع التحكم فيها حيث يقوم نظام قاعدة البيانات بتخزين البيانات بطريقته الخاصة
ولكننا نستطيع اللعب في هذه البيانات وعرضها بالطريقة التي تناسبنا
السلام عليكم ورحمة الله و بركاته
أعمل على مشروع لفرز الاسماء بطريقة أبجدهوز و كنت أبحث عن دالة التي تمكنني من فرزها حسب أبجدهوز
حيث إستعملت قاعدة بيانات أكسس
و شكرا جزيلا لكم يا إخواني
بالنسبة لل ADOTable فهذه هي الطريقة
او تقوم باستخدام AdoQuery وتكتب فيها جملة الاستعلام SELECT وفي آخر سطر تستخدم امر الترتيب
مثال
على فرض انه لديك جدول الطلاب وفيه الاسم الاول والاسم الثاني واسم العائلة و العمر
وتريد احضار كافة الطلاب بحيث يكونونن مرتبين حسب الاسم الاول والاسم الثاني
كود :
Select firstname, secondname, family, age
from Students
order by firstname ASC, SecondName ASC
اضيق ايضا ان الدالة هي Order By وصيغة الستخدامها
كود :
[B]ORDER BY[/B] [I]field_name[/I] [B]ASC|DESC[/B]
حيث ان ASC للترتيب التصاعدي
DESC للترتيب التنازلي
صيغة ASC و DESC اعرفها
ولكن هذه الصيغة ترتيب الاسماء حسب Le Code Ascii
و Le code Asii لا يدعم صيغة أبجدهوز
حيث
أ ب ج د ه و ز -------> صيغة أبجدهوز
أ ب ت ث ...إلخ ------> صيغة Le code ASCII
و شكرا
يبدو أن Access لا يمكن ترتيب داخلي (COLLATE) محدد باللغة العربية:
كود :
New Database Sort Order Numeric,
1033=General
2052=Chinese Pronunciation
133124=Chinese Stroke Count
1028=Chinese Stroke Count (Taiwan)
197636=Chinese Bopomofo (Taiwan)
1050=Croatian
1029=Czech
1061=Estonian
1036=French
66615=Georgian Modern
66567=German Phone Book
1038=Hungarian
66574=Hungarian Technical
1039=Icelandic
1041=Japanese
66577=Japanese Unicode
1042=Korean
66578=Korean Unicode
1062=Latvian
1063=Lithuanian
1071= Macedonian (FYROM)
1044=Norwegian/Danish
1045=Polish
1048=Romanian
1051=Slovak
1060=Slovenian
1034=Spanish (Traditional)
3082=Spanish (Spain)
1053=Swedish/ Finnish
1054=Thai
1055=Turkish
1058=Ukrainian
1066=Vietnamese
طالع:
كود :
http://msdn.microsoft.com/en-us/library/Aa140014
جرب أيضا خدعة StrComp مع Local ID
كود :
http://www.accessforums.net/queries/use-collate-statement-select-clause-1981.html
بالتوفيق.