이것은 Access 자체와는 아무런 관련이 없습니다. 텍스트가 SPACE
, HYPHEN
또는 DASH
으로 분리 된 경우 모든 VBA에서 형식 함수는 다음과 같이 작동합니다. 그래서이
Debug.Print Format("093 0005", "0000000000000")
Debug.Print Format("093/0005", "0000000000000")
Debug.Print Format("093-0005", "0000000000000")
그것은 시도하고 날짜 또는 수로 변환하고 유효한 날짜 나 숫자 인 경우 다음 당신에게 그것의 숫자 상당을 보여줍니다 것이다 0000000034090
를 반환합니다 . 그리고 날짜 나 숫자가 같지 않으면 그대로 남겨 둡니다. 그 이유는 Format
함수가 값의 "형식"을 확인할 수 없어 문자열로 간주하기 때문입니다. 다음은 Format("Blah", "0000000000000")
과 비슷합니다. Format
기능을 000000000blah
으로 포맷하는 기능을 기대하지 않는 것이 분명합니다.
불행히도 Format 기능이 이와 같이 작동하는 이유를 설명하는 MS 지식 기반 문서를 찾을 수 없습니다.
나는 과거에 그것을 해결하기 위해 발견 한 유일한 방법은 VAL
함수를 사용하여 숫자로 변환하는 것입니다. 그래서
Debug.Print Format(Val("093 0005"), "0000000000000")
당신에게 원하는 결과 그러나 0000000930005
숫자가 HYPHEN
또는 DASH
로 구분하는 경우 다음 VAL
기능이 쓸모를 줄 것이다. 이를 위해서는 HYPHEN
또는 DASH
을 SPACE
으로 바꾸려면 REPLACE
을 사용해야합니다. 그러나 나는 HYPHEN
또는 DASH
의 숫자를 서식 지정하는 것에 대해서는 의의가 없습니다.
설명해 주셔서 감사합니다. 나는이 함수가 요청한 형식이 날짜와 유사하지 않은 날짜를 숫자로 해석한다는 것이 놀랍다 고 생각한다. 제 솔루션은 제 경우에는 효과가 있습니다. 나는 또한 사용할 수있다 : De –
릭 언제'? (Val ("093 0005"), "0000000000000")'직접 실행 창에 입력? –
내가 0000000930005 –