4D v16.3SELECTION RANGE TO ARRAY |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
SELECTION RANGE TO ARRAY
SELECTION RANGE TO ARRAY
SELECTION RANGE TO ARRAY cria um ou mais arrays e copia os dados dos campos ou números de registro da seleção atual para os arrays. Ao contrário SELECTION TO ARRAY, que se aplica à seleção atual em sua totalidade, SELECTION RANGE TO ARRAY só se aplica ao conjunto de registros selecionados especificado por parâmetros início e fim. O comando espera que você passe no início e no final os números de registros selecionados em conformidade com a fórmula 1 <= inicio <= fim <= Records in selection ([...]).. Se você passar 1 <= início = fim< Records in selection ([...]), você vai carregar campos ou obter o número do registro cujo registro selecionado é início = fim. Se você passar números incorretos de registros selecionados, o comando faz o seguinte:
Como SELECTION TO ARRAY, o comando SELECTION RANGE TO ARRAY aplica-se à seleção para o quadro especificado no primeiro parâmetro. Também como SELECTION TO ARRAY, SELECTION RANGE TO ARRAY pode realizar o seguinte:
Cada array é digitado de acordo com o tipo de campo. Há duas exceções: Quando aplica SELECTION RANGE TO ARRAY a um campo de tipo Hora, note que criará um array de tipo Hora unicamente se o array não foi definido como de outro tipo. Por exemplo, no seguinte contexto, o array myArray conservará o tipo Inteiro longo: ARRAY LONGINT(myArray;0) Se você carregar um número de registros, eles são copiados para um array Inteiro longo. Nota: Você pode chamar o comando SELECTION RANGE TO ARRAY apenas com os parâmetros início e fim. Esta sintaxe especial possa ser usado para lançar, em uma seleção limitada, a execução de uma série de comandos SELECTION TO ARRAY usando o parâmetro * (ver exemplo 4]). 4D Server: SELECTION RANGE TO ARRAY é otimizado para 4D Server. Cada array é criado no servidor e, em seguida, enviado, na sua totalidade, para a máquina cliente. Atenção: SELECTION RANGE TO ARRAY pode criar arrays de grande porte, dependendo da faixa que você especificar no início e fim, e sobre o tipo e o tamanho dos dados que você está carregando. Arrays residem na memória, então é uma boa idéia testar o resultado depois que o comando seja concluído. Para fazer isso, teste o tamanho de cada array resultante ou cubra a chamada para o comando, utilizando um método de projeto ON ERR CALL. Se o comando for bem sucedido, o tamanho de cada matriz resultante é igual a (fim-inicio)+1, exceto se o parâmetro fim excedeu o número de registros da seleção. Nesse caso, cada array resultante contém (Registros em seleção([...])-inicio)+1 elementos. O código a seguir endereça os 50 primeiros registros da seleção atual para a tabela [Faturas]. Ele carrega os valores do campo [Faturas]Fatura ID e de [Clientes]Cliente ID do campo relacionado. SELECTION RANGE TO ARRAY(1;50;[Faturas]Faturas ID;alInvoID;[Clientes]Clientes ID;alCustID) O código a seguir endereça os últimos 50 registros da seleção atual para a tabela [Faturas]. Ele carrega os números de registro da tabela [Faturas], bem como as do registros relacionados de [Clientes]: lSelTam:=Records in selection([Faturas]) O seguinte processo de código seqüencial divice em "pedaços" de 1.000 registros, uma seleção que não podia ser baixada na íntegra em arrays: lMaxPag:=1000 Use os 50 primeiros registros atuais da tabela [facturas] para carregar vários arrays, em execução diferida: // Instruções diferidas
Ver também
|
PROPRIEDADES
Produto: 4D HISTÓRIA
Criado por: < 4D v6 ARTICLE USAGE
Manual de linguagem 4D ( 4D v16) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||