Kā pārbaudīt, vai virkne satur alfabētisku (bez ciparu) rakstzīmi, izmantojot Access VBA

Kopīgot tūlīt:

Informācijas “attīrīšana” pirms importēšanas datubāzē ir diezgan standarta procedūra — galu galā viens no iemesliem, kāpēc esat sācis lietot datubāzi, ir tas, lai jūs varētu paredzami veikt vaicājumus šajā datubāzē pēc noteiktiem kritērijiem, vai ne? Tātad, kā rīkoties ārējās situācijās, kad, piemēram, jums ir jāimportē informācija no faila, kurā viena persona ievada “$”, bet cita pieņem, ka jūs zināt, ka tā ir naudas vērtība, vai vēl ļaunāk, kur kāda persona ievada “am” vai “pm”, bet cita persona izmanto 24 stundu pulksteni? Kā parasti, ir daudz veidu, kā risināt problēmu, taču viens no veidiem ir pārbaudīt, vai virkne ir tikai skaitļu kopa vai arī tajā ir kādi “neskaitļi”. Ar nelielu VBA palīdzību šāda veida pārbaude ir vienkārša, un šis raksts parādīs, cik vienkārša…

Kāpēc mums tas jādara?

Datu rakstzīmesJa importējat jebkāda veida informāciju, kuras ievadīšanu vai izgūšanu jūs nekontrolējat, tad jūs jau būsiet saskārušies ar šo problēmu daudzas (daudzas!) reizes iepriekš — cilvēki ievada informāciju sev ērtākajā veidā, nevis vienotā veidā. Tas nozīmē, ka ir tikai laika jautājums, kad jums tas būs jādara. padarīt tas ir vienots, pirms varat to importēt.

Tipisks piemērs ir tas, kur dati jāimportē skaitliskā laukā, bet, aplūkojot datus, redzat, ka daži ir atdalījuši tūkstošus ar komatiem, citi ir pievienojuši valūtas zīmi - un kas vēl zina.

Ātrs piesardzības vārds!

Datu importēšana, kas nav iztīrīti, jūsu datu bāzē var būt diezgan katastrofāla - labākajā gadījumā tas var izkropļot jūsu pārskatus, sliktākajā gadījumā jūs varētu nonākt pie visa veida lietu sabojāšanas - neļaujiet “netīro” datu importēšanai būt par iemeslu mēģinu noteikt piekļuves problēmu visu nedēļas nogali!

Kā “atbrīvoties” no alfabēta rakstzīmēm

Jūs, protams, varētu veikt meklēšanu un nomaiņu manuāli, taču tas var prasīt laiku, un jūs varat kaut ko palaist garām (ja jūs meklējat, piemēram, tikai dolāra zīmes, jūs varat palaist garām eiro zīmi vai komatus, atstarpes utt.) . Tātad vienkāršākais un uzticamākais veids, kā to izdarīt, ir ļaut programmai Access veikt smago darbu, izmantojot zemāk redzamo kodu.

Uz kodu ...

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

Ko dara kods

VBA kodsFunkcija šeit ir ļoti vienkārša. Viss, ko mēs šeit darām, ir cikliski pārskatīt nodoto virkni, pa vienai rakstzīmei vienlaikus. Ja rakstzīme ir skaitlis, tad mēs to pievienojam pagaidu virknei un, kad esam pabeiguši, pārveidojam to par "garu" virkni.

Koda pielāgošana sev piemērota

Kā redzat, funkcija atgriež datu tipu “garš” - ja jūs strādājat ar veseliem skaitļiem vai peldošajiem punktiem utt., Tad attiecīgi vēlaties mainīt funkciju, lai tā atgrieztu pareizo datu bāzes vērtības veidu.

Autora ievads:

Mičels Dīķis ir datu atkopšanas eksperts DataNumen, Inc., kas ir pasaules līderis datu atkopšanas tehnoloģiju, tostarp remonts SQL Server datubāze un Excel atkopšanas programmatūras produkti. Lai iegūtu vairāk informācijas, apmeklējiet vietni www.datanumen. Ar

Kopīgot tūlīt:

Komentāri ir slēgti.