Cómo puedo bloquear un campo especifico según casilla de verificación en un formulario continuo ACCESS?

Tengo un formulario continuo que al inicio tiene una casilla de verificación que pregunta si la muestra que ingreso es de un cultivo perenne. Si la casilla de verificación es elegida quiero que el campo “cacao” este activo, pero no lo esté el campo “tomate”; si la casilla de verificación no se selecciona, quiero que el campo “cacao” este inactivo o bloqueado, pero lo esté el campo “tomate”.

Tengo el siguiente código en el evento después de actualizar de la casilla de verificación “EsPerenne”. Mi problema está en que al dar clic en la casilla de verificación se bloquean todos los registros del formulario continuo “cacao” o “tomate” respectivamente, y solo quiero bloquear el registro de la muestra que estoy ingresando.

 If Me.EsPerenne = -1 Then

Me.cacao.Locked = True

Me.tomate. Locked = False

Else

Me.cacao.Locked = False

Me.tomate. Locked = True

End If

1 Respuesta

Respuesta
2

Por partes. Si al marcar una casilla se "marcan" todas las del formulario, es porque esa casilla no tiene origen de control. Para subsanar esto, en la tabla origen del formulario pon un campo EsPerenne y haz depender la casilla de ese campo.

Por otro lado, te aconsejaría que la instrucción no la pongas en el evento después de actualizar de la casilla. Si en un registro no pensabas marcar la casilla y dejarla en blanco, no se cumple el evento Después de actualizar, con lo cual no te ejecuta la segunda parte de la instrucción. Ademas, supon que marcas una casilla y cierras y abres el formulario, los cuadros de texto no estaría bloqueados porque tampoco se cumple el evento Después de actualizar.

Es preferible que en el evento Al recibir el enfoque del cuadro de texto Cacao pongas

If Esperenne = -1 Then
caaco.Locked = True
ElseIf Esperenne = 0 Then
cacao.Locked = False
End If

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas