|
>「出席日」と同じく日付型で、「出欠」にチェックが入っていない場合(出席日に欠席した場合)に、「振替出席日」に日付を.onclickで入力する形になります。
>よろしくお願いいたします。
出席日 とは別の 日付 が入っていると言うことですね。
ならば、別に検索して見つかれば、色を変更するコードを追加すれば
いいのではないでしょうか。
Private Sub SetColor(y As Integer, m As Integer)
Dim i As Integer, j As Integer
Dim db As DAO.Database
Dim RS As DAO.Recordset
Dim strSQL As String
strSQL = "SELECT * FROM 出欠 " & _
"WHERE 出席日 Between #" & DateSerial(y, m + 0, 1) & _
"# AND #" & DateSerial(y, m + 2, 0) & "#"
Set db = CurrentDb()
Set RS = db.OpenRecordset(strSQL, dbOpenDynaset, dbReadOnly)
For j = -3 To 2
For i = 1 To 42
With Me(Chr(Asc("d") + j) & i)
If .Tag = "" Then
.BackColor = vbWhite
Else
RS.FindFirst "出席日=#" & .Tag & "#"
If RS.NoMatch Then
If WeekdayName(Weekday(.Tag)) = Me.曜日 Then
.BackColor = vbMagenta
Else
.BackColor = vbWhite
End If
ElseIf RS!出欠 Then
.BackColor = vbBlue
Else
.BackColor = vbRed
End If
'-------------------追加
RS.FindFirst "振替出席日=#" & .Tag & "#"
If Not RS.NoMatch Then
.BackColor = 65408 'お好みの色番号に
End If
'--------------------
End If
End With
Next
Next
RS.Close
End Sub
|
|