2011-09-16 3 views
0

내 사용자가 액세스 2007에 제출 된 datetime 시간 만 선택하도록합니다. 날짜 컨트롤이 내장되어 있지만 시간 컨트롤을 찾을 수 없습니다. 시간 선택기 제어 기능이있는 방법이 있는지 아는 사람 있습니까?시간 선택 도구 액세스

답변

2

시간 값을 입력하는 경우 특수한 컨트롤은 IMO 날짜/시간 필드에 바인딩 된 텍스트 상자에 시간 값을 직접 입력하는 것보다 훨씬 더 편리합니다.

1:30 PM의 경우 1 : 30p 만 입력하면 적절하게 수용됩니다. 그녀는 또한 그녀가 좋아하는 경우에 그 시간을 13:30로 입력 할 수 있습니다.

사용자가 시간과 함께 (0이 아닌) 날짜 값을 입력하지 못하게하는 경우 텍스트 상자의 업데이트 이후 이벤트에서 날짜 부분을 삭제할 수 있습니다. 사용자는 입력 한 값의 날짜 부분을 버려지면 실제 상황을 빠르게 파악하는 경향이 있습니다.

Private Sub txtTimeOnly_AfterUpdate() 
    Me.txtTimeOnly = TimeValue(Me.txtTimeOnly) 
End Sub 

사실 그 VBA의 날 제로, # 1899 년/30분의 12 #에 날짜 부분을 변환합니다. 그러나 Date \ Time 값은 항상 VBA와 데이터베이스 필드 유형 모두에 날짜를 포함하므로 "시간 전용"값을 저장하는 것이 가장 좋습니다.

더 많은 확신을 원하는 경우 (# 1899 날짜로/12/30 #으로) 시간 값을 저장할 필드, 당신은 테이블에 유효성 검사 규칙 설정할 수 있습니다 : 당신이 아직도 느끼는 경우

IsNull([time_only_field]) Or DateValue([time_only_field])=CDate("1899/12/30") 

을 이를 위해 시간 선택 도구가 필요합니다. 웹에서 누군가를 생성했는지 확인하십시오. 그들은 버전 문제를 일으키기 때문에 ActiveX 컨트롤을 피할 것입니다.

또는 사용자가 콤보 상자가 포함 된 사용자 지정 시간 선택기를 만들 수 있다고 가정합니다. 분 동안 1 개; 필요한 경우 초당 하나씩 업데이트 이벤트 후 콤보에서는 해당 조각에서 시간 값을 작성하고 time_only_field에 바인딩 된 컨트롤에 저장합니다. 해당 컨트롤을 사용자가 편집 할 필요는 없지만이를 표시하면 완성 된 값을 볼 수 있습니다.