Access VBA арқылы жолда алфавиттік (сандық емес) таңба бар-жоғын қалай тексеруге болады

Қазір бөлісу:

Ақпаратты дерекқорға импорттамас бұрын «тазалау» өте стандартты болып табылады – өйткені дерекқорды пайдалануды бастаудың бір себебі - сол дерекқордан белгіленген критерийлер бойынша болжамды түрде сұрау мүмкіндігін алу, солай ма? Мысалы, бір адам «$» енгізетін, бірақ екіншісі оның ақшалай мән екенін білетін файлдан ақпаратты импорттау керек болған кезде сыртқы жағдайларды қалай шешесіз – немесе одан да жаманы, біреу «am» немесе «pm» енгізетін, бірақ екіншісі 24 сағаттық сағатты пайдаланатын кезде? Әдеттегідей, мәселені шешудің көптеген жолдары бар, бірақ бір жолы - жолдың тек сандар жиынтығы ма, әлде оның құрамында «сан емес» бар ма екенін тексеру. VBA көмегімен бұл тексеру түрі қарапайым – және бұл мақала сізге қаншалықты қарапайым екенін көрсетеді...

Неліктен бізге мұны істеу керек?

Деректер таңбаларыЕгер сіз оның қалай енгізілетінін немесе шығарылатынын басқара алмайтын кез келген ақпаратты импорттап жатсаңыз, онда сіз бұл мәселеге бұрын көп рет тап болған боларсыз – адамдар мәліметтерді біркелкі емес, өздеріне ыңғайлы түрде енгізеді. Бұл дегеніміз, сізге мұны істеу уақыт мәселесі ғана. жасау импорттаудан бұрын ол біркелкі болады.

Мұның әдеттегі мысалы - деректерді сандық өріске импорттау қажет, бірақ деректерді қараған кезде кейбіреулері мыңдаған сандарды үтірмен бөлгенін, басқалары валюта белгісін қосқанын көресіз - және тағы не біледі.

Жылдам ескерту сөзі!

Дерекқорыңызға тазартылмаған деректерді импорттау өте апатты болуы мүмкін - ең жақсы жағдайда ол сіздің есеп беруіңізді бұрмалауы мүмкін, ең нашар жағдайда сіз барлық бұзылған нәрселермен аяқталуыңыз мүмкін - «лас» деректер импортына себеп болуына жол бермеңіз. тырысып жатыр қол жеткізу мәселесін шешу барлық демалыс күндері!

Алфавиттік таңбалардан қалай «құтылу» керек

Әрине, іздеуді және қолмен ауыстыруды орындауға болады, бірақ бұл уақытты алуы мүмкін және сіз бірдеңені жіберіп алуыңыз мүмкін (егер сіз тек доллар белгілерін іздеп жатсаңыз, еуро белгісін немесе үтірлерді, бос орындарды және т.б. жіберіп алуыңыз мүмкін) . Мұны істеудің ең оңай және сенімді жолы - Access-ке төмендегі кодты пайдаланып қиын жұмысты орындауға мүмкіндік беру.

Кодқа…

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

Код не істейді

VBA кодыМұндағы функция өте қарапайым. Біз тек берілген жолды бір-бір таңбадан цикл арқылы орындаймыз. Егер таңба сан болса, онда біз оны уақытша жолға қосамыз, ал аяқтағаннан кейін оны «ұзын» жолға айналдырамыз.

Кодты сізге сәйкес келтіру

Көріп отырғаныңыздай – функция «ұзын» деректер түрін қайтарады – бүтін сандармен немесе өзгермелі нүктелермен және т.б. жұмыс істеп жатсаңыз, дерекқорыңыз үшін дұрыс мән түрін қайтаратындай функцияны сәйкесінше өзгерткіңіз келеді.

Автордың кіріспесі:

Митчелл Понд - деректерді қалпына келтіру бойынша сарапшы DataNumen, Соның ішінде деректерді қалпына келтіру технологиялары бойынша әлемдік көшбасшы болып табылатын Inc. жөндеу SQL Server дерекқор және excel қалпына келтіру бағдарламалық жасақтама өнімдері. Қосымша ақпарат алу үшін кіріңіз WWW.datanumen.com

Қазір бөлісу:

Пікірлер жабылды.