Access - Macro datos de Informe hacia formulario

 
Vista:
sin imagen de perfil
Val: 10
Ha aumentado su posición en 4 puestos en Access (en relación al último mes)
Gráfica de Access

Macro datos de Informe hacia formulario

Publicado por Fernando (12 intervenciones) el 26/06/2024 10:25:21
Hola,

Tengo un access en el que simplemente a través de un formulario relleno los trabajos que realizo en distintas localidades por:
Fecha Inicio
Fecha1, por si dura el trabajo otro día más
Fecha2, idem
Localidad
Duración en días
Horas
Kilómetros
Código de la empresa en la que realizo el trabajo
Observaciones

Luego tengo creado un informe en el que salen estos datos filtrados por mes indicando los demás datos menos observaciones.

Lo que quiero es realizar un macro en la fecha de inicio que cuando la seleccione con el ratón me lleve a el formulario pero exactamente a la fecha señalada por si quiero ver observaciones o por modificar algo.

En primer lugar no se realizar macros correctamente y tengo simplemente en la celda de la fecha de inicio del informe una macro incrustada:
AbrirFormulario
Nombre del formulario formulario (el formulario que quiero que abra)
Vista Formulario
Condición WHERE = [Fecha Inicio] = [formulario]![Fecha Inicio] (he probado a cambiar el orden o solo poner uno)
Modo de datos Modificar
Modo de ventana Diálogo

Este macro me lleva exactamente al formulario que quiero que abra pero al principio de todos los trabajos y no a la fecha que quiero.


Si alguien me sabe dar una respuesta que no sea supercompleja (a no ser que no quede más remedio) se lo agradezco de antemano. Gracias.
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
sin imagen de perfil
Val: 10
Ha aumentado su posición en 4 puestos en Access (en relación al último mes)
Gráfica de Access

Macro datos de Informe hacia formulario

Publicado por Fernando (12 intervenciones) el 26/06/2024 11:32:51
He cambiado Fecha Inicio por Fecha_Inicio por que estoy probando con procedimiento de evento:

DoCmd.OpenForm "formaciones frm", , , "Fecha_Inicio = " & Fecha_Inicio
o & me.Fecha_Inicio


Y sí me abre el formulario. Pero econ los datos en blanco.
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

Macro datos de Informe hacia formulario

Publicado por Anonimo (3382 intervenciones) el 26/06/2024 16:56:00
En las macros, para desplazarse a un registro concreto (el que cumpla la condición) hay que utilizar la acción de 'ir a registro' y la condición previa indispensable es que el formulario este abierto (si no lo esta hay que abrirlo), ambas acciones pueden ir en la misma macro.

Al respecto del problema que aparece en el segundo intento, hay que tener en cuenta que se hace en VBA (sin macros ni asistentes) y que Access necesita indicarle el tipo de datos cuando lo desconoce (el caso de un cuadro de texto independiente) en el que se puede escribir un numero, una fecha o un texto.

Las fechas (en Access) las puede reconocer por estar en un campo de tipo DATE (las rechaza si no correctas), porque se le indica con una función de conversion (CDate) o por encerrarlas entre (#) al igual que a los textos se les 'encierra' entre dobles comillas.

Access interpreta los datos como variables (si están declaradas), como números (sin necesidad de marcadores), como texto si comienzan y finalizan con las dobles comillas (y en circunstancias con las comillas simples), y como fecha si el marcador es (#)

Con la expresión publicada (ya corregida) Access abriría el formulario SOLO con los registros que cumpliesen la condición (normalmente suele ser uno), quizás para obtener un subconjunto (varios días por ejemplo los de duración de la tarea) se debería usar otro referente (por ejemplo: el ID de la tarea).

Antes:
1
DoCmd.OpenForm "formaciones frm", , , "Fecha_Inicio = " & Fecha_Inicio

Después:
1
DoCmd.OpenForm "[formaciones frm]", , , "Fecha_Inicio = #" & Fecha_Inicio & "#"

Nota: Cuando el nombre de un objeto contiene espacios o se le eliminan o se demarca con corchetes.
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