Access - Ordenar por dos campos + imprimir a partir de uno de ellos

 
Vista:
sin imagen de perfil

Ordenar por dos campos + imprimir a partir de uno de ellos

Publicado por Braulio (3 intervenciones) el 25/06/2015 19:32:27
Hola a todos soy nuevo en el foro y espero explicarme bien y que me podais ayudar

Os expongo lo que tengo:
Tengo una base de datos que contiene varios miles de registros de clientes de los que hay que imprimir etiquetas.
Cada cliente puede estar dado de alta o no. (en cuyo caso saldra la etiqueta o no)
El orden de la tabla es primero por un dato numerico, y despues por otro (ambos pertenecientes al mismo registro) y esto es porque necesito que se impriman en ese orden.
De cada cliente pueden tenerse que imprimir mas de una etiqueta (es decir, la misma etiqueta x veces) dato que controlo con otro campo.

Hasta aqui lo tengo resuelto y funciona, mediante código, el cual introduce los datos cuyo alta sea verdadero en otra tabla ya creada (la cual se vacia al iniciar el codigo), y ademas mete a cada cliente tantas veces como marque el valor que mencione antes (es el numero de veces que va a salir la etiqueta)
Despues se genera un informe de esa tabla en el que me salen las etiquetas en el orden correcto y cada cliente con el numero de etiquetas correcto.
Por último se imprime el informe con otro comando.


Mi problema viene cuando me planteo que pueda cortarse la impresión por la razon que sea, en cuyo caso no puedo elegir a partir de que registro quiero imprimir (ya me he vuelto loco intentandolo) al estar la tabla ordenada dependiendo de dos campos (ambos numéricos). Siempre se me desordena o al hacer por ejemplo una consulta me sale mal, porque a pesar de que consigo filtrar los registros, no me aparecen todos los que faltan porque la condicion que necesito puede no cumplirse en ambas columnas de datos de todos los registros que quedan por delante.

Soy novato espero no os alarme el método que he utilizado y no sea muy lioso mi manera de explicar.

Lo que he pensado era poner en el formulario el cual se ordena de la misma manera un boton para el empleado que imprima del registro en el que se encuentre en adelante, despues he intentado de todo y no doy con la tecla.

Espero puedan ayudarme. Un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Ordenar por dos campos + imprimir a partir de uno de ellos

Publicado por Enrique Heliodoro (1664 intervenciones) el 26/06/2015 00:43:19
Para lo de las repeticiones te aconsejaría que visitaras esta pagina: http://julian.mvp-access.es

Entre los ejemplos hay uno que genera un numero indeterminado y variable de etiquetas (y sin VBA ni similares).

A lo de reanudar en el caso de un corte del flujo del programa, la solución que yo aplicaría iría en la línea de añadir un campo mas a esa tabla (un autonumerico) que serviría de testigo para poder indicar a partir de que registro se continua (y ello en base a que actualmente se insertan los registros y sus duplicidades en una tabla creada expresamente para ello), por cierto, la tabla 'la limpiaría' antes de utilizarla, no al finalizar la impresión, pues si esta falla (por la causa que fuere) y se limpia la tabla, es como 'destruir las pruebas del crimen' y no se podrá encontrar al asesino.

Con limpiarla ANTES de comenzar una nueva sesión de impresión (que no sea la repetición de la fallida) es suficiente ya que en caso de fallo, bastaría indicarle (mediante una consulta) que imprima 'a partir de' y ese dato se tomaría en base al autonumerico antes añadido.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ordenar por dos campos + imprimir a partir de uno de ellos

Publicado por Braulio (3 intervenciones) el 26/06/2015 10:45:37
Si asi es como lo tengo. La primera instruccion que se realiza es la de limpiar la tabla.
La impresión se realiza de forma correcta.

El problema al añadir un campo autonumerico (que ya lo probe) es que me desordena el orden que debe tener la tabla, sobre todo al añadir nuevos registros.
Este orden consiste primero por un campo y despues por un segundo por ejemplo 2 / 270, siendo estos dos numeros campos distintos, o tambien 3 / 35, de la misma forma, por lo que si doy al trabajador a elegir el primer numero para filtrar en una consulta, todo sale correcto, pero luego debe elegir el segundo (para ahorrar quizas cientos de etiquetas) y aqui viene el problema:

-Tomando como ejemplo los datos anteriores pongamos de ejemplo que la impresion se ha parado en la 2 / 100
-Genero una consulta que pida el primer dato, que sera el numero 2
-Despues la misma consulta debe pedir el segundo (para ahorrar tener que reimprimir 100 etiquetas o mas, teniendo en cuenta que cada cliente puede tener mas de una) que seria el 100.

Este último punto es el problema ya que la 3 / 35 no se imprimira ni las que tengan numero inferior a 100 se descartan, y asi cuando el primer valor es 4, 5, 6...

Echare un vistazo a la página que me diste, gracias por contestar

EDITO: He ojeado la pagina y es como lo tengo hecho yo, solo que la consulta la genera por linea de codigo. Mi problema es la ordenacion al reanudar.

Un saludo y muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Ordenar por dos campos + imprimir a partir de uno de ellos

Publicado por Enrique Heliodoro (1664 intervenciones) el 26/06/2015 13:53:35
Un campo 'autonumerico' no debería desordenar nada si no se le utiliza como elemento a ordenar, su única misión (para casos como este y similares) seria identificar de forma inequívoca a cada uno de los registros.

Desde el mas absoluto desconocimiento de como se hace lo que se hace (hay millones de forma de hacer lo mismo), cuando tengo problemas similares al planteado no 'ordeno la selección' (considerando 'la selección' al conjunto de registros insertados en la tabla que mas tarde se imprimirá), genero en tiempo de ejecución la SQL que filtrara y ordenara los registros, de forma que 'en la tabla' ya estén ordenados (por ello y continuando con la 'línea lógica' el orden efectuado con uno dos o diez campos coincidirá con el autonumerico).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ordenar por dos campos + imprimir a partir de uno de ellos

Publicado por Braulio (3 intervenciones) el 26/06/2015 14:55:19
Cuando añado ese campo se me desordena todo. Cuando lo vuelvo a ordenar el campo autonumerico se desordena.

Cuando añades un registro el campo autonumerico le da el ultimo numero libre. Cuando se le asignan los valores necesarios para que el orden sea correcto queda el nuevo registro de nuevo en desorden.

Ya lo he intentado muchas gracias por su aportacion.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar