Ақпаратты дерекқорға импорттамас бұрын «тазалау» өте стандартты болып табылады – өйткені дерекқорды пайдалануды бастаудың бір себебі - сол дерекқордан белгіленген критерийлер бойынша болжамды түрде сұрау мүмкіндігін алу, солай ма? Мысалы, бір адам «$» енгізетін, бірақ екіншісі оның ақшалай мән екенін білетін файлдан ақпаратты импорттау керек болған кезде сыртқы жағдайларды қалай шешесіз – немесе одан да жаманы, біреу «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
Код не істейді

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