인터넷으로 찾아본 모든 자료에서는 제 VBA 코드가 분명히 작동해야 한다고 하는데, 실제로는 제대로 안 돼서 정말 답답해 미칠 노릇입니다!
상황은 이렇습니다. 월별 이벤트를 보여주는 달력(폼)이 하나 있습니다. 제가 원하는 기능은 사용자가 특정 날짜를 클릭했을 때, 클릭한 날짜의 상세 이벤트 정보를 보여주는 팝업 폼이 나타나게 하는 것입니다. 아래와 같은 코드를 사용했고 대부분은 잘 작동합니다... 하지만 날짜를 클릭하면 연도와 월은 맞게 나오는데, '일(day)'이 제대로 나오지 않습니다. 날짜의 '일' 부분이 항상 오늘 날짜의 '일'로 표시됩니다.
예를 들어, 오늘이 2026년 5월 21일이라고 가정해 보겠습니다. 제가 달력에서 2024년 2월 2일을 클릭하면, 팝업 폼에는 2024년 2월 21일의 이벤트가 표시됩니다.
작성한 코드는 다음과 같습니다:
Private Sub lblTue3_Click()
Dim txtSelectDate As Date '(아마 필요 없을 것 같긴 합니다)
Dim iDayOfMonth As Integer
Dim iMonth As Integer
Dim iYear As Integer
Dim dSelectDate as Date
iDayOfMonth = Format(Me.txtSelectDate.Value, "d")
iMonth = Format(Me.txtSelectDate, "mm")
iYear = Format(Me.txtSelectDate, "yyyy")
dSelectDate = CDate(iMonth & "/" & iDayOfMonth & "/" & iYear)
DoCmd.OpenForm "frmThatContainsMyData", acNormal, , "[DateOnFormUsedForFilter]=#" & dSelectDate & "#", , acDialog
End Sub
Format 함수 대신 Day(Me.txtSelectDate) 코드를 사용해 보기도 했지만, 결과는 마찬가지였습니다. 항상 오늘 날짜의 '일'로 기본 설정되어 버립니다.
제가 도대체 무엇을 잘못하고 있는 걸까요? 서식도 확인해 보았고 모든 설정이 '간단한 날짜(Short Date)'로 되어 있습니다... 정말 막막한 심정입니다!
어떤 도움이라도 주시면 정말 감사하겠습니다!