Activar un campo u otro en access 2010

Estoy haciendo un formulario y me gustaría poder hacer que teniendo un campo desplegable seleccionando un registro se activara un campo u otro difeerente.

1 Respuesta

Respuesta
1

Tendrás que programar el evento "después de actualizar" de tu campo desplegable y en función del valor modificar la propiedad "Enabled"(activado) del campo que quieras. También puedes modificar las propiedades "Visible" (para mostrar/ocultar) o "Locked" (para bloquear/desbloquear)

En abstracto sería:

Private Sub NombreDesplegable_AfterUpdate()

Select Case Me.NombreDesplegable

Case "Valor1"

Me.NombreCampo1.Enabled=True  'Activas el campo1

Me.NombreCampo2.Enabled=False 'Desactivas el campo2

Me.NombreCampo3.Visible=False 'Ocultas el campo3

Me.NombreCampo5.Locked=True  'Bloqueas el campo4

Case "Valor2"

Me.NombreCampo1.Enabled=False 'Desactivas el campo1

Me.NombreCampo2.Enabled=True 'Activas el campo2

Me.NombreCampo3.Visible=True 'Muestras el campo3

Me.NombreCampo5.Locked=False   'Desbloqueas el campo4

Case "valor3"

...

Case...

End Select

End If

Saludos!


Es decir yo tengo el campo población. Y he de hacer que si elijo el registro Blanes me salga el campo direccion si es de blanes y si elijo por ejemplo barcelona que salga el campo direccion no es de blanes, He puesto lo siguiente:


Private Sub Cuadro_combinado104_AfterUpdate()
Select Case Me.Cuadro_combinado104
    Case "Blanes"
        Me.[Direcció (Si és de Blanes)].Enabled = True
        Me.Direcció__Si_no_és_de_Blanes_.Enabled = False
        Me.Direcció__Si_no_és_de_Blanes_.Visible = False
    Case "Barcelona"
        Me.[Direcció (Si és de Blanes)].Enabled = False
        Me.Direcció__Si_no_és_de_Blanes_.Enabled = True
        Me.[Direcció (Si és de Blanes)].Visible = False
    End Select
    End If
End Sub

Esta Bien?

¡Saludos!

Te sobra el End If, que no sé de dónde viene. Además, si decides mostrar/ocultar uno u otro, no te hace falta habilitarlo/deshabilitarlo, pues mientras esté oculto, ya no puedes trabajar con él (directamente).

Así te serviría:

Private Sub Cuadro_combinado104_AfterUpdate()
Select Case Me.Cuadro_combinado104
    Case "Blanes"
        Me.[Direcció (Si és de Blanes)].Visible= True
        Me.Direcció__Si_no_és_de_Blanes_.Visible = False
    Case "Barcelona"

        Me.Direcció__Si_no_és_de_Blanes_.Visible = True

        Me.[Direcció (Si és de Blanes)].Visible = False
    End Select
End Sub

¡Gracias! ahora lo haré

No me deja y no se por que exactamente

Pues yo tampoco, porque Visible sí es una propiedad válida de los controles...

Revisa si los nombres de los controles son los correctos, no vaya a ser...

Dos cosas que no intervienen en este problema:

1º/ Evita usar en los nombres de los campos de las tablas los espacios, caracteres "raros", acentos... Te facilitará la escrituta de código y te evitará algún que otro error.

2º/ Si lo unico que quieres validar es si se selecciona o no "Blanes", no  te hace falta poner un Case para cada valor del combo, puedes poner un Case "Blanes" para hacer lo que sea en ese caso y Case Else para hacerlo en el resto de casos, o puedes usar un simple If Then Else.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas