Access - Pasar valore entre formularios

   
Vista:

Pasar valore entre formularios

Publicado por Santi (4 intervenciones) el 13/04/2010 11:18:45
Hola,

Hace mucho que no trabajo con Access (2003 en este caso) o VB y estoy algo atascado con una cosa que debe ser bastante simple pero no recuerdo como hacer.

Mi aplicación tiene un formulario de inicio que simplemente consiste en un objeto Calendar. Cuando pincho en un día cualquiera, uso esta función para abrir otro formulario que está basado en una búsqueda:

Private Sub Calendar4_Click()
DoCmd.OpenForm "query_reservas"
End Sub

Esta búsqueda recibe un parámetro con la fecha y hace una búsqueda en la tabla de reservas filtrando por esa misma fecha.

Lo que no se es como capturar la fecha que selecciono en el calendario y enviársela al segundo formulario para no tener que meterla a mano al ejecutarlo. Y por mas que he buscado en el foro, no consigo encontrar un caso así o al menos una solución que me deje claro como hacerlo.

Gracias por anticipado!
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:Pasar valore entre formularios

Publicado por elias (405 intervenciones) el 15/04/2010 12:30:38
sin cerrar el formulario con el Calendario haz en el Form2:

donde_necesites_el valor = Form2.Calendar.Value
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:Pasar valore entre formularios

Publicado por Santi (4 intervenciones) el 22/04/2010 11:49:40
Hola Elías

Gracias por la pista, no me había dado cuenta de que habían respondido...

Intento esto que me dices, pero no tengo claro donde tengo que ponerlo. ¿En el Form_Load? ¿En otro sitio?

El problema que tengo es que este segundo formulario está hecho a partir de una consulta y lo que necesito no es asignar el valor a dicho formulario, sino que ese valor se use de parámetro para la consulta. No se si me explico bien... que el usuario no tenga que meter una fecha para ejecutar dicha consulta, sino que se ejecute automáticamente con el valor que he seleccionado en el calendario.

He probado a poner esa línea (en mi caso sería INICIO.Calendar4.Value)en los Criterios de la consulta en la que se basa el form, pero no funciona. Cuando pulso un día del calendario, me aparece el cuadro "Introduzca el valor del parámetro" y como texto INICIO.Calendar4.Value, pero me obliga a meterlo a mano, no reconoce lo que le paso.

¿Alguna idea de donde me estoy equivocando?

Gracias!
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:Pasar valore entre formularios

Publicado por Santi (4 intervenciones) el 22/04/2010 12:02:45
Mientras sigo probando te intento aclarar un poco más:

Estoy haciendo pruebas basándome en lo que me has dicho... si en el Form_Load del formulario que ejecuta la consulta le pongo la fecha a capón, por ejemplo así: FechaReserva = "01/07/2010", el campo toma el valor correctamente, pero no ejecuta la consulta... saca todos los registros que hay en la tabla como si no estuviese filtrándola.
Si intento poner la lína que me has dicho, FechaReserva = INICIO.Calendar4.Value, entonces la aplicación casca, me da un error 2465, "Error definido por la aplicación o el objeto" en esa misma línea.

La verdad es que estoy más perdido que una cabra en un garaje, cualquier ayuda será muy apreciada...
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:Pasar valore entre formularios

Publicado por Santi (4 intervenciones) el 23/04/2010 12:10:08
Ya he conseguido resolverlo, a base de prueba y error, pero ya funciona.

Por si alguien tiene un problema parecido, lo he resuelto metiendo el valor del calendario en un campo de texto invisible (si trato de meterle en Criterios el valor del Calendario directamente no me lo coge, de ahí el campo de texto) al hacer click así:

Private Sub Calendar4_Click()
Fecha = Me.Calendar4.Value
DoCmd.OpenForm "query_reservas"
End Sub

y después metiendo esta línea en Criterios dentro del campo por el que quiero filtrar en la consulta:

[Forms]![INICIO]![Fecha]

Gracias de todas formas por la ayuda!
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