Access. Mostrar datos en consultas rotatoriamente

Hola, muy buenas, me llamo Mikel.
Te quería preguntar a ver si sabes cómo hacer que los registros devueltos por una consulta vayan rotando cada vez que ésta se ejecuta (cambien de orden de forma ordenada, rotatoria).
Es decir, si la tabla original tiene 12345, quiero que al ejecutar la consulta (en Internet), el orden de datos presentados pase a ser: 23451, en la siguiente ocasión 34512, etc. Hasta que, una vez completado todo el orden vuelva a empezar.
Ahora mismo devuelve un orden determinado, siempre el mismo, y yo quiero que roten.
¿Se pude hacer generando alguna expresión en particular? ¿O merece la pena hacer directamente una instrucción en la vista SQL? (Yo no tengo ni idea de programación, por eso preferiría aprender a hacerlo en la vista diseño de la consulta -con el generador de expresiones, etc-).
Si sabes cómo hacerlo, te agradecería me lo dijeras (o igual ni siquiera se puede hacer).
Muchas gracias por tu tiempo. Recibe un abrazo desde Navarra (España).
--
Me permito copiarte el código SQL (de la respectiva vista de la consulta Access), por si te sirviera de algo:
SELECT FACTURACION.Cliente, FACTURACION.Banner, FACTURACION!Alta+365 AS Baja, FACTURACION.Url, FACTURACION.Primera, FACTURACION.Castillos, FACTURACION.Piromusicales, FACTURACION.Piroacuaticos, FACTURACION.Mascletaes, FACTURACION.Toros, FACTURACION.Infantil, FACTURACION.Tiendas, FACTURACION.Clase3, FACTURACION.Especiales, FACTURACION.Magia, FACTURACION.Dimonis, FACTURACION.Teatro, FACTURACION.Luminarias, FACTURACION.Importadores, FACTURACION.Exportadores, FACTURACION.Materias, FACTURACION.Tecnologia, FACTURACION.Busqueda, FACTURACION.Agenda, FACTURACION.Contacto, FACTURACION.Personas
FROM FACTURACION
WHERE ((([FACTURACION]![Alta]+365)>=Now()));

1 respuesta

Respuesta
1
La verdad he leído y releído tu pregunta y no la entiendo bien. ¿Necesitas qué la columna No.1 pase a ser la No.2 y esta la No.3 y así sucesivamente? ¿Necesitas qué el valor de un campo específico cambie?
Hola gajimenb:
Gracias por adelantado. Es verdad que la explicación no era muy buena.
Ahí voy:
- Tengo tablas y una consulta que devuelve unos registros si éstos cumplen unas cláusulas (como pasa en cualquier consulta). Resulta que, entre otras, me devuelve estas columnas:
Factura - cliente - banner - fecha de baja
1 Fulano A 2002/09/01
2 Mengano B 2002/10/31
3 Zutano C 2003/08/29
La consulta me devuelve los datos en este orden (ordenado por los datos de la columna FECHA DE BAJA). Yo quiero que cada vez que la consulta se ejecute (cada vez que se abra), todos los datos roten, quedando de la siguiente manera:
FACTURA - CLIENTE - BANNER - FECHA DE BAJA
2 Mengano B 2002/10/31
3 Zutano C 2003/08/29
1 Fulano A 2002/09/01
Y la próxima vez que se abra/ejecute la consulta quiero que los datos se presenten así:
FACTURA - CLIENTE - BANNER - FECHA DE BAJA
3 Zutano C 2003/08/29
1 Fulano A 2002/09/01
2 Mengano B 2002/10/31
Si la consulta se abre/ejecuta de nuevo quiero que de nuevo vuelva a ser como al principio (123)y así sucesivamente:
FACTURA - CLIENTE - BANNER - FECHA DE BAJA
1 Fulano A 2002/09/01
2 Mengano B 2002/10/31
3 Zutano C 2003/08/29
,
2
3
1
,
3
1
2
,
etc.
¿Sabes cómo poder hacerlo generando alguna expresión -con el generador de expresiones en consultas de Access- que realice este cambio de orden rotatorio y sin fin? ¿Y con alguna cláusula en SQL?
Me interesaría que fuese algo que se pueda hacer sólo con Access. Vamos que si te llevas la base de datos a otro ordenador el "invento" éste siga funcionando.
Agradecido de antemano por tu tiempo, recibe un SALUDO !
Mikel.
PD: el código en vista SQL de mi consulta actual es éste (y no el que te dí antes):
SELECT FACTURACION.Cliente, FACTURACION.VIP, FACTURACION.Servicios, FACTURACION!Alta+365 AS Baja, FACTURACION.Banner, FACTURACION.Url
FROM FACTURACION
WHERE ((([FACTURACION]![Alta]+365)>=Now()));
Ahora si nos vamos entendiendo! Bueno la verdad no creo que exista una forma directa de hacer lo que solicitas ya que me parece imposible ordenar un campo 123, y luego que lo ordene 231, ya que ahí no hay ningún orden realmente. De seguro puedo armar algún programa que haga lo que tu deseas, pero en primera tendrías que abrir la consulta desde algún evento previo (como dar clic en un botón por ejemplo) y segundo de seguro correría en cualquier computador, pero es posible que al menos la primera vez que corras el programa tendrías que activar una librería. Si te sirve así respóndeme de nuevo y con mucho gusto te ayudo.
Gajimenb
Ufff, estimado GAJIMENB, demasiado lío porque el sistema tiene que funcionar en Internet y eso de botones que se activen, librerías... Gracias por tu preocupación pero no me sirve del todo, aunque puntúo tus ganas y tu dedicación a esta pregunta. Un saludo !

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas