CommandButton invisible según condiciones

Enhorabuena por la web. Tengo dos tablas, 05Piezas y 04Coquillas, con una relación 1 a 1, de las que tengo dos formularios 05Piezas y 04Coquillas, con un filtro para solo ver el registro de 04Coquillas del registro relacionado de 05Piezas. El formulario 04Coquillas tiene las propiedades Permitir ediciones, Permitir eliminación, Permitir agregar y Entrada de datos en No. Así que cuando no tengo un registro de 04Coquillas del registro relacionado de 05Piezas en el formulario, no se ve ningún TextBox ni nada. Perfecto. He puesto un CommandButton "AGREGAR" en el encabezado del formulario, para añadir el registro en este caso. Pero este CB es visible incluso cuando hay registros de 04Coquillas. ¿Cómo puedo hacer para que este CB no se vea en el caso en que ya haya un registro en 04Coquillas?. Cuando no hace falta. Gracias.

1 respuesta

Respuesta
1
Al no conocer ningún campo de tu formulario resulta un poco ambiguo, pero a ver si la idea te puede valer.
En el evento al cargar del formulario añade el siguiente código:
If Me.[nombre de campo que recibe el enfoque al cargar]="" then
Me.[Nombre del CommandButton].Visible=True
Else
Me.[Nombre del CommandButton].Visible=False
End if
Gracias por contestar. Hago que al abrir el formulario reciba el enfoque el campo NºCliente, que esta en el encabezado del formulario 04Coquillas y que tiene la propiedad Valor predeterminado = [Formularios]![05Piezas]![NºCliente], que es el valor de un campo del formulario que se debe abrir antes.
El código que me has proporcionado funciona si el campo NºCliente del formulario 04Coquillas tiene algún valor. Pero si no tiene valor, y esto ocurre cuando la pieza del formulario 05Piezas no tiene todavía ninguna coquilla asignada, me da un error. "Se ha producido el error '2427' en tiempo de ejecución: ... Introdujo una expresión que no tiene valor".
De nuevo ese error ocurre porque el campo es nulo, entonces introduce el código siguiente en el mismo evento (al abrir el formulario):
If Isnull (Me.NºCliente) then
Me.NºCliente.Value=""
End if
If Me.NºCliente="" then
Me.[Nombre del CommandButton].Visible=True
Else
Me.[Nombre del CommandButton].Visible=False
End if

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas