Formulario ahora subformulario

Hola
Me surgió un problema no encuentro solución, ya intente varias cosas y nada
resulta que hice un formulario que manda hablar a un reporte el cual obtiene los datos de un query, pero en el query puse que obtuviera datos de un text del formulario,
y todo perfecto si funciono.
Pero quiero poner el mismo formulario dentro de otro formulario como subformulario y no me da el valor del tex para el query, no se como declararlo lo tengo declarado así [forms]![defectosporsemana]![Text2] Y así obtiene el dato cuando corro solo el formulario, pero al momento de correrlo como subformulario no me funciona
Como le puedo hacer

1 respuesta

Respuesta
1
Esto es habitual que suceda cuando se llama a los controles por el nombre de los formularios y el nombre de los controles. Para evitarlo, lo mejor es que seas tu mismo el que controle la información que pasas de un lado a otro, mediante variables, más que por el nombre de los formularios.
En lugar de poner en cualquier lado de tu base de datos [forms]![defectosporsemana]![Text2]
Define una variable, pública o global. Si las utilizas de manera genérica, es decir que en un procedimiento pueden ser una cosa y en otro algo distinto hazlo global. En un módulo define la variable
Gobal strSQL as string
Global strParam as string
Luego en el formulario que quieras tomar el valor, en el evento más adecuado (actualizar, perder el foco, ...)
strParam = Me.Text2 (en tu caso llamas Text2 al control)
A partir de aquí, ya tiene en la variabel strParam el valor que quieras, y tu has decidido en que momento lo toma, además de poder controlarlo con las verificaciones que quieras; por ejemplo si es una fecha podrías:
if lngDate < now() then ...
Lo único que te queda es colocar strParam en string de la consulta en lugar de [forms!].[defectosporsemana].[Text2]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas