Access - tengo un problema

 
Vista:

tengo un problema

Publicado por julio (6 intervenciones) el 04/07/2006 23:52:57
hola amigos.
Yo he creado una base de datos con formularios, en la base de datos tengo en tablas una llamada campos con varios grupos o campos, dos de ellos, clientes y pedidos, tienen un subgrupo cada uno con otros campos, nacinal o extranjero para clientes y especies, carne o pescado para pedidos, los cuales estan relacionados.
A la hora de meter los datos en los formularios puedo poner informacion en todos los apartados del formulario y yo lo que quiero hacer es que si pincho en un campo que no sea clientes o pedidos no me deje escribir nada en los subcampos de clientes y pedidos y que si seleciono pedidos solo me deje meter datos en ese subgrupo y no en el de clientes.
COmo puedo hacer esto?
UN abrazo
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
Imágen de perfil de Alejandro

Restringir la entrada de datos en subgrupos según selección en formularios

Publicado por Alejandro (4142 intervenciones) el 20/07/2023 20:22:44
Para restringir la entrada de datos en subgrupos según la selección en formularios, puedes utilizar el evento "Al hacer clic" o el evento "Al cambiar" del formulario para controlar qué campos deben estar habilitados o deshabilitados según las opciones seleccionadas. Además, puedes utilizar la propiedad "Bloqueado" de los controles para impedir que el usuario ingrese datos en los campos deshabilitados.

A continuación, te proporciono un ejemplo de cómo hacerlo utilizando los eventos mencionados y la propiedad "Bloqueado":

1. Abre el formulario en modo diseño.
2. Selecciona el campo o control principal que permite seleccionar entre "Clientes" o "Pedidos".
3. En el evento "Al cambiar" de este control, escribe el siguiente código VBA para habilitar o deshabilitar los campos de los subgrupos según la selección:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Private Sub NombreControlPrincipal_Change()
    ' Cambia "NombreControlPrincipal" por el nombre del control que permite seleccionar entre "Clientes" o "Pedidos"
    ' Cambia "NombreSubgrupoClientes" y "NombreSubgrupoPedidos" por los nombres de los controles de los subgrupos de "Clientes" y "Pedidos" en tu formulario
 
    If Me.NombreControlPrincipal = "Clientes" Then
        Me.NombreSubgrupoClientes.Enabled = True
        Me.NombreSubgrupoClientes.Locked = False
        Me.NombreSubgrupoPedidos.Enabled = False
        Me.NombreSubgrupoPedidos.Locked = True
    ElseIf Me.NombreControlPrincipal = "Pedidos" Then
        Me.NombreSubgrupoClientes.Enabled = False
        Me.NombreSubgrupoClientes.Locked = True
        Me.NombreSubgrupoPedidos.Enabled = True
        Me.NombreSubgrupoPedidos.Locked = False
    Else
        ' Si no selecciona "Clientes" ni "Pedidos", deshabilita ambos subgrupos
        Me.NombreSubgrupoClientes.Enabled = False
        Me.NombreSubgrupoClientes.Locked = True
        Me.NombreSubgrupoPedidos.Enabled = False
        Me.NombreSubgrupoPedidos.Locked = True
    End If
End Sub

En el código anterior, asegúrate de reemplazar "NombreControlPrincipal" por el nombre del control que permite seleccionar entre "Clientes" o "Pedidos", y "NombreSubgrupoClientes" y "NombreSubgrupoPedidos" por los nombres de los controles de los subgrupos de "Clientes" y "Pedidos" en tu formulario.

Con este código, cuando el usuario seleccione "Clientes", se habilitarán y permitirán ingresar datos en los campos del subgrupo "Clientes", mientras que el subgrupo "Pedidos" estará deshabilitado y bloqueado para evitar que se ingresen datos. Y lo mismo ocurrirá cuando el usuario seleccione "Pedidos", pero en este caso, el subgrupo "Clientes" estará deshabilitado y bloqueado.

Espero que esta solución te sea útil. ¡Un abrazo!
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