Reporte de maquinas por cliente

Tengo una base de datos de maquinas de clientes. Es posible que un cliente tenga más de una máquina. Quiero sacar una consulta/formulario que me permita escoger un cliente y mostrar todas sus máquinas en una sola pantalla. Lo he intentado y la unica forma es filtrando en hoja de datos, lo cual no quiero. Quiero poder visualizarlo en el formato de formulario. ResumoÑ escoger un cliente y que me muestre todas las maquinas en su poder en una sola pantalla, en formato de formulario. Apreciare su ayuda

1 respuesta

Respuesta

Puedes hacerlo de varias formas, todo depende de como tengas construidas las tablas.

1º Vamos a suponer que solo tienes una tabla Maquinas, donde aparecen, por ejemplo

Carlos-Taladro

Pedro-Fresadora

Carlos-Martillo

Es decir que el nombre de cliente se repita tantas veces como máquinas tenga. Entonces crea un formulario tabular, y en el encabezado del formulario pon un cuadro combinado(Y en su propiedades-Otras-Nombre, ponle Elegir), no uses el asistente. En las propiedades del combinado, en el evento Después de actualizar, crea un procedimiento de evento y entre Private Sub y End sub escribe

form.recordsource="select * from maquinas where cliente= forms!nombredelformulario"elegir"

Así, una vez que hayas elegido un nombre, solo te aparecerán aquellos registros en los que esté.

2º Vamos a suponer que tienes una tabla Clientes, con Idcliente, nombre, etc. y una tabla Maquinas con Idcliente, maquina, etc., relacionadas por Idcliente.

Haz el formulario con la tabla Maqinas. En el encabezado del formulario pon el combinado, pero esta vez hazlo con el asistente(para que te coja el Idcliente), y en sus propiedades-otras-nombre ponle también Elegir. En sus propiedades-eventos-Después de actualizar lo mismo que antes pero escribe

form.recordsource="select * from maquinas where idcliente=forms!nombredel formulario!idcliente"

De todas fomas, si ves que no me he explicado bien, y quieres, mándame un mensaje a [email protected] y te mando un par de ejemplos.

Icue, ¡Gracias!

Voy a tratar de aplicarla. No más una consulta, si tengo access en español, ¿dónde encuentro las opciones que me indicaste en la alternativa 1? ¿Cuál es el equivalente?

En el editor de Visual Basic tienes que ponerlo tal como te lo escribí. El código no admite palabras en español.

Me he dado cuenta que te puse el código mal es

... Forms! Nombredelformulario! Elegir

¡Gracias! La hice creo que mas sencilla.

1-hice las relaciones entre tabla de clientes y un query.

2-hice una form del query.

El problema es que cuando uso el combo para buscar el cliente, me dice : "the changes you requested to the table were not successful" yo no quiero editar solo hacer coonsultas, hay alguna forma de prevenir esto?

Eso es, probablemente, porque en el combinado, le has puesto Origen del control, y por tanto cuando eliges algo, el "cree" que vas a cambiar los datos.

De todas formas, ya te ofrecí mi correo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas