View Full Version : ُSort
Masoud.eh
پنج شنبه 05 مرداد 1402, 17:38 عصر
سلام دوستان
دیتابیسی دارم که بنا به دلایلی مجبور شدم فیلد شماره پرونده رو از نوع تکست انتخاب کنم (بعضی از شماره پرونده ها حروف دارن)، ولی مشکلی که هست سورت کردن بر اساس شماره پرونده مرتب نیست و شماره پرونده ها به ترتیب نمیاد.
dastgerdi
پنج شنبه 05 مرداد 1402, 20:53 عصر
سلام
اگر می خواهید شماره پرونده ها را به ترتیب مرتب شوند، باید یک روشی برای مرتب کردن درست آنها پیدا کنید. این با توجه به نوع شماره پرونده هاست که حروف را بعضاً در بر می گیرد.
اگر شماره پرونده ها شامل یک بخش عددی و یک بخش حرفی است (مثال: 123A، 456B، 789C)، می توانید از تابع Val در VBA استفاده کنید تا بخش عددی را از رشته جدا کنید و بر اساس آن مرتب سازی انجام دهید. به عنوان مثال:
SELECT * FROM YourTable ORDER BY Val(FieldName)
در اینجا YourTable نام جدول و FieldName نام فیلد شماره پرونده است. با استفاده از تابع Val، اعداد عددی از رشته جدا می شوند و سپس سورت می شوند.
در صورتی که شماره پرونده ها فقط شامل حروف هستند، اندیس نگاری مناسب برای بررسی ترتیب الفبا استفاده کنید. مثلاً اگر از الفبای انگلیسی استفاده می کنید، می توانید به جای اطلاعات را بر اساس شماره پرونده مرتب کنید، اطلاعات را بر اساس یک ستونی که شامل معادل عددی هر حرف می باشد مرتب کنید. مثلاً برای مرتب کردن شماره پرونده های عمودی به صورت الفبایی از کد زیر می توانید استفاده کنید:
SELECT * FROM YourTable ORDER BY Asc(FieldName)
در اینجا YourTable نام جدول و FieldName نام فیلد شماره پرونده است. Asc یک تابع است که عدد معادل با کد ASCII هر حرف را برمی گرداند. با استفاده از Asc، می توانید شماره پرونده ها بر اساس ترتیب الفبایی مرتب کنید.
با استفاده از روش مناسب برای مرتب کردن شماره پرونده ها، می توانید ترتیب درست را به صورت خواسته شما در سامانه خود اعمال کنید.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.