|
▼hatena さん
丁寧なご教示ありがとうございます。
丸々コピペさせて頂き、動作させてみましたところ、
「インデックスが有効範囲にありません」というエラーが
RS.FindFirst "出席日=#" & Split(.OnClick,"#")(1) & "#"
のところで出ます。
原因を調べてみようと思い、「.onclick」の使い方をあちこち検索してみましたが、わかりませんでした。
どこか設定が間違っているのか、考えられる原因がありましたら、もう一度ご教示お願いいたします。
>どのような色分けか分からないので、とりあえず、
>出席日 の 出欠 が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
|
|