2011-05-12 3 views
0

VBA로 프로그래밍 한 Access 2003에서.SQL SELECT 문을 사용하여 데이터를 목록 상자에 채울 때 형식 함수가 작동하지 않습니다.

두 개의 열이있는 데이터를 채울 수있는 목록 상자가 있습니다. 한 열은 ID이고 다른 열은 Name입니다. 내가

내가 목록 상자에서 시도 ID 열에 4 자리 형식을 원하는 '행 원본 속성은

나는 그것은 작동하지 않습니다이

select format([ID],'0000'), Name from myTable 

같은 선택의 SQL 한 Statment 물품.

형식 기능을 제거하면 작동합니다. "

당신이 무슨 뜻인지에 따라 ....

은 내가 여기 만 2,007있어 필요한 형식

+0

"작동하지 않는다"는 의미는 무엇입니까? 그것은 형식화하지 않고 ID를 보여줍니다. 목록 상자에 아무것도 표시되지 않습니까? 오류가 있습니까? – BIBD

+2

NAME은 MS Access의 예약어이기 때문에'Name'을 열 이름으로 사용하는 것은 좋지 않습니다. 그것은 나중에 많은 슬픔을 일으킬 수 있습니다. http://support.microsoft.com/kb/286335 – BIBD

답변

1

로 데이터를 채우려는, 그래서 버전 차이가있을 수 있습니다 그것은 작동하지 않는다 ", 나의 응답의 한개는"예, 그렇습니다 "이어야한다. 내 테스트 양식에 형식화 된 ID 필드가 올바르게 표시되었습니다.

그러나 더 이상 컨트롤에 ID 필드가 없습니다. 이제는 Expr1이므로 바인딩이 깨집니다. 당신은 당신이 설명한대로 디스플레이를 원하지만, 여전히 ID 열에 바인딩 컨트롤을 원하는 경우,이 시도 :

첫째로 당신의 Row Source을 수정

select ID, Format([ID],'0000') As FormattedID, [Name] As SomeName from myTable 

(그리고 당신이 그것에있는 동안, 가능한 경우 Name의 이름을 변경하십시오. 테이블 디자인을 제어 할 수없는 경우에 대비하여 별칭을 지정했습니다. 그런 다음 Bound Column을 1, Columns에서 3, Column Widths에서 0";1";1"으로 설정하십시오. 이것은 바운드 ID을 숨기고 포맷 된 것을 사용자에게 표시합니다.

+0

오류가 잘못 이해되었습니다. – kaunglay

+0

이제 다른 형식의 형식 함수가 제대로 작동하지만 하나의 형식으로 작동하지 않습니다. SQL 문에서 형식 함수를 제거하면이 양식이 올바르게 실행됩니다. SQL 문에 형식 함수를 삽입 한 후이 오류가 발생했습니다. 은 유효한 경로가 아닙니다. 경로 이름의 철자가 올바른지, 파일이있는 서버에 연결되어 있는지 확인하십시오. (오류 3044) – kaunglay