Access - Activar / Desactivar campos

 
Vista:

Activar / Desactivar campos

Publicado por ROMANO (7 intervenciones) el 27/08/2008 12:09:40
Hola de nuevo a todos. Tengo de nuevo una duda. Dispongo de un cuadro combinado con las opciones "Vivo" y "Archivado". Me gustaría que cuando seleccionara "Archivado" el resto de campos del formulario aparecieran desactivados o inhabilitados y viceversa.
He probado con el siguiente código que he visto en este foro:

Private Sub Cuadro_combinado659_Change()
If Me.Cuadro_combinado659 = "ARCHIVADO" Then

[Cliente].Enabled = False
End If
End Sub

El problema que tengo es que al cambiar a vivo continuan los campos desabilitados y al salir no me guarda los cambios, de tal forma que cuando entro nuevamente en la BD aparecen los campos habilitados.
Muchas gracias por la ayuda y saludos cordiales
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Activar / Desactivar campos

Publicado por Victoria (1530 intervenciones) el 27/08/2008 21:26:18
Hola:
Espero entender bien lo que preguntas y completarlo

Al código que tienes le falta una línea tal como:

Private Sub Cuadro_combinado659_Change()
If Me.Cuadro_combinado659 = "ARCHIVADO" Then

[Cliente].Enabled = False

ELSE
CLIENTE.ENABLE=TRUE

End If
End Sub

Por otro lado, debería poner una relación a este código al abrir o activar el formulario para que te lo MANTENGA

Por ejemplo, poner el código en un sub tal como:

Private sub cambiarHabilitado()

If Me.Cuadro_combinado659 = "ARCHIVADO" Then

[Cliente].Enabled = False

ELSE
CLIENTE.ENABLE=TRUE

End If
End Sub

Y llamarlo en los eventos:
cambiarHabilitado

Un recomendación, pon nombres PERSONALIZADOS a tus controles en los fomularios

Un saludo
Victoria
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Activar / Desactivar campos

Publicado por ROMANO (7 intervenciones) el 28/08/2008 10:17:52
Gracias por tu respuesta. Sin embargo continua el problema de que al desactivar/activar los campos en un registro (Expediente Archivado/vivo), se desactivan/activan los de todos los registros de la Bd y no exclusivamente el registro deseado.
Por otro lado, disculpa mi torpeza pero me hago un lío con lo de "cambiarHabilitado" (mis conocimientos en VB son muy limitados), podrías explicarme mas detalladamente?
Gracias nuevamente y saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Activar / Desactivar campos

Publicado por Victoria (1530 intervenciones) el 28/08/2008 14:55:38
Hola:

Te cuento, el código que te he puesto es INDEPENDIENTE, lo cuál significa que lo puedes LLAMAR desde cualquier evento de tu formulario

En el evento change, en vez de poner el código que tienes, pones la llamada al procedimiento que yo te he puesto, llamado (le he dado ese nombre, tu lo puedes renombrar como quieras): cambiarHabilitado

Bien, si quieres que se presenten los valores en cada registro, ya que no es un control que guardes en una tabla, tendrías que poner, en el evento AlActivar del dormulario (Current), una llamada al procedimiento: cambiarHabilitado

La llamada a una porción de código se hace poniendo el nombre del procedimiento, sin más

¿Que consigues de esta forma?, pues escribir UNA SOLA vez una sección de código y "OBLIGAR" a que se ejecute en el lugar que quieras / necesites

Un saludo

Victoria
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar