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

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

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

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

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

جدا کردن کاراکتر عددی از یک متن حاوی کاراکتر حرفی


در کد زیر توسط تابع Mid کاراکترها یک به یک  در تابع Asc قرار داده شده ، چنانچه جواب تابع Asc غیر کد های اسکی 48 تا 57 ( کد اسکی اعداد )   باشد در NumericString ذخیره میشود .



کدی که از فروم های خارجی استخراج شده 

Function NumericString(strInput As String) As String
'Returns a string containing only the numeric characters of the input string
Dim i As Integer
Dim intAsc As Integer
NumericString = ""
i = 1
While i <= Len(strInput)
    intAsc = Asc(Mid(strInput, i, 1))
    If (intAsc >= 48 And intAsc <= 57) Then
        'character is Numeric
        NumericString = NumericString + Mid(strInput, i, 1)
    End If
    i = i + 1
Wend
End Function



=NumericString("ABH234D") will return "ABHD"



ASCII control characters non printable :

ASCII code 00 = NULL ( Null character )ASCII code 01 = SOH ( Start of Header )
ASCII code 02 = STX ( Start of Text )
ASCII code 08 = BS ( Backspace )
ASCII code 27 = ESC ( Escape )
ASCII code 28 = FS ( File separator )
ASCII code 127 = DEL ( Delete )











جدا کردن ارقام در VBA



فرض کنید رشته  x1y135 موجود است و میخواهید ارقام را از آن جدا کنید ( خروجی 1135 شود ) 


اولین کار زدن لوپ ( For.....Next ) در طول آن رشته است ( تابع Len ) و  استفاده از تابع MID برای نمایش کاراکترو اینکه در همان کاراکتر مشخص کنید اگر رقم ( Digit ) بود در متغیری مثل s ذخیره شود 



%Dim i

$Dim s

(For i=1 To Len(txt

(Select Case MID(txt,i,1

Case 0 To 9 

(1, s=s & MID(txt,i

End Select

Next

Msgbox s 


مورد بالا از سایت آفیس اقتباس شده البته روش های دیگری غیر از Select Case هم وجود دارد .


از IsNumeric هم میشود استفاده کرد و اگر نتیجه ی MID نامبر بود در یک متغیر ذخیره نماید