Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
SELECTION TO ARRAY
|
SELECTION TO ARRAY {( campo ; array {; campo ; array {; campo2 ; array2 ; ... ; campoN ; arrayN}}{; *})} | ||||||||
Parámetro | Tipo | Descripción | ||||||
campo | Campo, Tabla |
![]() |
Campo a utilizar para recuperar datos o Tabla a utilizar para recuperar números de registros | |||||
array | Array |
![]() |
Array para recibir valores de campos o números de registros | |||||
campo | Campo |
![]() |
Campo a recuperar en el array | |||||
array | Array |
![]() |
Array que recibe los valores del campo | |||||
* | Operador |
![]() |
Esperar ejecución | |||||
El comando SELECTION TO ARRAY crea uno o más arrays y copia los valores en los campos o los números de registro de la selección actual en los arrays.
El comando SELECTION TO ARRAY se aplica a la selección actual de la tabla designada por el primer parámetro (nombre de tabla o nombre de campo). SELECTION TO ARRAY, puede realizar las siguientes operaciones:
Cada array es definido de acuerdo al tipo de campo.
Cuando aplica SELECTION TO ARRAY a un campo de tipo Hora, es importante notar que sólo crea un array de tipo Hora si el array no se ha definido como de otro tipo. Por ejemplo, en el siguiente contexto, el array myArray permanece como un array de tipo Entero largo:
ARRAY LONGINT(myArray;0)
SELECTION TO ARRAY([myTable]myTimeField;myArray)
Si pasa el parámetro *, 4D no ejecuta inmediatamente la línea de instrucción correspondiente pero la guarda en memoria; de esta forma puede apilar varias líneas que terminen en *. El conjunto de las líneas en espera es ejecutado por una instrucción SELECTION TO ARRAY final sin parámetro *. Por esta razón, ahora el comando puede llamarse sin parámetros. En este caso, los tipos de arrays se verifican al momento de la ejecución de la línea final (sin el parámetro *).
Como para el comando QUERY, este principio permite romper una instrucción compleja en un conjunto de líneas, lo cual es más fácil de leer y mantener. También es posible insertar instrucciones intermedias o crear un array dentro de un bucle (ver el ejemplo 2 del comando ARRAY TO SELECTION).
Advertencia: el comando SELECTION TO ARRAY puede crear arrays grandes, dependiendo del tamaño de la selección actual y del tamaño de los datos a cargar. Los arrays residen en memoria, de tal manera que es una buena idea probar el resultado después de la ejecución del comando. Para hacer esto, pruebe el tamaño de cada array resultante o utilice un método de proyecto ON ERR CALL.
Nota: después de un llamado a SELECTION TO ARRAY, la selección y el registro actual no se modifican, pero el registro actual no se carga. Si necesita utilizar los valores de los campos del registro actual, utilice el comando LOAD RECORD después del comando SELECTION TO ARRAY.
En el siguiente ejemplo, la tabla [Personas] tiene una relación automática con la tabla [Empresas]. Los dos arrays asApellido y asEmpresaDir son dimensionados de acuerdo al número de registros seleccionados en la tabla [Personas] y contienen la información de ambas tablas:
SELECTION TO ARRAY([Personas]Apellido;asApellido;[Empresa]Direccion;asEmpresaDir)
El siguiente ejemplo devuelve el número de registros de la tabla [Clientes] en el array alNumerosRegistros y los valores del campo [Clientes]Nombres en el array asNombres:
SELECTION TO ARRAY([Clientes];alNumerosRegistros;[Clientes]Nombres;asNombres)
El mismo ejemplo puede escribirse:
SELECTION TO ARRAY([Clientes];alNumerosRegistros;*)
SELECTION TO ARRAY([Clientes]Nombres;asNombres;*)
SELECTION TO ARRAY
ARRAY TO SELECTION
CREATE SELECTION FROM ARRAY
MULTI SORT ARRAY
ON ERR CALL
SELECTION RANGE TO ARRAY
SET AUTOMATIC RELATIONS
Producto: 4D
Tema: Arrays
Número
260
Creado por: < 4D v6
Modificado: 4D v13
Manual de lenguaje 4D ( 4D v20 R7)