데이터베이스에 정보를 가져오기 전에 "정리"하는 것은 매우 일반적인 작업입니다. 사실 데이터베이스를 사용하는 가장 큰 이유 중 하나는 특정 기준에 따라 예측 가능한 쿼리를 수행하기 위해서니까요. 그렇죠? 그렇다면 예를 들어, 어떤 사람이 "$"를 입력했는데 다른 사람은 그것이 금액을 의미한다고 생각하는 파일에서 정보를 가져와야 하는 경우, 또는 더 심각하게는 누군가가 "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
코드의 기능

나에게 맞는 코드 수정
보시다시피 – 함수는 "long"의 데이터 유형을 반환합니다. 정수 또는 부동 소수점 등으로 작업하는 경우 그에 따라 함수를 변경하여 데이터베이스에 적합한 유형의 값을 반환 할 수 있습니다.
저자 소개 :
Mitchell Pond는 데이터 복구 전문가입니다. DataNumen, Inc.는 다음과 같은 데이터 복구 기술 분야의 세계적 리더입니다. 수리 SQL Server 데이터베이스 그리고 엑셀 복구 소프트웨어 제품. 자세한 내용은 WWW.datanumen.COM