質問

ID番号や日付などの他のフィールドに対応するチェックボックスであるいくつかのフィールドを持つAccessデータベースがあります。対応するチェックボックスが選択されていない場合はこれらのフィールドをグレー表示にし、選択するとフィールドが開くようにしたいと考えています。

Check box: Study

Field 1: StudyID

Fields 2: StudyDate

2 つのフィールドはデフォルトでは無効になっています。次のコードを使用しています AfterUpdate チェックボックスで:

If Me.Study Then
    StudyID.Enabled = True
    StudyDate.Enabled = True
Else
    StudyID.Enabled = False
    StudyDate.Enabled = False
End If

これは一種の仕事になります。クリックしたときのアクションは機能しますが、レコードを切り替えたり、フォームを閉じたり再度開いたりしたときに変更は保存されません。これは正しいコードですか、それとももっと良いコードがあるのでしょうか、あるいは各レコードを個別にリンクする必要がありますか?

役に立ちましたか?

解決

欠けているのは、コードを「現在」で再実行する必要があるということです。そうすれば、フォームに戻るたびに、チェックボックスがチェックされているかどうかが確認され、フィールドが正しく有効/無効になります。

フォームを選択し (定規が交差する左上の小さな四角形をクリックし)、[イベント プロパティ] タブで [現在] をクリックします。このコードをロードします:

If Me.Study = -1 Then
    StudyID.Enabled = True
    studydate.Enabled = True
Else
    StudyID.Enabled = False
    studydate.Enabled = False
End If
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top