|
>これを読み込んで、Form_Currentで生徒ごとの受講曜日と出席日を色分けしたいと思っています。
どのような色分けか分からないので、とりあえず、
出席日 の 出欠 がTrueの時は、青、Falseの時は 赤、それ以外は白 という
条件で背景色を設定する例です。
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 生徒番号=" & Me.生徒番号 & " AND " & _
"出席日 Between #" & DateSerial(y, m + 0, 1) & _
"# AND #" & DateSerial(y, m + 2, 0) & "#"
Set db = CurrentDb()
Set RS = db.OpenRecordset(strSQL, dbOpenDynaset, dbReadOnly)
For j = 0 To 1
For i = 1 To 42
With Me(Chr(Asc("d") + j) & i)
If .OnClick= "" Then
.BackColor = vbWhite
Else
RS.FindFirst "出席日=#" & Split(.OnClick,"#")(1) & "#"
If RS.NoMatch Then
.BackColor = vbWhite
ElseIf RS!出欠 Then
.BackColor = vbBlue
Else
.BackColor = vbRed
End If
End If
End With
Next
Next
RS.Close
End Sub
Private Sub Form_Current()
SetColor Year(Date), Month(Date)
End Sub
|
|