4D v16.3SELECTION RANGE TO ARRAY |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
SELECTION RANGE TO ARRAY
SELECTION RANGE TO ARRAY
SELECTION RANGE TO ARRAY crea uno o más arrays y copia los datos de los campos o números de registro de la selección actual en arrays. A diferencia de SELECTION TO ARRAY, que aplica a la totalidad de la selección actual, SELECTION RANGE TO ARRAY sólo aplica al rango de los registros seleccionados especificados por los parámetros inicio y fin. El comando espera que los números de registro seleccionados pasados en inicio y fin cumplan con la fórmula 1 <= inicio <= fin <= Records in selection ([...]). Si pasa 1 <= inicio = fin < Records in selection ([...]), se cargarán los campos u obtendrá el número de registro del registro cuyo registro seleccionado es inicio = fin. Si pasa números de registros seleccionados incorrectos, el comando hace lo siguiente:
Como SELECTION TO ARRAY, el comando SELECTION RANGE TO ARRAY aplica a la selección de la tabla especificada en el primer parámetro. Al igual que SELECTION TO ARRAY, SELECTION RANGE TO ARRAY también puede realizar las siguientes operaciones:
Cada array se digita de acuerdo al tipo de campo. Cuando aplica SELECTION RANGE TO ARRAY a un campo de tipo Hora, note que creará un array de tipo Hora únicamente si el array no se ha definido como de otro tipo. Por ejemplo, en el siguiente contexto, el array myArray conservará el tipo Entero largo: ARRAY LONGINT(myArray;0) Si carga los números de los registros, se copian en un array de tipo Entero largo. Nota: puede llamar al comando SELECTION RANGE TO ARRAY con sólo los parámetros inicio y fin. Utilice esta sintaxis especial para lanzar, en una selección limitada la ejecución de una serie diferida de comandos SELECTION TO ARRAY utilizando el parámetro * (ver ejemplo 4]). 4D Server: SELECTION RANGE TO ARRAY es optimizado por 4D Server. Cada array se crea en el servidor y luego se envía, en su totalidad, al equipo cliente. Advertencia: SELECTION RANGE TO ARRAY puede crear arrays grandes, dependiendo del rango definido en inicio y fin, y en el tipo y tamaño de los datos a cargar. Los arrays residen en memoria, de manera que es buena idea probar el resultado después de la ejecución del comando. Para hacerlo, pruebe el tamaño de cada array resultante o cubra la llamada al comando, utilizando un método de proyecto ON ERR CALL. Si el comando se ejecuta correctamente, el tamaño de cada array resultante es igual a (fin-inicio)+1, excepto si el parámetro fin es superior al número de registros en la selección. En tal caso, cada array resultante contiene (Registros en selección([...])-inicio)+1 elementos. La siguiente línea de código utiliza los 50 primeros registros de la selección actual de la tabla [Facturas]. Se cargan los valores del campo [Facturas]Facturas ID y del campo relacionado [Clientes]Clientes ID. SELECTION RANGE TO ARRAY(1;50;[Facturas]Facturas ID;alInvoID;[Clientes]Clientes ID;alCustID) Las siguientes líneas de código utilizan los 50 primeros registros de la selección actual de la tabla [Facturas]. Se cargan los números de registro de la tabla [Facturas] así como los de la tabla asociada [Clientes]: lSelTalla:=Records in selection([Facturas]) Las siguiente líneas de código permiten trabajar secuencialmente en porciones de 1 000 registros de una selección grande que no puede descargase en su totalidad en arrays: lMaxPag:=1000 Uso de los 50 primeros registros actuales de la tabla [Facturas] para cargar varios arrays, en ejecución diferida: // Instrucciones diferidas
Ver también
|
PROPIEDADES
Producto: 4D HISTORIA
Creado por: < 4D v6 ARTICLE USAGE
Manual de lenguaje 4D ( 4D v16) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||