|
▼hatena さん:
ご教示ありがとうございます。
>えっと、直後でなくて、直前ですよね。
>コード自体は私が書いてもそうような感じになります。
下記の場所に入れました。直前とは、どこに入れることになりますか?
後、もう一つ難問ができてしまいました。
休日だけ文字の色を変える必要があると気がついたので、下記のようにしてみましたが、無反応です。「休日一覧」テーブルには「ID」と「休日」というフィールドがあり、「休日」は日付型です。
どこを直したらよろしいでしょうか?度々申し訳ありません。
Private Sub SetCalendar(y As Integer, m As Integer)
Dim i As Integer, j As Integer, FirstDay As Date, s As Integer
For j = -3 To 2
For i = 1 To 42
With Me(Chr(Asc("d") + j) & i)
.Caption = ""
End With
Next
Next
Dim db As DAO.Database
Dim RS As DAO.Recordset
Dim strSQL As String
strSQL = "SELECT * FROM 休日一覧 "
Set db = CurrentDb()
Set RS = db.OpenRecordset(strSQL, dbOpenDynaset, dbReadOnly)
For j = -3 To 2
FirstDay = DateSerial(y, m + j, 1)
s = Weekday(FirstDay)
For i = 0 To Day(DateSerial(y, m + j + 1, -1))
With Me(Chr(Asc("d") + j) & i + s)
RS.FindFirst "休日 = " & DateSerial(y, m + j, 1)
If RS.NoMatch Then
.Caption = Day(FirstDay + i)
.OnClick = "=Day_Click(#" & FirstDay + i & "#)"
.Tag = FirstDay + i
Else
.Caption = Day(FirstDay + i)
.ForeColor = vbRed
.OnClick = "=Day_Click(#" & FirstDay + i & "#)"
.Tag = FirstDay + i
End If
End With
Next
Next
End Sub
|
|