Private Sub DisplayCalendar()
Dim FirstDay As String
Dim LastDay As String
Dim iDay As Integer
Dim ctl As Label
Dim DaysArray(7) As String
DaysArray(0) = "Mon"
DaysArray(1) = "Tue"
DaysArray(2) = "Wed"
DaysArray(3) = "Thu"
DaysArray(4) = "Fri"
DaysArray(5) = "Sat"
DaysArray(6) = "Sun"
FirstDay = Format("1/" & Month(SelectedDay) & "/" & Year(SelectedDate), "ddd")
lastnumday = Format(DateSerial(Year(SelectedDate), Month(SelectedDate) + 1, 0), "dd")
iDay = 1
For i = 0 To 6
If DaysArray(i) = FirstDay Then
fdaynum = i
Exit For
End If
Next
j = 1
For iDay = 1 To lastnumday
ctl.Name = "lbl" & DaysArray(fdaynum) & j
[ctl].Caption = iDay
If fdaynum = 6 Then
fdaynum = 0
j = j + 1
Else
fdaynum = fdaynum + 1
End If
Next
问题出在 'ctl.Name = "lbl" & DaysArray(fdaynum) & j' 行
我正在尝试在 ms access 中制作日历,我想用日期数字更改每个标签上的标题。我收到错误:未设置对象变量(错误 91)
而不是
ctl.Name = "lbl" & DaysArray(fdaynum) & j
您应该使用将标签控件分配给您的变量:
Set ctl = Me("lbl" & DaysArray(fdaynum) & j)