Microsoft Access Report Designer에서 텍스트 필드의 형식을 지정하려면 어떻게 해야 합니까?

Microsoft Access Report Designer에서 텍스트 필드의 형식을 지정하려면 어떻게 해야 합니까?

보고서에 인쇄하면 '0000000840509001'과 같은 필드(문자열)가 있습니다. 나는 '84-05-090.01'과 같이 보이기를 원합니다. 보고서 디자인 수준에서 이를 수행할 수 있는 방법이 있습니까?

기본적으로 선행 0을 제거하고 나머지 문자열을 ##-##-###.## 형식으로 넣고 싶습니다.

답변1

슬프게도 앞에 오는 0을 제거하는 단일 방법은 없습니다.... 하지만 여기에 제가 배운 작은 요령이 있습니다...

format(replace(ltrim(replace([your-field-name],"0"," "))," ","0"),##-##-###.##)

고장난...

format(
  replace(
    ltrim(
      replace(
        [your-field-name],
        "0",
        " "
      )
    ),
    " ",
    "0"
  ),
  "##-##-###.##"
)

광기에 대한 방법은 모든 0을 공백 문자로 바꾼 다음 왼쪽에서만 "자르기"하는 것입니다. (끝 0이 사라지는 것을 원하지 않습니다.) 그런 다음 공백 문자를 다시 0으로 바꾸고... 마지막으로 원하는 방식으로 형식을 지정합니다.

또는... 숫자를 자르는 대신... cint()를 사용하여 실제 정수로 변환한 다음 다음과 같이 형식을 지정할 수도 있습니다.

format(cint([your-field-name]),"##-##-###.##")

두 방법 모두 원하는 대로 작동하지 않을 수 있습니다. 제공된 입력이 유효한지 확인하는 오류가 없기 때문입니다. 즉, 9개가 아닌 10개 이상의 유효 숫자가 있는 경우... 선행 숫자가 자동으로 잘립니다. 또한 cInt를 사용하면 "0000000ABCDEFGHI"와 같은 "문자"가 허용되지 않습니다.

실제로 서식 지정을 올바르게 수행하기 위해 vb-script에서 함수를 만든 다음 보고서에 사용할 수 있습니다. 하지만 이것은 훨씬 더 복잡한 주제이므로 여기서는 다루지 않겠습니다.

관련 정보