hatena
hatena
2020/05/27 (水) 16:09:05
フォームのボタンから F_calendar を表示し、キー移動で日付選択をする場合です。
開く際の日付が 1900年1月 である場合に、キー移動を行うと、移動後の日も、日付選択の水色が解除されず、今自分がどこに居るか分からなくなってしまっています(翌月移動なども同様)。キー移動で1900年2月以降にまで進むと、その水色が消えない症状は出てこなくなりました。しかし、1899年12月に移動した場合は水色キープ症状は出たままです。
そのような昔の日付が入力されることは想定外でした。F_calendarフォームのモジュールで、
先頭の宣言部を下記のように修正してください。
Option Compare Database
Option Explicit
Dim ctl As Control
'FirstDay As Date この行を削除して、下記の1行を追加
Dim FirstDay As Variant
Dim vDate As Date
さらに、SetCalendar関数の先頭部分を下記のように修正してください。
'カレンダー 日にち設定関数
Private Function SetCalendar(aDate As Date)
Dim i As Integer, D As Date, m As Integer, n As Integer
' If FirstDay > 0 Then この行を削除して、下記の1行を追加
If Not IsEmpty(FirstDay) Then
Me("D" & vDate - FirstDay).BackStyle = 0 '透明
End If
'以下略
異常で問題なく動作するようになります。
通報 ...