PDA

View Full Version : sort کردن فیلد text به روش اصولی



IMANAZADI
چهارشنبه 06 بهمن 1389, 12:18 عصر
با سلام خدمت دوستان گرامی
میخواستم ببینم چطوری میشه یک فیلد از نوع تکس که اطلاعات درون اون عدد وارد میشه را sort کرد .
بطور مثال :
در جدول یک فیلد تکس وجود داره که با کاراکترهای عدد پر میشه
اسم فیلد remark هست
و اطلاعات درون اون به شکل زیر می باشد

1
10
20
2
5
16
3
22
4
7
9

حالا چطوری میشه توی table یا کوئری یا report اونا را طوری sort کرد که به شکل صحیح مرتب بشند نه بصورت زیر


1
10
16
2
20
22
3
4
5
7
9

توضیح اینکه نمیتونم فیلد را از نوع number انتخاب کنم چون ممکن است یکسری کاراکتر های عددی اندیس حروف بگیرند مثل 10A , 14B

IMANAZADI
چهارشنبه 06 بهمن 1389, 14:44 عصر
کسی از دوستان یا مدیران نیست راهنمایی کنه ؟

stabesh
چهارشنبه 06 بهمن 1389, 15:52 عصر
سلام
اين شايد به كارتون بياد
http://support.microsoft.com/kb/209632

anbaran
چهارشنبه 06 بهمن 1389, 19:24 عصر
دوست عزیز برای سورت کردن اطلاعات عددی در فیلهای متنی چندین راهکار وجود داره که من 1 راهکار رو به عنوان نمونه رو برات توضیح می دم
1-چنانچه اطلاعاتی که در فیلد متنی وارد کردید همواره عدد هست و شما هیچ کاراکتر دیگری جز عدد در اون فیلد استفاده نکردید می تونید با تشکیل یک فیلد عددی از اطلاعات فیلد مذکور اطلاعات خود را سورت کنید برای تشکیل فیلد عددی از تابع (نام فیلد متنی)INT استفاده کنید.
2-...
موفق باشید

mazoolagh
چهارشنبه 06 بهمن 1389, 21:24 عصر
پاسخ آقای تابش درست هست ولی در زمان اجرا overhead داره

در اینجور موارد بهتر است هر گونه عملیات و محاسبه و ... رو به زمان data entry منتقل کنین تا کوئری های شما بتونین هر چه سریعتر اجرا بشن. البته هزینه اینکار فیلدهای اضافی هست ولی معمولا وزنه سرعت به حجم دیتابیس میچربه.

یک راه این هست که یک فیلد text دیگه به جدول اضافه کنین که عبارتها رو به شکل زیر نگهداری کنه:


0001
0010
0002a
0010b
...
اینکار در فرم ورودی انجام و با یک کدنویسی ساده انجام میشه.


format(val(x),"0000")

که x عبارت مورد نظر هست. بخش حرفی رو هم بسادگی میتونین با چند خط کد دیگه به این بخش اضافه کنین.