|
참고] 속성에 대한 도움말 보기 개체의 속성에 대한 자세한 내용을 보려면 속성 시트에서 해당 속성을 클릭한 다음 F1 키를 누릅니다. |
Microsoft SQL Server 2000이나 Microsoft SQL Server 2000 Desktop Engine에 연결된
Access 데이터베이스나 Access 프로젝트에서 이러한 속성을 사용하여 조회 필드를 사용자 지정할 수도 있습니다.
다음은 콤보/목록 상자의 중요한 속성에 대해 정리한 표입니다.
속성 | 설명 |
행 원본 유형 |
행 원본의 종류(테이블/쿼리, 테이블/뷰/저장 프로시저, 값 목록, 필드 목록,
Visual Basic 함수)를 지정한 다음 행 원본/Row Source 속성의 실제 행 원본을 지정합니다. |
행 원본 |
행 원본 유영에 따라 다음과 같이 행원본을 작성합니다. |
바운드 열 |
정말 중요한 속성입니다. |
열 개수 |
목록 상자나 콤보 상자에 들어 갈 열 개수를 지정합니다. 아무리 많은 필드(열)을 행원본에 포함시켜도 이 열의 개수를 제대로 맞추어 주지 않으면 포함된 열은 일부 사용할 수 없게 됩니다. |
열 너비 |
세미콜론으로 분리된 각 열의 너비를 지정합니다. 열 숨기기 - 해당 열의 너비를 0으로 설정하면 됩니다. 그러나 보이지만 않을 뿐 목록에 열이 포함되어 있으므로 언제든지 이 열의 내용을 참조할 수 있습니다. 기본너비 - 기본값을 사용하려면 아무것도 입력하지 않고 세미콜론만 찍으면 됩니다. 콤보 상자에서는 처음 보이는 열이 컨트롤 텍스트 상자에 표시됩니다. 콤보 상자에 입력하는 값은 바운드열로 결정한다는 것을 명심해야 합니다. |
열 머릿글 |
테이블처럼 열 이름을 보여주면 해당 열이 무엇을 나타내는가를 쉽게 알 수 있을 겁니다. 행원본으로 테이블/쿼리를 사용하는 경유
레코드 원본의 필드나 열 이름이 열 머리글로 사용됩니다. 값 목록을 행원본으로 사용하는 경우 첫번째 값부터 열 개수 속성에서
설정된 숫자만큼을 열 머릿글로 사용합니다. 목록상자에서 열이름을 사용하는 경우 열이름은 선택할 수 없지만 하나의 행을 차지하므로 행 인덱스 참고시 주의해야 합니다. |
목록 너비/List Width |
콤보 상자에 있는 목록 상자 부분의 너비를 지정합니다. |
행 수/List Rows |
항목을 보여 줄 최대 행 개수를 지정합니다. |
목록 값만 허용 |
목록값만 허용을 '예'로 설정하면 입력된 값이 항목에 있어야 합니다. 없으면 자료가 저장되지 않습니다. 사용자가 입력한 값이 목록에 없는 경우 이 값을 목록에 추가하려면 이 속성을 '아니오'로 설정하고 이벤트 프로시저를 OnNotInList 속성에 연결합니다. |
OnNotInList |
NotInList 이벤트가 발생할 때 연결된 이벤트 프로시저를 수행합니다. 이 속성을 사용하여 새로운 값을 목록에 추가할 수 있습니다. 테이블 디자인 보기의 조회 탭에서는 이 속성을 사용할 수 없습니다. 폼에서 사용하게 됩니다. |
자동 확장 |
콤보 상자에 입력하는 문자에 해당하는 값을 자동으로 채울지 여부를 지정합니다. 그러나 테이블에서는 기본으로 자동확장으로 설정되어 있고 변경할 수 없습니다. 폼에서만 이 속성을 변경할 수 있습니다. |
컨트롤 표시 |
폼에 조회 필드를 추가할 때 기본적으로 만들어지는 컨트롤 종류(콤보 상자나 목록 상자)를 지정합니다. 테이블 디자인 보기의 조회 탭에서만 이 속성을 사용할 수 있습니다. 그러나 테이블에서는 어떤 값이더라도 콤보상자로 표시됩니다. |
다음은 콤보상자 생성시 각 속성의 기본값을 보여주고 있습니다. 이러한 기본값은 그대로 두지 말고 가능하면 사용자 설정을 하도록 합니다.
화면 표시값 그리고 실제값
콤보/목록상자는 실제값을 화면에 표시하지 않고 해당되는 다른 값을 화면에 표시할 수 있습니다.
1) 취급하는 열 중에서 처음으로 나타나는 열이 화면에 보인다. 따라서 열의 순서가
중요합니다.
2) 실제 데이터 값은 ‘바운드열 속성’에 설정하여 보이는 값과 실제 값을 다르게 표시할 수 있습니다.
3) 열의 순서를 중요시 하는 경우, 즉 항상 첫번째 열이 바운드열로 설정하고 그 열대신 다른 열의 값을 화면에 표시하고자 하는 경우
해당 열의 ‘열 너비’속성 값을 0 으로 설정하여 숨길 수 있습니다.
4) 열 너비 속성 설정시 열에 따른 값의 구분은 세미콜론(;)으로 구별한다.
참고] 세미콜론은 액세스에서 항목을 구별하는 표준적인 구분자입니다.
예를 들면, 회사코드가 ‘k-001’ 이고 회사명이 ‘해피랜드’ 라고 할 때 필드에 저장될 실제 값이 회사코드인 경우 사용자에게 k-001을 보여주는 것은 불편할 겁니다. 대신 코드에 대한 설명값인 회사이름을 보여주는 것이 좋겠지요?
이 경우 콤보/목록상자의 열의 순서를 생각해 볼 필요성이 있습니다.
1) 회사코드-회사명 순서로 되어 있다면
열의 개수 속성은 ‘2’, 회사코드열을 바운드열로 해야 하므로 바운드열 속성은 ‘1’, 그리고 화면에 나타나는 값은 첫번째 열, 즉
회사코드이므로 그 값이 화면에 나타나지 않도록 해기위해 열너비속성은 ‘0’ 이라고 주어야 할 겁니다.(실제로 열너비 속성은 ‘0;3’
등과 같이 2열의 너비가 표시되어야 하나 ‘0’ 과 같이 하면 첫번째 열은 보이지 말고 그 다음 열부터는 기본 너비로 보이라는 뜻이
됩니다.)
2) 회사명- 회사코드 순서로 되어 있다면
열의 개수 속성은 ‘2’, 회사코드열을 바운드열로 해야 하므로 바운드열 속성은 ‘2’, 그리고 그 값이 화면에 나타나므로 굳이 열너비
속성에서 두번째 열을 숨길 필요는 없을 겁니다.
그러나 1)과 2)의 내용은 약간의 차이가 존재합니다.
1)의 경우 항목리스트에 코드열이 전혀 보이지 않으나 2)의 경우 항목리스트에 코드열이 보인다는 것입니다. 따라서 상황에 맞게 열의 순서를 설정하고 바운드 열 및 열 너비 속성을 적절하게 사용해야 합니다.
다음 그림을 참고하십시오.
바운드열(1=회사코드) = 화면표시열(1) |
바운드열(1=회사코드), 화면표시열(2) = 목록에서 회사코드를 볼 수없음 |
바운드열(2=회사코드) 화면표시열(1) = 설명필드(회사명)가 보이도록 열의 순서를 바꿈 |
바운드열(1=회사코드), 화면표시열(2) = 계산필드이용하여 회사명과 코드가 같이 보이도록 |
참고] 콤보/목록 상자와
입력마스크
콤보/목록 상자에서는 입력마스크가 적용되지 않습니다. 실제값을 그대로 나열하게 됩니다. 따라서 형식을 갖추려면 계산필드를 하나 만들어
원하는 형식으로 보여주도록 해야 합니다.
콤보상자/목록상자의 효율적인 사용법
1. SQL 문을 사용하지 않고 저장된 질의테이블을 사용한다.
2. 꼭 필요한 필드만 포함시킨다.
3. 연결 테이블은 가능하면 사용하지 않는다.
4. 반드시 인덱스를 만든다.(첫번째 필드와 바운드 필드 모두)
5. 자동 확장 기능을 가능을 사용할 때 숫자필드는 피한다.
6. 자동 확장기능은 사용하지 않는다.
7. 단 하나의 테이블만 포함한다.
반드시 인덱스를 만듭니다.
참고] 행 원본의 SQL문을 질의테이블로 저장하려면 행원본 속성의 우측에 나타나는 작성 버튼(Build button)을 눌러 질의디자인 창이 뜨면 도구모음 버튼에서 저장버튼을 눌러 질의테이블로 저장합니다.
다음 강좌에서는 질의에 대한 강좌입니다. 질의에 대해서 이해를 하신다면 데이터베이스의 기초를 마스터하신 것이 됩니다.