PDA

View Full Version : Sort کردن فیلد Text بصورت عددی



M.T.P
یک شنبه 18 اردیبهشت 1390, 17:43 عصر
با سلام
فیلدی دارم از نوع Text که تمامی رکوردهای آن عددی هستن(البته بنا به دلایلی فیلد رو از نوع Text انتخاب کردم)
خب همینطور که می دونید دستور Order By برای هر کدام از فیلد های عددی و غیر عددی یک الگوریتم مخصوص داره و فیلد من که مقدار رکوردهاش همه عدد هست با دستور Order By درست Sort نمیشه.
برای مثال اگه رکوردهام:
1
3
100
5
10
باشه اینطوری سورت میشه:
1
10
100
3
5
چطور میشه این فیلد رو به شکل صحیح Sort کرد ، بدون اینکه فیلد رو عددی کنیم؟

stabesh
یک شنبه 18 اردیبهشت 1390, 18:37 عصر
سلام
http://barnamenevis.org/showthread.php?271813-sort-%DA%A9%D8%B1%D8%AF%D9%86-%D9%81%DB%8C%D9%84%D8%AF-text-%D8%A8%D9%87-%D8%B1%D9%88%D8%B4-%D8%A7%D8%B5%D9%88%D9%84%DB%8C

dadsara
دوشنبه 19 اردیبهشت 1390, 09:25 صبح
سلام
شما می تونید هنگام نمایش اعم از کوئری یا ریپورت آنرا به عدد تبدیل کرده سپس نسبت به مرتب کردن آن اقدام کنید
بعنوان مثال فیلد موردنظر شما id نام دارد و از نوع رشته است
SELECT Int([id]) AS Expr1, Table1.name
FROM Table1
ORDER BY Int([id]);

M.T.P
دوشنبه 19 اردیبهشت 1390, 12:28 عصر
سلام
ممنون این بهترین راه هست...
اما میشه بفرمایید اون Table1.name برای چی هست؟

M.T.P
دوشنبه 19 اردیبهشت 1390, 12:58 عصر
ببینید من دو تا فیلد در جدولم دارم به اسم FldAcc و FldName ،،، فیلد FldAcc همون فیلد رشته ای هست که مقادیرش عدد هست.
من دستور زیر رو وارد میکنم:

Select Int([FldAcc]) As FldNew,FldName From TblCustomers Order By Int([FldNew])
اما پیغام زیر رو میده:
البته با vb6 و کتابخانه ADODB کار میکنم.

No value given for one or more required parameters

dadsara
دوشنبه 19 اردیبهشت 1390, 13:41 عصر
سلام
بایستی اینطوری می نوشتید

Select Int([FldAcc]) As FldNew,FldName From TblCustomers Order By Int([FldAcc])