Access VBA vasitəsilə sətirdə əlifba sırası (qeyri-rəqəm) xarakter olub olmadığını necə yoxlamaq olar

İndi paylaş:

Məlumatı verilənlər bazanıza idxal etməzdən əvvəl "təmizləmək" olduqca standartdır - axı, verilənlər bazasından istifadə etməyə başlamağınızın səbəblərindən biri, müəyyən edilmiş meyarlar üçün həmin verilənlər bazasına əvvəlcədən sorğu göndərə bilmənizdir, elə deyilmi? Bəs, məsələn, bir şəxsin "$" daxil etdiyi, digərinin isə bunun pul dəyəri olduğunu bildiyinizi düşündüyü bir fayldan məlumat idxal etməli olduğunuz xarici vəziyyətləri necə idarə edirsiniz - və ya daha pisi, kiminsə "am" və ya "pm" daxil etdiyi, digərinin isə 24 saatlıq saatdan istifadə etdiyi bir fayl? Həmişəki kimi, problemə yanaşmağın bir çox yolu var, amma bir yol, bir sətrin sadəcə bir sıra rəqəmlər olub olmadığını və ya tərkibində hər hansı bir "qeyri-rəqəm" olub olmadığını yoxlamaqdır. Bir az VBA ilə bu cür yoxlama sadədir - və bu məqalə sizə nə qədər sadə olduğunu göstərəcək...

Niyə bunu etməliyik?

Məlumat simvollarıƏgər daxil edilməsi və ya çıxarılması üzərində nəzarətiniz olmayan hər hansı bir məlumatı idxal edirsinizsə, bu problemlə dəfələrlə (çox!) qarşılaşmış olacaqsınız - insanlar məlumatları vahid şəkildə deyil, özləri üçün ən rahat olan şəkildə daxil edirlər. Bu o deməkdir ki, bunu etməli olduğunuz zaman məsələsidir. etmək onu idxal etməzdən əvvəl uniforma.

Bunun tipik nümunəsi, məlumatları rəqəmsal sahəyə idxal etməyiniz lazım olduğu yerdir, lakin məlumatlara baxdığınız zaman bəzilərinin minlərlə vergüllə ayırdığını, digərlərinin isə valyuta işarəsi əlavə etdiyini görürsünüz - və başqa nə bilir.

Tez xəbərdarlıq sözü!

Verilənlər bazanıza təmizlənməmiş məlumatların idxalı olduqca fəlakətli ola bilər – ən yaxşı halda bu, hesabatlarınızı əyləndirə bilər, daha pis halda, hər cür şeylərin pozulması ilə nəticələnə bilərsiniz – “çirkli” məlumat idxalının sizə səbəb olmasına imkan verməyin. etməyə çalışırıq Giriş problemini həll edin bütün həftə sonu!

Əlifba simvollarından necə qurtulmaq olar

Əlbəttə ki, axtarış edə və əl ilə əvəz edə bilərsiniz, lakin bunu etmək vaxt apara bilər və siz nəyisə əldən verə bilərsiniz (yalnız, məsələn, dollar işarələrini axtarırsınızsa, avro işarəsini və ya vergülləri, boşluqları və s. qaçıra bilərsiniz) . Beləliklə, bunu etməyin ən asan və daha etibarlı yolu Access-ə aşağıdakı koddan istifadə edərək çətin işi görməyə icazə verməkdir.

Kodun üzərinə…

Public Function removeNonNumeric(inString As String) As Long
    Dim outputString, chrString As String
    Dim strPos As Integer
    
    For strPos = 1 To Len(inString)
        chrString = Mid(inString, strPos, 1)
        If IsNumeric(chrString) Then outputString = outputString & chrString
    Next
    
    removeNonNumeric = CLng(outputString)
End Function

Kod nə edir

VBA koduBuradakı funksiya çox sadədir. Burada etdiyimiz tək şey ötürülən sətri bir-bir simvolla dövrələməkdir. Əgər simvol rəqəmdirsə, onu müvəqqəti sətirimizə əlavə edirik və işi bitirdikdən sonra onu "uzun"a çeviririk.

Kodun sizə uyğunlaşdırılması

Gördüyünüz kimi – funksiya “uzun” məlumat növünü qaytarır – əgər siz tam ədədlər və ya üzən nöqtələrlə və s. ilə işləyirsinizsə, onda siz verilənlər bazanız üçün düzgün dəyər növünü qaytarması üçün funksiyanı müvafiq olaraq dəyişdirmək istəyə bilərsiniz.

Müəllif Giriş:

Mitchell Pond məlumatların bərpası üzrə mütəxəssisdir DataNumendaxil olmaqla məlumatların bərpası texnologiyaları üzrə dünya lideri olan , Inc təmir SQL Server Verilənlər bazası və excel bərpa proqram məhsulları. Ətraflı məlumat üçün ziyarət edin www.datanumen.com

İndi paylaş:

Şərhlər bağlıdır.