Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


3583 / 9994 ←次へ | 前へ→

【9670】Re:配列変数の引き渡し方
回答  hatena  - 07/7/7(土) 11:08 -

引用なし
パスワード
   > はい、漠然としていますが、なんとなく意味は理解できました。
> clickもしていないのに、click時の値が取得できるというのが、いまひとつ納得できていないのですが

ちょっと分かりにくいしので、Tagプロパティにも日付を格納するように
CalUpdate を改良しました。これで後から日付を利用するときシンプルな
コードになりますので。

Private Sub CalUpdate(y As Integer, m As Integer)
Dim i As Integer, j As Integer, FirstDay As Date, s As Integer

  For j = 0 To 1
    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)
        .Caption = Day(FirstDay + i)
        .OnClick = "=Day_Click(#" & FirstDay + i & "#)"
        .Tag = FirstDay + i  '※この行を追加
      End With
    Next
  Next

End Sub

> 詳細欄に生徒さんの一覧がある中で、受講日である「曜日」のフィールドがあり、
> 例えば火曜日のクラスの生徒さんなら、currentイベントで、6ヶ月分のカレンダー
> すべての火曜日に色を付けたいと思いました。
> その火曜日中で、出席した日だけを色を濃くするという仕様にしようと思い、


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 = -3 To 2
    For i = 1 To 42
      With Me(Chr(Asc("d") + j) & i)
        If .OnClick= "" Then
          .BackColor = vbWhite
        Else
          RS.FindFirst "出席日=#" & .Tag & "#")(1) & "#"
          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
        End If
      End With
    Next
  Next
  RS.Close
End Sub

2,408 hits

【9611】配列変数の引き渡し方 メイ子 07/6/25(月) 15:40 質問[未読]
【9613】Re:配列変数の引き渡し方 YU-TANG 07/6/26(火) 0:26 回答[未読]
【9621】Re:配列変数の引き渡し方 メイ子 07/6/26(火) 15:38 お礼[未読]
【9616】Re:配列変数の引き渡し方 hatena 07/6/26(火) 2:30 回答[未読]
【9622】Re:配列変数の引き渡し方 メイ子 07/6/26(火) 15:44 質問[未読]
【9624】Re:配列変数の引き渡し方 hatena 07/6/26(火) 20:15 回答[未読]
【9630】Re:配列変数の引き渡し方 メイ子 07/6/28(木) 16:46 質問[未読]
【9631】Re:配列変数の引き渡し方 hatena 07/6/28(木) 21:55 回答[未読]
【9634】Re:配列変数の引き渡し方 メイ子 07/6/29(金) 11:22 質問[未読]
【9635】Re:配列変数の引き渡し方 hatena 07/6/30(土) 8:09 回答[未読]
【9643】Re:配列変数の引き渡し方 メイ子 07/7/2(月) 21:05 質問[未読]
【9659】Re:配列変数の引き渡し方 hatena 07/7/5(木) 10:56 回答[未読]
【9660】Re:配列変数の引き渡し方 メイ子 07/7/5(木) 14:49 質問[未読]
【9662】Re:配列変数の引き渡し方 hatena 07/7/5(木) 21:45 回答[未読]
【9666】Re:配列変数の引き渡し方 メイ子 07/7/6(金) 17:39 質問[未読]
【9670】Re:配列変数の引き渡し方 hatena 07/7/7(土) 11:08 回答[未読]
【9676】Re:配列変数の引き渡し方 メイ子 07/7/9(月) 11:05 質問[未読]
【9677】Re:配列変数の引き渡し方 hatena 07/7/9(月) 11:38 回答[未読]
【9682】Re:配列変数の引き渡し方 メイ子 07/7/10(火) 14:20 質問[未読]
【9683】Re:配列変数の引き渡し方 hatena 07/7/10(火) 14:40 回答[未読]
【9685】Re:配列変数の引き渡し方 メイ子 07/7/10(火) 19:03 質問[未読]
【9689】Re:配列変数の引き渡し方 hatena 07/7/11(水) 13:31 回答[未読]
【9691】Re:配列変数の引き渡し方 メイ子 07/7/11(水) 14:01 お礼[未読]
【9703】Re:配列変数の引き渡し方 メイ子 07/7/21(土) 12:23 質問[未読]
【9704】Re:配列変数の引き渡し方 hatena 07/7/21(土) 22:20 回答[未読]
【9705】Re:配列変数の引き渡し方 メイ子 07/7/23(月) 12:01 質問[未読]
【9706】Re:配列変数の引き渡し方 hatena 07/7/23(月) 15:31 回答[未読]
【9708】Re:配列変数の引き渡し方 メイ子 07/7/25(水) 15:10 質問[未読]
【9709】Re:配列変数の引き渡し方 hatena 07/7/26(木) 9:51 回答[未読]
【9712】Re:配列変数の引き渡し方 メイ子 07/7/26(木) 18:20 お礼[未読]

3583 / 9994 ←次へ | 前へ→
ページ:  ┃  記事番号:
1078201
(SS)C-BOARD v3.8 is Free