Paano Suriin kung ang isang String ay Naglalaman ng isang Alpabetikong (Hindi Pang-numero) na Character sa pamamagitan ng Access VBA

Ipamahagi ngayon:

Karaniwan na ang "paglilinis" ng impormasyon bago mo ito i-import sa iyong database – tutal, isa sa mga dahilan kung bakit ka nagsimulang gumamit ng database ay para mahulaan mong ma-query ang database na iyon para sa itinakdang pamantayan, tama ba... tama ba? Kaya paano mo haharapin ang mga panlabas na sitwasyon kung saan, halimbawa, kailangan mong mag-import ng impormasyon mula sa isang file kung saan ang isang tao ay naglalagay ng "$" ngunit ang isa naman ay nagpapalagay na alam mong ito ay isang halaga ng pera – o mas malala pa, kung saan ang isang tao ay naglalagay ng "am" o "pm" ngunit ang isa naman ay gumagamit ng 24-oras na orasan? Gaya ng dati, maraming paraan para harapin ang problema ngunit ang isang paraan ay ang pagsuri kung ang isang string ay isang set lamang ng mga numero, o kung naglalaman ito ng anumang "hindi numero". Sa kaunting VBA, ang ganitong uri ng pagsusuri ay simple – at ipapakita sa iyo ng artikulong ito kung gaano kasimple...

Bakit kailangan nating gawin ito?

Mga Character ng DataKung nag-i-import ka ng anumang uri ng impormasyon na wala kang kontrol sa kung paano ito ipinapasok o kinukuha, malamang ay naranasan mo na ang problemang ito nang maraming (maraming!) beses na – inilalagay ng mga tao ang mga detalye sa paraang pinakakomportable para sa kanila, hindi sa pare-parehong paraan. Nangangahulugan ito na sandali na lang bago mo kailanganin gumawa pare-pareho ito bago mo mai-import ito.

Ang isang tipikal na halimbawa nito ay kung saan kailangan mong mag-import ng data sa isang numerong larangan ngunit kapag tiningnan mo ang data na nakikita mong ang ilan ay naghihiwalay ng libu-libo sa mga kuwit, ang iba ay nagdagdag ng isang palatandaan ng pera - at sino ang nakakaalam kung ano pa.

Isang mabilis na salita ng pag-iingat!

Ang pag-import ng data na hindi nalinis sa iyong database ay maaaring maging lubos na mapaminsalang - pinakamahusay na maaari nitong itabla ang iyong pag-uulat, mas masahol na maaari kang mapunta sa lahat ng uri ng mga bagay na nasira - huwag hayaang ang "maruming" pag-import ng data ang dahilan mo sinusubukan na ayusin ang problema sa Access buong weekend!

Paano "mapupuksa" ang mga alpabetikong character

Maaari kang gumawa ng isang paghahanap at palitan nang manu-mano syempre, ngunit ang paggawa nito ay maaaring magtagal at maaaring napalampas mo ang isang bagay (kung naghahanap ka lamang, halimbawa, para sa mga palatandaan ng dolyar, maaaring makaligtaan ang sign ng euro o mga kuwit, puwang atbp) . Kaya ang pinakamadali at mas maaasahang paraan ng paggawa nito ay hayaan ang Access na gumawa ng pagsusumikap gamit ang code sa ibaba.

Sa code ...

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

Ano ang ginagawa ng code

VBA codeAng function dito ay napaka-simple. Ang ginagawa lang natin dito ay i-loop ang string na ipinasa, isang character sa bawat pagkakataon. Kung ang character ay isang numero, idadagdag natin iyon sa ating temporary string, at kapag tapos na tayo, kino-convert natin iyon sa isang "long".

Pag-angkop sa code upang umangkop sa iyo

Tulad ng nakikita mo - ang function ay nagbabalik ng isang uri ng data ng "mahaba" - kung nagtatrabaho ka sa mga integer, o mga lumulutang na puntos atbp pagkatapos ay gugustuhin mong baguhin ang pagpapaandar nang naaayon upang maibalik nito ang tamang uri ng halaga para sa iyong database.

Panimula ng May-akda:

Ang Mitchell Pond ay isang dalubhasa sa pagbawi ng data sa DataNumen, Inc., na pinuno ng mundo sa mga teknolohiya sa pagbawi ng data, kasama ang magkumpuni SQL Server database at excel mga produkto ng pagbawi ng software. Para sa karagdagang impormasyon pagbisita www.datanumen. Sa

Ipamahagi ngayon:

Mga komento ay sarado.