Acerca de consulta dentro de formulario

Me llamo Alberto y esta pregunta en realidad incluye dos preguntas.
Pregunta 1:
Tengo una tabla (Discover) en la cual hay un campo tipo fecha con formato mm/dd/aaaa hh:mm AM/PM y varios campos numéricos. Con esta tabla he creado una consulta (Q_Discover) en la que hay campos de la tabla, campos calculados y, del campo tipo fecha, he extraído la fecha (mm/dd/aa) y la hora (hh:mm AM/PM) en dos campos diferentes.
Después he creado un formulario (Performance) que contiene un gráfico basado en la consulta y un campo de texto independiente ([DSCVR_Date]) el cual uso para escribir una fecha determinada y así mostrar el gráfico para la fecha deseada.
En la consulta que se generó al crear el gráfico, establezco la condición que la fecha sea la que introduje en el campo independiente ([DSCVR_Date]). Esta es la expresión SQL que se genera:
SELECT Q_Discover.IRR, Avg([Q_Discover]![Generated Power]/15.9) AS Eff
FROM Q_Discover
GROUP BY Q_Discover.IRR, Q_Discover.Time, Q_Discover.Date
HAVING (((Q_Discover.Date)=[Forms]![Performance]![DSCVR_Date]))
ORDER BY Q_Discover.Time;
Al intentar ejecutar esta consulta (la del gráfico) me aparece el siguiente mensaje:
"You tried to execute a query that does not include the specific expression (Q_Discover.Date)=[Forms]![Performance]![DSCVR_Date]) as part of an agregate function".
Si convierto la consulta (Q_Discover) en una de tipo Make_Table y creo con ella otra tabla (Discover_2) y a partir de esta tabla creo el formulario con el gráfico y el campo independiente entonces todo funciona bien.
¿Qué me está sucediendo? Esta solución de crear una segunda tabla (Discover_2) no es práctica ya que como la consulta tipo Make-Table ya está basada en una tabla anterior (Discover), cada vez que agrego más datos tengo que volver a crear Discover_2. Quisiera resolver el problema sin tener que crear una tabla auxiliar para el formulario.
Espero que entiendas este rompecabezas.
Aquí va la pregunta 2:
Cada vez que voy a cerrar un formulario en cualquiera de los proyectos de Access que he desarrollado me aparece (varias veces) el siguiente mensaje:
"The object islocked, so any changes you make will be discarded when the form is closed (Click Save AS/Export and save the object under a different name)".
¿Tendrá qué ver esto con que estoy trabajando en una red? ¿Cómo resuelvo esto?

1 respuesta

Respuesta
A la primera: No tengo datos para saber exactamente cuál sería la sql buena, pero la que pones claramente no funcionará. Francamente, no te partas los ojos, haz la consulta con el generador de consultas de access, que los mensajes de error son mucho más claros y puedes probarla, y cuando la tengas hecha y funcionando, te cambias a vista SQL y ahí tienes lo que tienes que pegar en tu programa.
Y la segunda, la respuesta es posiblemente sí, si hay algún otro usuario que ha alterado en algo el mismo formulario y lo mantiene abierto en pantalla sin guardar ni cerrar. Y puede ser algo tan tonto como poner un filtro u ordenar los registros. La otra posibilidad no creo que sea, es que la mdb la hicieras con una versión anterior de access y no la convirtieras, te la cogería de solo lectura.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas