Domanda

Ho un database di accesso con diversi campi che vengono caselle di controllo corrispondenti ad altri campi come un # e data di identità.Voglio che questi campi siano disattivati quando la casella di controllo corrispondente non è selezionata e per aprirsi quando selezionato.

Check box: Study

Field 1: StudyID

Fields 2: StudyDate

I 2 campi sono stati disabilitati per impostazione predefinita.Sto usando il seguente codice per AfterUpdate sulla casella di controllo:

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

Questo rende un tipo di lavoro.Funziona sull'azione quando fai clic ma non salva la modifica quando si cambia registrazioni o chiudi / riapri il modulo.È il codice giusto, o c'è qualcosa di meglio o ogni record deve essere collegato individualmente?

È stato utile?

Soluzione

Che cosa ti manca è che il codice ha bisogno di eseguire nuovamente "sulla corrente".In questo modo ogni volta che si passa al modulo, cercherà di verificare se la casella di controllo è selezionata e abilita / disabilita correttamente i campi.

Selezionare il modulo (fai clic sul piccolo quadrato in alto a sinistra in cui i righelli si intersecano), quindi sulla scheda Proprietà evento Fare clic su "Alla corrente".Carica questo codice:

If Me.Study = -1 Then
    StudyID.Enabled = True
    studydate.Enabled = True
Else
    StudyID.Enabled = False
    studydate.Enabled = False
End If
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top