الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ترتيب بأكثر من حقل

بدأه ameedoo3000 في 30 يونيو 2016 · 19 رد · 1,046 مشاهدة · في قواعد بيانات Visual FoxPro
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله 

كنت قد سألت بالسابق عن طريقة عمل order لجدول معين بأستخدام حقلين او اكثر وذلك بأستخدام الامر set order to ، وعلمت من خلال بحثى عبر الانترنت انه لا يمكن عمل ذلك الا من خلال عمل create the index tag by expression from two columns  
وكان هذا من خلال الموقع https://www.experts-exchange.com/questions/28546688/set-order-of-a-table-by-two-fields-vfp.html

فكيف يتم ذلك بحيث ان اقوم بكتابة الامر set ordet to column1 Descending And column2 Ascending 

فيظهرر ترتيب البنون اولا واسماؤهم مرتبة تصاعديا ثم يليهم البنات واسماءهم مرتبة تصاعديا 

ارجو الافادة والتوضيح ... وجزاكم الله كل خير

نموذج.rar

#2

السلام عليكم اليك الكود بعد تجربته وهو بسيط

SELECT * from school;
 GROUP BY School.ÇáÇÓã;
 ORDER BY School.ÇáäæÚ
 

#3

  ;select * from school

;الاسم.group by school

النوع .order by  school

طبع يفضل تغير اسماء الحقول في الجدول الى اللغه الانكليزيه ..ويمكنك تجربه الكود بوضعه داخل كوماند في الفورم ...مع التحيه

#4

جزيل الشكر لك اخى الكريم 

لكن الكود به مشكلتان 

1- يوجد خطأ ما لا اعرفه فى Group by وبالتالى فهو لا يعمل 

2- عند حذف الجزئية الخاصة بالجروب والاكتفاء فقط بالـ order by  كانت النتيجة ظهرت فى نموذج استعلام منفصل وليس بداخل الجرايد الموجود فى الفورم 

ارجو التوضيح والافادة 

#5

اخي العزيز 

الرجاء جعل أسئلتك بموضوع واحد اذا كانت مترابطة 

وليس لكل سوْال موضوع

خدمة للصالح العام 

وخلاف ذلك سوف يتم حذف الموضوع كلياً

تحياتي لك 

#6

هل المشكلة في كيفية عمل الـ Tag ?

ly81f9038b6f.jpg

سقوط الإنسان ليس فشلاً، ولكن الفشل أن يبقى حيث سقط

#7

السلام عليكم.....رمضان كريم...وكل عام وانتم بخير

لعمل Index مبني على حقلين 

INDEX on ALLTRIM(UPPER(النوع))+ALLTRIM(UPPER(الاسم)) TAG AnyTag

ولاستدعاء هذا الفهرس تقوم باستخدام الفهرس الذي قمنا بتسميته AnyTag

SET ORDER TO ANYTAG

مع التحية

أستغفر الله العظيم و أتوب إليه

#8

جزاكم الله كل خير أعضاء المنتدى الموقر ... هذا فعلا هو المطلوب بالضبط 

واعتذر جدا على الخطأ الغير مقصود من فتح موضوع جديد مكرر ، لكن السبب هو ان المشاركة الأولى التى كانت بعنوان "تصحيح أكواد" لم تنته بعد وقد سألت سؤال ولم يتم الاجابة عنه فظننت ان الموضوع قد تم اغلاقة ، ولذلك قمت بعمل سؤال جديد ومشاركة جديدة ظنا ان هذه هى الطريقة السليمة !!! 

- لدى سؤال اخير فى هذه المشاركة وهو عندما قمت بتغيير (Upper) الى (Lower) وجدت ان النتيجة هى هى ولم يحدث اى تغيير ، بمعنى 

INDEX on ALLTRIM(Lower(النوع)) + ALLTRIM(Upper(الاسم)) TAG a

SET ORDER TO a 

لم يتغير اى شئ وهى نفس النتيجة الاولى ، فما السبب ؟

ارجو التوضيح

#9

اخي العزيز 

اذا تأخرت الإجابة لايعني إغلاق الموضوع 

واعطنا فرصة او الصبر معنا قليلاً وسوف تجد اجابتك

وشكرا لتفهمك تنبيهنا

اما بخصوص lower او upper 

هي الإرجاع القيمة للأحرف الكبيرة في حال كتبت صغيرة باستخدام upper 

والعكس للصغيرة في حالة كتبت احرف كبيرة باستخدام lower 

اما اذا كتبت احرف صغيرة اصلاً مع lower فلايوجد تغيير لان النتيجة واحدة?

#10

جزيل الشكر لك اخي الكريم وزادك الله من علمه

لقد استفدت كثيرا منكم ومن خبزاتكم

الف شكر ... مع لقاء في مشاركة جديدة

#11

جزاك الله كل خير ونفعك بعلمه الى يوم الدين

مع لقاء فى سؤال جديد

#12

معذرة اخواني الكرام هناك تكملة بسيطة للسؤال قد نسيتها

هذا الكود يعمل على الترتيب بحقلين تصاعديا

index on alltrim(upper(النوع)➕ alltrim(upper(الاسم)) tag a

فماذا لو اردت الترتيب بنفس الحقلين السابقين مع الفرق ان يكون احدهما تصاعديا والاخر تنازليا

واسف جدا على نسياني هذه الجزئية

مع جزيل شكري وتقديري لكم جميعا

#13

لا يمكن ذلك

أستغفر الله العظيم و أتوب إليه

#14

السلام عليكم و رحمة الله وبركاته

تقبل الله طاعتكم و كل عام وانتم بخير

اخي العزيز ameedoo3000 قمت ببعض الاضافات التي ارجو ان تنال استحسانك و استحسان المشرفين 

وهي عملية الترتيب جعلتها في الـ Header  الخاص بالـ Grid بدل ان تكون في الـ Command

 

 

Student.rar

ly81f9038b6f.jpg

سقوط الإنسان ليس فشلاً، ولكن الفشل أن يبقى حيث سقط

#15

جزاك الله كل خير 

ارجو التوضيح اكثر ، حيث انى لا اجد مكان التغيير فى الـ Header  او طريقة التغيير !

#16

السلام عليكم ورحمة الله وبركاته

الـ Header هو الجزء العلوي من الـGrid الخاص بتعريف محتويات العمود بمعني تعما Click على الاسم سوف يتم الترتيب الاسماء تصاعديا ومرة اخرى تنازلياً

header Grid.jpg

ly81f9038b6f.jpg

سقوط الإنسان ليس فشلاً، ولكن الفشل أن يبقى حيث سقط

#17

فكرة جديدة وجميلة .... جزاك الله كل خير 

#18

للترتيب بأكثر من حقل

sort on field1,field2 to new file 

مثال إذا أردت ترتيب ملف الموظفين (emp)طبقا للاسم ةمود الموظف 

use emp

sort on name,code to emp1

تم تعديل هذه المشاركة بواسطة على بشير محمد في 22 يوليو 2016 في 12:00

#19

اضافة جميلة وجديدة وشيقة 

جزاكم الله كل خير 

#20

السلام عليكم ....

الأمر Sort سيقوم بتسليم النتيجة في جدول جديد

وهذا قد لا يفيد أثناء سير العمل الطبيعي

أستغفر الله العظيم و أتوب إليه

مواضيع مشابهة