Formulario no se muestra sin datos previos

Estoy intentando hacer una aplicación en Access y el tema es que un formulario no se muestra si en las tablas no hay unos datos previos. Esto lo entiendo perfectamente ya que los datos llegan desde una consulta al formulario. La cuestión es, ¿Se podría hacer que el formulario se mostrara de alguna manera sin que hubiera datos previos en las tablas?(Me refiero a que me muestre los campos en blanco aun habiendo 0 registros) Porque la única manera que tengo de que funcione correctamente es meter en todas las tablas con relaciones un registro previo desde las tablas, y la verdad no me parece la forma más elegante.

2 Respuestas

Respuesta
2

Parece extraño que el formulario no te muestre al menos los cuadros de texto. A menos que en las propiedades-Datos tengas puesto

Permitir agregar=no

Si ese es el caso cámbialo a Si

De todas formas, ¿podrías poner una imagen el diseño del consulta?

Respuesta
2

Probablemente el formulario no te muestra nada porque está capada la inserción de nuevos registros, dado que en circunstancias normales, aunque la consulta no devuelva ningún registro, sí te muestra la información (en blanco) en el formulario.

Hasta donde yo sé no puedes hacer nada al respecto en cuestión del formulario. Lo que sí puedes hacer es, antes de abrir el formulario, utilizar un dcount() para comprobar cuántos registros devuelve la consulta (SQL) origen del formulario, y si no te devuelve registros lanzar un mensaje diciendo algo así como "no se han encontrado registros para mostrar", tras lo cual abortas la apertura del formulario.

Si, no me deja meter información ni aun con los datos previos, ¿cómo podría hacer para tener esa inserción de datos?

La respuesta es: no puedes.

En un proceso "normal" de mera extracción de datos a través de consultas (sin relaciones complejas o uso de campos calculados) Access permite operar sobre los datos, a través de consulta, sin problemas.

Sin embargo, por la existencia, usualmente, de relaciones complejas o por la realización de cálculos en campos que a su vez dependen de otros cálculos, por ejemplo (la casuística es mayor, por supuesto) automáticamente esa consulta deviene con lo que se denomina un "recordset no actualizable".

Si pones esa consulta directamente en vista hoja de datos e intentas hacer alguna modificación, en la barra de estado te aparecerá un mensaje parecido a "no se pueden modificar datos en un recordset no actualizable", más o menos.

Y si no es actualizable pues no hay solución directa. No se puede y punto.

Una opción, pero es por darte una que no sé si, en tu caso, te sería válida, además de que te requeriría un elevado tiempo de análisis y de prueba y error, es reconstruir todo el entramado de consultas hasta conseguir que la consulta de trabajo sí tuviera un recordset actualizable (suponiendo que exista esa combinación).

En definitiva, que, en estos casos, si quieres agregar o modificar algo, tienes que atacar a los orígenes previos (ya sea a consultas previas ya sea directamente a tablas) ANTES de generar la consulta de recordset no actualizable.

Quisiera haberte dado mejores noticias pero... Access es así

La pregunta no admite más respuestas

Más respuestas relacionadas