4D v16.3ORDER BY |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
ORDER BY
ORDER BY
ORDER BY ordena (reordena) los registros de la selección actual de tabla para el proceso actual. Una vez efectuada la ordenación, el primer registro de la nueva selección actual se convierte en el registro actual. Si omite el parámetro tabla, el comando se aplica a la tabla por defecto, si se ha definido una tabla por defecto. Si no 4D utiliza la tabla del primer campo pasado como parámetro. Si no pasa un parámetro y si no se ha definido una tabla por defecto, se devuelve un error. Si no especifica el parámetro campo, ni los parámetros > o < o, ORDER BY muestra la caja de diálogo Ordenar de 4D para tabla. Esta es la caja de diálogo del editor: Para mayor información sobre la utilización de este editor, consulte el Manual de diseño de 4D. Si especifica los parámetros unCampo y > o <, la caja de diálogo estándar de Ordenar no se muestra y la ordenación se define por programación. Puede ordenar la selección en un nivel o en varios niveles. Para cada nivel de clasificación, se especifica un campo en unCampo y el orden de clasificación en > o <. Si pasa el símbolo "mayor que" (>), el orden es ascendente. Si pasa el símbolo "menor que" (<), el orden es descendente. Si sólo se especifica un campo (ordenación de un nivel) y se indexa, se utiliza el índice para el orden. Si el campo no está indexado o si hay más de un campo, el orden se ejecuta secuencialmente (excepto en el caso de índices compuestos). El campo puede pertenecer a la tabla de la selección que está siendo reordenada o a una tabla 1 relacionada con tabla por una relación automática. En este caso, el orden es siempre secuencial. Para ordenaciones múltiples (ordenar en varios campos), puede llamarORDER BY tantas veces como sea necesario y especificar el parámetro opcional *, excepto para la última llamada ORDER BY, que inicia la operación de ordenación real. Esta funcionalidad es útil para la gestión de ordenaciones multicriterios en interfaces de usuario personalizadas. No importa cómo se haya definido una ordenación, si la operación de ordenación real va a tomar algún tiempo para realizarse, 4D muestra automáticamente un mensaje que contiene un termómetro de progreso. Estos mensajes se pueden activar y desactivar utilizando los comandos MESSAGES ON y MESSAGES OFF. Si se muestra el termómetro de progreso, el usuario puede hacer clic en el botón Detener para interrumpir la ordenación. Si la ordenación se realiza correctamente, la variable OK toma el valor 1. Si el usuario hace clic en Cancelar, ORDER BY termina sin efectuar la ordenación, y la variable OK toma el valor 0 (cero). Nota: este comando no soporta campos de tipo Objeto. El siguiente ejemplo muestra la caja de diálogo Ordenar para la tabla [Productos]: ORDER BY([Productos]) El siguiente ejemplo muestra la caja de diálogo Ordenar para la tabla por defecto (si ha sido definida): ORDER BY El ejemplo siguiente ordena la selección actual de [Productos] por nombre en orden ascendente: ORDER BY([Productos];[Productos]Nombre;>) El siguiente ejemplo ordena la selección actual de [Productos] por nombre en orden descendente: ORDER BY([Productos];[Productos]Nombre;<) La línea siguiente ordena la selección de [Productos] por tipo y precio en orden ascendente para ambos niveles: ORDER BY([Productos];[Productos]Tipo;>;[Productos]Precio;>) El siguiente ejemplo ordena la selección actual de [Productos] por tipo y precio en orden descendente para ambos niveles: ORDER BY([Productos];[Productos]Tipo;<;[Productos]Precio;<) El siguiente ejemplo ordena la selección actual de [Productos] por tipo en orden ascendente y por precio en orden descendente: ORDER BY([Productos];[Productos]Tipo;>;[Productos]Precio;<) El siguiente ejemplo ordena la selección actual de [Products] por tipo en orden descendente y por precio en orden ascendente: ORDER BY([Products];[Products]Type;<;[Products]Price;>) El siguiente ejemplo efectúa una ordenación indexada si el campo [Productos]Nombre está indexado: ORDER BY([Productos];[Productos]Nombre;>) El siguiente ejemplo ordena la selección actual de [Products] por nombre en orden ascendente: ORDER BY([Products];[Products]Name El siguiente ejemplo efectúa una ordenación secuencial, sin importar si los campos están indexados: ORDER BY([Productos];[Productos]Tipo;>;[Productos]Precio;>) La siguiente línea realiza una ordenación secuencial utilizando un campo relacionado: SET FIELD RELATION([Employee]Company_ID;Automatic;Do not modify) El siguiente ejemplo realiza una ordenación indexada en dos niveles si un índice compuesto [Contacts]LastName + [Contacts]FirstName cse ha especificado en la base: ORDER BY([Contacts];[Contacts]LastName;>;[Contacts]FirstName;>) En un formulario de salida mostrado en modo Aplicación, usted le permite a los usuarios ordenar una columna en orden creciente simplemente haciendo clic en el encabezado de la columna. Si el usuario mantiene presionada la tecla Mayús mientras hace clic en otros encabezados de columnas, la ordenación se lleva a cabo en varios niveles: Cada encabezado de columna contiene un botón resaltado asociado con el siguiente método de objeto: MULTILEVEL(->[CDs]Title) `Botón del encabezado de la columna título Cada botón llama al método de proyecto MULTINIVEL con un puntero al campo de la columna correspondiente. El método proyecto MULTINIVEL es el siguiente: ` Método proyecto MULTINIVEL
Ver también
|
PROPIEDADES
Producto: 4D HISTORIA
Modificado: 4D v11 SQL ARTICLE USAGE
Manual de lenguaje 4D ( 4D v16) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||