Access - Campo calculado muestra error al abrir otra tabla o consulta

   
Vista:

Campo calculado muestra error al abrir otra tabla o consulta

Publicado por Gonza (5 intervenciones) el 10/02/2013 16:31:45
Hola buenas tardes, tengo un campo calculado en una consulta de Access que me saca la edad a partir de la fecha de nacimiento con la siguiente fórmula:

edad: Int((Fecha()-[fechanac])/365,25)

El caso es que me funciona bien pero si tengo abierta la consulta en una pestaña y abro cualquier otra tabla o consulta, al volver a pinchar en la pestaña de la consulta con el campo calculado edad este me muestra error y tengo que volver a ejecutarla.

Esto es un engorro y de esta manera no me vale ¿alguién sabe alguna solución a esto?

Muchas gracias por adelantado
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 Neckkito

Campo calculado muestra error al abrir otra tabla o consulta

Publicado por Neckkito (1104 intervenciones) el 10/02/2013 18:36:50
Hola!

Sinceramente, no tengo ni idea de por qué ocurre esto. He estado "husmeando" por ahí pero no he conseguido encontrar una solución. Quizá alguien que sí lo sepa podría "ilustrarnos" a todos.

Si quieres te doy una solución alternativa (por si lo quieres probar y no te gusta te recomiento que utilices una copia de tu BD):

- En tu consulta borra el campo calculado de la edad
- Te creas un formulario sobre esa consulta. Tienes dos opciones: si lo quieres ver en formato "hoja de datos" basta que te crees un formulario normal; si lo quieres ver en un formato más "bonito" te lo puedes crear en vista de "formularios continuos"
- En ese formulario, en la sección detalle, insertas un cuadro de texto independiente. En su interior escribes la fórmula para calcular la edad, así:

=Int((Fecha()-[fechanac])/365,25)

Si te has creado el formulario normal sacas las propiedades del formulario y te vas a Pestaña Formato -> Vista predeterminada, y seleccionas "Hoja de datos". Tendrás que cerrar y volver a abrir el formulario para ver el efecto.

Si abres los otros objetos de Access para modificar los datos pues ya está, puesto que el formulario te cogerá automáticamente los cambios (y con ello la edad). Si lo que haces es añadir datos puedes automatizar el refresco de datos para ese formulario, para que te muestre los nuevos. Para ello sacas las propiedades del formulario y te vas a Pestaña Eventos -> Al cronómetro, y le generas este simple código:
...
Private Sub Form_Timer()
Me.Requery
End Sub
...

y ahora, en la misma pestaña, te vas al evento "Al intervalo de cronómetro" y le cambias el cero por un valor. Por ejemplo, si escribes 5000 te refrescará la información cada 5 segundos (1000=1 segundo). El único "incoveniente" es que verás un ligero parpadeo en el formulario cada vez que se refresque la información pues los campos calculados refrescan el cálculo de la edad.

A ver si con esto te sirve. Ya nos comentarás.

Un saludo,


http://neckkito.siliconproject.com.ar
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