|
>>9616 で回答したコードは設定してありますよね。
>Private Sub Form_Load()
> SetCalendar Year(Date), Month(Date)
>End Sub
>気づかぬうちに上記部分が消えていましたので、書き直しましたら、エラーはなくなりました。そして、色も出欠テーブルと一致する日にちに赤が表示されるようになりました。ありがとうございました。
>
>今度は曜日ごとの色付けをするために下記3行(下から6行目以降)を追加してみました。.onclickの使い方が把握できていないためか、意味不明なコードになってしまっているようです。
>If WeekdayName(Weekday(.OnClick)) = Me.曜日 Then '追加
>のところで「型が一致しません」とエラーが出て、
9616の SetCalendar で、各ラベルの OnClickイベントに、例えば、
下記のような式を設定しています。
=Day_Click(#2007/07/01#)
これで、ラベルをクリックすると、日付を取得できるようにしているわけですが、
今回の、SetColor では、この OnClick の式から、日付部分のみを取り出して
検索条件として利用しています。そのコードが、
RS.FindFirst "出席日=#" & Split(.OnClick,"#")(1) & "#"
です。Split(.OnClick,"#") はOnClickの式を # で分割して配列にします。
上の式なら、
=Day_Click( と 2007/07/01 と ) の
の3つに分割されます。その2番目の 2007/07/01 を取り出すのが、
Split(.OnClick,"#")(1)
です。(0)を付けると1番目、(1)を付けると2番目を取得できます。
その結果、
RS.FindFirst "出席日=#2007/07/01#"
となり、出席日が、2007/07/01 のレコードを検索して移動することになります。
これで、私のコードの意味は理解できたでしょうか。
> 今度は曜日ごとの色付けをするために下記3行(下から6行目以降)を追加してみました。.
曜日ごとにどのような仕様で色づけをするのか、3行のコードから読み取ることが
私には出来ません。
すでに、
RS.FindFirst "出席日=#2007/07/01#"
で出席日 2007/07/01 のレコードに移動しているので、日付は、RS!出生日 で取得できますので、
OnClick プロパティを利用する必要はないと思われます。
すでに目的のレコードには移動しているという前提で、メイ子さんの考える仕様に
あわせてコーディングしてください。
|
|