Verwenden Sie das Kontrollkästchen, um Felder zu aktivieren
-
23-12-2019 - |
Frage
Ich habe eine Access-Datenbank mit mehreren Feldern, bei denen es sich um Kontrollkästchen handelt, die anderen Feldern wie einer ID-Nummer und einem Datum entsprechen.Ich möchte, dass diese Felder ausgegraut sind, wenn das entsprechende Kontrollkästchen nicht aktiviert ist, und dass sie sich öffnen, wenn sie aktiviert sind.
Check box: Study
Field 1: StudyID
Fields 2: StudyDate
Die beiden Felder sind standardmäßig deaktiviert.Ich verwende den folgenden Code für AfterUpdate
auf dem Kontrollkästchen:
If Me.Study Then
StudyID.Enabled = True
StudyDate.Enabled = True
Else
StudyID.Enabled = False
StudyDate.Enabled = False
End If
Dadurch funktioniert es irgendwie.Es funktioniert bei der Aktion, wenn Sie darauf klicken, aber die Änderung wird nicht gespeichert, wenn Sie Datensätze wechseln oder das Formular schließen/erneut öffnen.Ist das der richtige Code oder gibt es etwas Besseres oder muss jeder Datensatz einzeln verknüpft werden?
Lösung
Was Sie vermissen, ist, dass der Code erneut „On Current“ ausgeführt werden muss.Auf diese Weise wird jedes Mal, wenn Sie zum Formular zurückkehren, geprüft, ob das Kontrollkästchen aktiviert ist, und die Felder werden korrekt aktiviert/deaktiviert.
Wählen Sie das Formular aus (klicken Sie auf das kleine Quadrat oben links, wo sich die Lineale schneiden), und klicken Sie dann auf der Registerkarte „Ereigniseigenschaften“ auf „Aktuell“.Laden Sie diesen Code:
If Me.Study = -1 Then
StudyID.Enabled = True
studydate.Enabled = True
Else
StudyID.Enabled = False
studydate.Enabled = False
End If