REPETICIONES.

 

En esta base tenemos un ejemplo, para mostrar varias veces el mismo registro en un informe.

 

Se puede usar, por ejemplo, para imprimir varias etiquetas de un mismo articulo, para imprimir varias veces la misma dirección, etc.

 

Tenemos la tabla Productos, que es copia reducida de la tabla del mismo nombre de la base Neptuno.

 

Esta tabla tiene un campo id, el nombre del producto, y otros dos campos con información del producto, en este caso, cantidad por producto y precio por unidad.

 

Tenemos una tabla auxiliar, con un solo campo numérico, cuyos valores han de ser correlativos desde el uno hasta el que deseemos, siempre que sea mayor o igual que el numero máximo de repeticiones que queramos obtener.

 

Tenemos otra tabla, llamada TablaOrigen, en la que indicamos el producto deseado, el numero que queremos de etiquetas, y si queremos imprimir o no estas etiquetas.

 

Una vez que tenemos esta ultima tabla a nuestro gusto, ya podemos imprimir el informe.

 

El informe esta basado en la consulta llamada Consulta1, que es la que genera las repeticiones.

 

En esta consulta, ponemos primero las tablas Productos y TablaOrigen, relacionadas por el campo id, de forma que de cada producto que tengamos en la TablaOrigen, podamos obtener los datos deseados de la tabla Productos, en este caso, NombreProducto, Cantidad Por Unidad, y PrecioUnidad. También hemos puesto el campo imprimir?, con criterio de selección =-1, de forma que solo aparecerán los registros que hemos indicado que SI queremos imprimir.

 

Lo explicado en el párrafo anterior, se puede comprobar en la consulta llamada ConsultaParcial1, que no se usa en la base, y que solo sirve para esta explicación. En esta consulta, se puede apreciar también, como los campos que hemos seleccionado de la tabla Productos, solo aparecen para aquellos productos que están en la tabla TablaOrigen, y que además están marcados como SI en el campo imprimir. Nótese también, que cada registro solo aparece una vez.

 

La repetición se produce al introducir en la consulta, la tabla auxiliar y no relacionarla con ninguna de las otras. Al tener esto, Access relaciona todos los registros de la tabla auxiliar, con todos los registros que teníamos anteriormente en la consulta, esto se puede observar en la consulta ConsultaParcial2.

 

Por ultimo, si en el campo repeticiones de la Consulta1, ponemos como criterio, que ha de ser igual o menor que el numero_etiquetas, que anteriormente indicamos en la tabla TablaOrigen, tenemos los resultados deseados.