delphi4arab منتديات دلفي للعرب
كيف يتم تريتب فهرسة البيانات تنازليا ؟ - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : كيف يتم تريتب فهرسة البيانات تنازليا ؟ (/showthread.php?tid=678)

الصفحات: 1 2


كيف يتم تريتب فهرسة البيانات تنازليا ؟ - kachwahed - 06-03-2009

السلام عليكم

أبحث عن طريقة لجعل ترتيب الحقول المفهرسة بشكل تنازلي (من الأكبر إلى الأصغر) عوضا عن تريتبها الافتراضي (تصاعدي)، وذلك أثناء تشغيل البرنامج (at runtime)، وباستعمال مكون TTable مع TDBGrid فقط.
شكرا كثيرا.


كيف يتم تريتب فهرسة البيانات تنازليا ؟ - nabilkeb - 06-03-2009

لما لا تستخدم SQL ؟؟؟
http://www.delphi4arab.net/forum/showthread.php?tid=998


كيف يتم تريتب فهرسة البيانات تنازليا ؟ - محمد عبد العزيز - 06-03-2009


أنشأ دليل index للحقل الذي تريد الترتيب حسبه واستخدمه
فقط



كيف يتم تريتب فهرسة البيانات تنازليا ؟ - nabilkeb - 06-03-2009

DeltaAziz كتب :
أنشأ دليل index للحقل الذي تريد الترتيب حسبه واستخدمه
فقط
أظن أنني لم أفهم المقصود.
إذا أنشأ Index للحقل المراد ترتيبه ، فإن الرتيب يكون تلقائيا (تصاعديا) يعني القراءة من بداية أول تسجيل : أ - ب ..... ي أو 1 - 2 - ..... وهكذا .


أطن أن السؤال : هو طلب العكس . إذا كان بــ SQL :
كود :
Select [COLOR=Black]*[/COLOR] From [COLOR=Black]Field[/COLOR] Order By [COLOR=Black]Field[/COLOR] [COLOR=Blue]desc[/COLOR]
بدون ذلك ، لست أدري ! ! !


كيف يتم تريتب فهرسة البيانات تنازليا ؟ - محمد عبد العزيز - 06-03-2009

إقتباس :إذا أنشأ index للحقل المراد ترتيبه ، فإن الرتيب يكون تلقائيا (تصاعديا)
دليل ثانوي وليس دليل اساسي
وعند انشائه هناك خيار الترتيب التصاعدي او التنازلي
[صورة: 24zvl7b.jpg]



كيف يتم تريتب فهرسة البيانات تنازليا ؟ - kachwahed - 06-03-2009

السلام عليكم،
شكرا على التجاوب السريع
إقتباس :أطن أن السؤال : هو طلب العكس .
أصبت... بالضبط.
إقتباس :دليل ثانوي وليس دليل اساسي
وعند انشائه هناك خيار الترتيب التصاعدي او التنازلي
أجل...، شكرا على التوضيح، أعلم ذلك، لكن سؤالي كان عن فعل ذلك في زمن التشغيل كما بينت ذلك، يعني: at runtime وليس قبل التصميم at designtime.

أتعامل مع TTable وليس TQuery لأني استعمال الجدول لإدخال البيانات، و TQuery تسمح بإخراج البيانات لا بإدخالها (وإدخال البيانات ممكن مع إضافة مكون TUpdateQuery و...و... يعني طريق طويل).
لا أزال أبحث...
شكرا كثيرا.


كيف يتم تريتب فهرسة البيانات تنازليا ؟ - محمد عبد العزيز - 06-03-2009

إقتباس :سؤالي كان عن فعل ذلك في زمن التشغيل
غير Index عند التشغيل كما تشاء، عند استعمال الدليل الاساسي يكون الترتيب افتراضي وعند تغييره واستخدام الدليل الثانوي يتغير الترتيب


كيف يتم تريتب فهرسة البيانات تنازليا ؟ - kachwahed - 06-03-2009

شكرا أستاذ، بارك الله فيك
إقتباس :غير Index عند التشغيل كما تشاء، عند استعمال الدليل الاساسي يكون الترتيب افتراضي وعند تغييره واستخدام الدليل الثانوي يتغير الترتيب
يعني لا يمكن تغيير الترتيب أثناء التشغيل ؟
هناك طريقة باستعمال TClientDataSet واستغلال خاصية Sort التي تمكن من ذلك، هذه لا ****ها.
هناك قيمة xiDescending المنطقية في خاصية Options لكل حقل من TTable لكني لم أتوصل إلى طريقة استعمالها بالشكل الصحيح.
وماذا على ترتيب القيم المحسوبة في OnCalcFields ؟ كيف السبيل إلى تريبها؟
عذرا على الالحاح :o


كيف يتم تريتب فهرسة البيانات تنازليا ؟ - محمد عبد العزيز - 06-03-2009


ان كان لديك دليل فريد (اساسي) فان الترتيب يكون حسبه
ان كنت تريد تغيير الترتيب برمجيا ارفق جدول به بعض البيانات
واذكر ماهو الحقل الذي تريد ان ترتبه



كيف يتم تريتب فهرسة البيانات تنازليا ؟ - kachwahed - 07-03-2009

مثلا من DBDemos الجدول Customers، نضع زر BtnSort مثلا باسم كل حقل، مثلا زر SortCustNo وزر لـ SortEmpNo وهكذا...، عند النقر على أحد هذه الأزرار يتغير ترتيب العرض من تنازليا ثم تصاعديا، شكرا كثيرا .