Microsoft Calendar Control 10.0 이상 버전에서는 FirstDay 속성에 잘못된 값을 사용합니다.
원본 KB 번호: 826761
참고
이 문서는 Microsoft Access 데이터베이스(.mdb) 파일이나 Microsoft Access 데이터베이스(.accdb) 파일에 적용됩니다. 기본 매크로, 코딩 및 상호 운용성 기술이 필요합니다.
증상
Microsoft Access에서 달력 컨트롤의 첫 날에 잘못된 날짜가 표시됩니다. 이 문제는 Microsoft Calendar Control 10.0 이상 버전을 폼이나 보고서에 삽입한 다음 Microsoft VBA(Visual Basic for Applications) 내장 상수를 사용하여 Calendar Control의 속성을 설정할 FirstDay
때 발생합니다.
예를 들어 Calendar Control의 속성을 vbMonday 또는 vbTuesday로 설정합니다FirstDay
. 일정 컨트롤의 FirstDay
속성을 vbTuesday로 설정하면 달력은 수요일을 요일로 사용합니다.
참고
이전 버전의 Calendar Control을 사용하는 경우 속성을 올바르게 설정할 FirstDay
수 있습니다.
원인
이 문제는 vbSunday 및 vbMonday와 같이 Microsoft Visual Basic에 정의된 일의 내장 상수가 올바른 일 값과 연결되지 않기 때문에 발생합니다.
해결 방법
이 문제를 해결하려면 다음과 같이 하십시오.
일, VBA 내장 상수 및 올바른 일 값과 VBA 내장 상수에 연결된 숫자 값 간의 연결을 결정합니다. 이렇게 하려면 다음과 같이 하십시오.
액세스를 시작합니다.
Northwind 샘플 데이터베이스를 엽니다.
데이터베이스 창의 개체 아래에서 폼을 클릭합니다.
참고
Access 2007에서 만들기 탭을 클릭한 다음 양식 그룹에서 양식 디자인을 클릭합니다.
오른쪽 창에서 디자인 보기에서 양식 만들기를 두 번 클릭합니다.
참고
Access 2007에서 이 단계를 건너뜁니다.
삽입 메뉴에서 ActiveX 컨트롤을 클릭합니다.
참고
Access 2007에서 디자인 탭을 클릭한 다음 컨트롤 그룹에서 ActiveX 컨트롤 삽입을 클릭합니다.
ActiveX 컨트롤 삽입 대화 상자의 ActiveX 컨트롤 선택 목록 상자에서 일정 컨트롤 10.0 이상 버전을 클릭하여 선택한 다음 확인을 클릭합니다.
다음과 같이 속성이 설정된 양식에 명령 단추를 추가합니다.
속성 값 Name
testFD Caption
첫날 변경 파일 메뉴에서 저장을 클릭합니다.
참고
Access 2007에서 Microsoft Office 단추를 클릭한 다음 저장을 클릭합니다.
다른 이름으로 저장 대화 상자의 양식 이름 상자에 Form1을 입력한 다음 확인을 클릭하여 Form1 양식을 저장합니다.
보기 메뉴에서 코드를 클릭합니다.
참고
Access 2007에서 디자인 탭을 클릭한 다음 도구 그룹에서 코드 보기를 클릭합니다.
Visual Basic 편집기 다음 코드를 입력하거나 붙여넣습니다.
Option Compare Database Private Sub testFD_Click() Calendar0.FirstDay = vbTuesday End Sub
폼 보기에서 Form1을 엽니다.
첫 날 변경 단추를 클릭합니다.
참고
Calendar Control의 첫 번째 열이 화요일로 설정되지 않은 경우 첫 번째 열의 날짜를 확인합니다.
Visual Basic 편집기 보기 메뉴에서 직접 실행 창을 클릭합니다.
직접 실행 창에서 ?vbTuesday를 입력한 다음 Enter 키를 누릅니다.
숫자 값을 확인합니다.
vbTuesday를 vbMonday 및 vbWednesday와 같은 다른 VBA 내장 상수로 바꾸어 단계 o를 통해 j단계를 반복합니다.
다음 표에는 일, VBA 내장 상수 및 올바른 일 값과 VBA 내장 상수에 연결된 숫자 값 간의 연결을 보여 주는 표가 있습니다.
요일 VBA 내장 상수 연결된 숫자 값 월요일 vbSunday 1 화요일 vbMonday 2 수요일 vbTuesday 3 목요일 vbWednesday 4 금요일 vbThursday 5 토요일 vbFriday 6 일요일 vbSaturday 7
요일에 올바르게 매핑되는 전역 사용자 지정 열거형을 만듭니다. 이렇게 하려면 다음과 같이 하십시오.
데이터베이스 창의 개체 아래에서 모듈을 클릭합니다.
참고
Access 2007에서 만들기 탭을 클릭하고 기타 그룹의 매크로 아래에 있는 화살표를 클릭한 다음 모듈을 클릭합니다.
삽입 메뉴에서 모듈을 클릭합니다.
참고
Access 2007에서 이 단계를 건너뜁니다.
Visual Basic 편집기 다음 코드를 입력하거나 붙여넣습니다.
Option Explicit Public Enum nwFirstDay nwMonday = 1 nwTuesday = 2 nwWednesday = 3 nwThursday = 4 nwFriday = 5 nwSaturday = 6 nwSunday = 7 End Enum
참고
"주일" 열과 1r단계에 있는 테이블의 해당 "숫자 값 연결" 열에 설명된 대로 열거형을 만듭니다.
모듈 Day_Association 이름을 지정하고 저장합니다.
Visual Basic 편집기 닫습니다.
애플리케이션의 VBA 내장 상수를 2단계에서 설명하는 사용자 지정 열거형에 있는 상수로 바꿉니다.
예를 들어 원래 코드가 인 경우
Calendar0.FirstDay = vbTuesday
다음과 같이 사용자 지정 열거형을 사용하도록 코드를 수정합니다.
Calendar0.FirstDay = nwTuesday
애플리케이션을 실행합니다.
추가 정보
VBA 내장 상수는 시스템 로컬 정보에 의존하지 않습니다. 예를 들어 독일어로 지역화된 운영 체제가 있는 컴퓨터에서 요일은 월요일입니다. 컴퓨터의 Monday와 연결된 숫자 값은 항상 0입니다.
Calendar Control 10.0 이상 버전은 전 세계 Microsoft ActiveX 컨트롤이므로 컴퓨터 사양에 따라 VBA 내장 상수와 연결된 숫자 값을 제어할 수 없습니다. 따라서 이 문서의 "증상" 섹션에 언급된 문제가 발생합니다.
문제를 재현하는 방법
액세스를 시작합니다.
Northwind 샘플 데이터베이스를 엽니다.
데이터베이스 창의 개체 아래에서 폼을 클릭합니다.
참고
Access 2007에서 만들기 탭을 클릭한 다음 양식 그룹에서 양식 디자인을 클릭합니다.
오른쪽 창에서 디자인 보기에서 양식 만들기를 두 번 클릭합니다.
참고
Access 2007에서 이 단계를 건너뜁니다.
삽입 메뉴에서 ActiveX 컨트롤을 클릭합니다.
참고
Access 2007에서 디자인 탭을 클릭한 다음 컨트롤 그룹에서 ActiveX 컨트롤 삽입을 클릭합니다.
ActiveX 컨트롤 삽입 대화 상자의 ActiveX 컨트롤 선택 목록 상자에서 일정 컨트롤 10.0 이상 버전을 클릭하여 선택한 다음 확인을 클릭합니다.
다음과 같이 속성이 설정된 양식에 명령 단추를 추가합니다.
속성 값 Name
testFD Caption
첫날 변경 보기 메뉴에서 코드를 클릭합니다.
참고
Access 2007에서 디자인 탭을 클릭한 다음 도구 그룹에서 코드 보기를 클릭합니다.
Visual Basic 편집기 다음 코드를 입력하거나 붙여넣습니다.
Option Compare Database Private Sub testFD_Click() Calendar0.FirstDay = vbTuesday End Sub
파일 메뉴에서 저장을 클릭합니다.
참고
Access 2007에서 Microsoft Office 단추를 클릭한 다음 다른 이름으로 저장을 클릭합니다.
다른 이름으로 저장 대화 상자의 양식 이름 상자에 Form1을 입력한 다음 확인을 클릭하여 Form1 양식을 저장합니다.
폼 보기에서 Form1을 엽니다.
첫 날 변경 단추를 클릭합니다.
Calendar Control의
FirstDay
속성을 vbTuesday로 설정했지만 달력은 수요일을 요일로 선택합니다.
참조
일정 컨트롤 및 일정 컨트롤 속성에 대한 자세한 내용은 Mscal.hlp를 연 다음, 적절한 항목을 검색합니다. Mscal.hlp는 다음 폴더에 있습니다.
Microsoft Access 2002
설치 드라이브: \Program Files\Microsoft Office\Office10
Microsoft Office Access 2003
설치 드라이브: \Program Files\Microsoft Office\Office11
참고
설치 드라이브는 설치 드라이브의 이름에 대한 자리 표시자입니다.
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기