Cómo ordenar los registros de dos campos?

Iniciado por karmany, 21 Febrero 2006, 18:37 PM

0 Miembros y 1 Visitante están viendo este tema.

karmany

Hola a todos.
Tengo una base de datos con una tabla: tabla1, en esta tabla sólo he puesto dos campos: referencia1 y referencia2.
referencia1 tiene estos registros: 1,5,15,13
referencia2 tiene estos registros: 2,17,7,22

He accedido a la base de datos mediante un control de datos Data.
Yo lo que he hecho es seleccionar todos los registros de la tabla1 (es decir, todos los registros de los campos referencia1 y referencia2) que comiencen por 1.
Lo he conseguido de este modo: 
   Data1.RecordSource = "SELECT * FROM Tabla1 WHERE referencia2 LIKE '1*' or referencia1 LIKE '1*' "

Pero mi pregunta es: ¿Cómo puedo conseguir ordenar los registros para que se ordenen según he hecho en Data1.RecordSource?

Es decir, si yo tengo un textbox en mi formulario que enlaza a la referencia2 al pasar los registros uno a uno tendría que ver este orden: 2,22,7,17. ¿Entendéis mi pregunta verdad?

Muchísimas gracias por la ayuda.

Ironhorse

Con la clausula ORDER BY campo1, campo2 ...

Data1.RecordSource = "SELECT * FROM Tabla1 WHERE referencia2 LIKE '1*' or referencia1 LIKE '1*' ORDER BY referencia2"
Pégense una vuelta por Cracton :)

karmany

Gracias por la ayuda pero no me vale.
Si lo pongo de esa forma que me dices sólo lo ordena por referencia2, es decir, el resultado final en el textbox si no me equivoco será: 17,2,22,7.

Yo lo que quiero hacer es que lo ordene de forma "global", referencia1 y referencia2 a la vez.

Yo lo que he estado haciendo es ORDER BY referencia1 and referencia2 y he probado muchas combinaciones, utilizando también or, pero no lo consigo, y estoy casi seguro que la solución a mi problema no tiene que ser muy diferente de esto que comento. Pero no lo logro.

Espero que alguien sepa hacerlo..

Ironhorse

La sintaxis de ORDER BY no es con 'AND' o con 'OR',  los campos a ordenar se separan por comas.

Citar
Si lo pongo de esa forma que me dices sólo lo ordena por referencia2, es decir, el resultado final en el textbox si no me equivoco será: 17,2,22,7.

Te devuelve eso si el campo es texto, si es numerico te devuelve 2,7,17,22.

Pégense una vuelta por Cracton :)