Botones de acción en formulario con subformularios.

Soy nueva en Acces. He hecho un formulario con 4 subformularios seguidos, como si fuera un único formulario, y no sé dónde debo poner los botones de acción. Si los pongo al final del formulario principal, no funcionan. Y, además, cuando abro el formulario me sale rellenado con el único registro que tengo en lugar de uno nuevo. ¿Me podrías ayudar?

Magda

1

1 respuesta

Respuesta
2

Con botones de acción ¿a qué te refieres exactamente?

En cuanto a tu segunda duda, para que te aparezca en un registro nuevo al abrir el formulario, una forma fácil (sin código ni nada) es que en las propiedades del formulario le pongas "Entrada de datos" en Sí.

Por otro lado, un diseño como el del formulario que muestras lo puedes conseguir sin necesidad de tantos subformularios: simplemente añadiendo los campos necesarios de las distintas tablas a tu formulario en su Vista Diseño, o bien creando una consulta sobre las 4 tablas con los campos que necesites y usándola como base para el formulario. Luego lo pones "bonito", con objetos rectángulos y demás controles hasta que consigas la apariencia deseada.

Bueno, todo esto suponiendo que las 4 tablas están relacionadas, y que además, como intuyo por la imagen, la relación entre ellas es 1 a 1...

Un saludo.


Perfecto! Al poner entrada de datos "si", se abre con un nuevo registro!

Respecto a los botones de acción, lo que quería poner eran los botones de desplazamiento entre registros, el de "nuevo registro" el de "guardar" y el de "salir". Probaré de hacer un informe único usando una consulta y haber si así me funciona.

Muchas gracias!

Seguro que te sale sin problemas, pero si tienes algún problema con esta cuestión (u otra), por aquí andaré o en el foro de mi firma.

Saludos!.


Hola, estoy probando y probando y no consigo hacer un formulario, ni con una consulta previa ni directamente con las tablas. Creo que el problema es la relación entre las tablas. Las tengo así:

He hecho varios tipos de relaciones y lo único que me deja hacer la integridad referencial es esto, pero algo está mal porque no funciona.

Gracias por tu paciencia...

Magda

Tienes mal hechas las relaciones:

1º/ La relación entre la tabla "dades empresa" y las tres tablas "Aux..." el sentido de la flecha debería ser al revés, de las auxiliares a la principal.

2º/ Lo mismo te pasa con la relación entre "dades empresa" y "contacte", el sentido de la relación es incorrecto.

3º/ Es más, yo te diría que a nivel de relaciones, es mejor no modificar el tipo de relación, y si te hace falta, hacerlo a nivel de consulta. Es decir, modifica todas las relaciones y escoge en todas la primera opción: incluir solo las filas donde los campos combinados sean iguales.

Con eso debería funcionarte.

¡Gracias! Lo probaré, a ver qué tal!

Hola de nuevo,

He conseguido hacer el formulario y funciona bien, pero he hecho modificaciones y ahora no me enseña los registro anteriores, sólo los que introduzco de nuevo. Podría volver a entrarlos pero quisiera arreglarlo, si se puede, para no tener problemas en cambios futuros. Podrías decirme si hay alguna manera para que me muestre todos los registros anteriores?

Gracias

Los formularios no almacenan datos, eso lo hacen las tablas. Los formularios tienen la función de hacer la entrada de datos más "amigable", y también permiten visualizarla.

Si al formulario le pones "entrada de datos" en Sí, solo te va a permitir añadir, y, mientras no lo cierres, ver los registros que has añadido desde la última vez que lo abres.

Si le pones "entrada de datos" en No, te permitirá ver todos los registros, y se te abrirá por defecto en el primer registro.

A mayores puedes configurar las distintas propiedades "permitir añadir", "permitir editar", "permitir eliminar"...

Para tu problema hay dos soluciones:

1º/ Una sin código, que sería copiar tu formulario y ponerle "entrada de datos" en No y "permitir agregar" en No, de tal forma que tengas uno para añadir datos y otro para consultarlos y/o editarlos, pero no añadir.

2º/ Una con código: en tu formulario actual, le pones "entrada de datos" en no, y en el evento "al cargar" le generas este código:

DoCmd. GotoRecord,, acNewRec

Así al abrir el formulario te irá a un nuevo registro, y podrás navegar por los anteriores.

Saludos!


¡Gracias! ¡Funciona! En el mismo formulario puedo ver todos los registros y cuando entro se pone directamente en un registro nuevo.

Muchísimas gracias!!!

Magda

Hola de nuevo,

Haciendo la base de datos van saliendo novedades que me la complican un poco y me he encallado.

He hecho un subformulario (Direcciones) desde un formulario (Empresa). Cuando los datos están introducidos en las tablas, tanto Empresas como Direcciones me enseña perfectamente los datos, pero a la hora de introducirlos no me liga uno con el otro. Concretamente, no pone el IdEmpresa en la tabla Direcciones.

Por un lado debe coger el IdEmpresa del Formulario Empresa y, por otro, debe guardar el IdEmpresa en la tabla Direcciones, ¿no?

Supongo que debo poner algo en origen del control y hacer algún evento…

¿Podrías decirme cómo lo puedo hacer?

Gracias

Lo adecuado es que hagas una nueva pregunta por cada duda nueva, y no las encadenes todas bajo una pregunta inicial, pues así si otro usuario tiene tu mismo problema difícilmente lo encontrará en una pregunta que va sobre botones de un subformulario...

Respondiendo a tu duda, para mí que tienes mal el diseño de tu subformulario o mal la vinculación entre formulario y subformulario:

Partiendo de que en ambas tablas debe existir el campo IdEmpresa, en el formulario que hace de subformularo deberías incluirlo (aunque sea oculto), y además, cuando vinculas el subformulario al formulario, has de indicarle los campos que tienen en común.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas