کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

به اشتراک گذاری اطلاعات کسب شده در اکسس از سایت آفیس و سایت های تخصصی خارجی
کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

به اشتراک گذاری اطلاعات کسب شده در اکسس از سایت آفیس و سایت های تخصصی خارجی

مرتب سازی رکوردهایی با مقدار عددی ذخیره شده در فیلد تکست



در تب Home در گروه Sort & Filter روی Advanced و سپس در شورت کات منو روی Advanced Filter/Sort کلیک بنمائید 

عبارت زیر را در  expression تایپ نمائید در اولین ستون  و اولین ردیف . تابع IIf بررسی میکند که آیا مقدار فیلد Null است و اگر چنین باشد بعنوان صفر عمل می کند . اگر مقدار Null نباشد تابع IIf تابع Val را برای بدست آوردن معادل عددی آن فراخوانی میکند.

((Expr1: IIf([Fieldname] Is Null, 0, Val([Fieldname

در سل Sort انتخاب کنید Ascending نمایش بصورت صعودی یا Descending نمایش بصورت نزولی





مرتب سازی اعداد در اکسس با استفاده از VBA


ساده ترین روش مرتب نمودن اعداد بصورت صعودی 

البته وقتی سورس اعداد در جدول یا کوئری باشد  میشود در Query Builder ،  عملیات Sort را انجام داد و در لیست باکس بدون هیچ دردسری مرتب سازی را مشاهده نمود ولی  هدف یادگیری زبان VBA است وگرنه نیازی به اینکاری که انجام دادیم نیست 


برای سورت یا مرتب سازی اعداد بصورت صعودی یا ASC از روش جایگزینی دو عدد مقایسه شده استفاده شده که اگر بزرگتر بود با عدد کوچکتر در آرایه جابجا شوند فرضا  اعدا  8,3,12 مشهود است نتیجه بصورت مرتب سازی صعودی می بایست 3,8,12 باشد


(Dim A(2

A(0)=8

A(1)=3

A(2)=12

عدد اول را از آرایه میگیریم 

N=A(0)=8

یک لوپ میزنیم 


 For i=0 To 2....Next

در لوپ اگر N از( A(i بزرگتر بود جای آنها عوض میشود در مثال بالا N=8 از A(i)=3 بزرگتر است در نتیجه A(0)=3 و A(1)=12 میشود و در آخر  A(i)= N در غیراینصورت ( N=A(i


8,3,12

3,8,12


یا فرضا مرتب سازی صعودی اعداد 2,6,4,0,1  و مراحل انجام شده توسط کد 


0:2,6,4,0,1

1:2,4,0,1,6

2:2,0,1,4,6

3:0,1,2,4,6

4:0,1,2,4,6


یک لوپ دیگر بین این لوپ لازم است تا چرخه ادامه پیدا کند 


و با لوپ دیگر میتوان آخرین مرحله که همان سورت شده ی اعداد در آرایه است را در خروجی  مشاهده نمود 


For j=0 To 2 

(Debug.Print A(j

Next





روش های پیچیده دیگری هم در اینترنت وجود دارد  ولی ساده ترین روش که قابل فهم باشد مانند توضیحات ذکر شده در بالا است.