4D v16.3

APPLY TO SELECTION

Página Inicial

 
4D v16.3
APPLY TO SELECTION

APPLY TO SELECTION 


 

APPLY TO SELECTION ( tabela ; formula ) 
Parâmetro Tipo   Descrição
tabela  Tabela in Tabela na qual vai aplicar a fórmula ou Tabela por padrão, se omitida
formula  Instrução in Uma linha de código ou um método

APPLY TO SELECTION  aplica formula a cada registro da seleção atual de tabela. A fórmula pode ser uma linha de instruções ou um método. Se formula modifica um registro de tabela, o registro modificado é salvado. Se fórmula não modifica um registro, o registro não é salvado. Se a seleção atual estiver vazia, APPLY TO SELECTION não tem efeito. Se a relação for automática, a fórmula pode conter um campo de uma tabela relacionada.

APPLY TO SELECTION pode ser utilizado para reunir informação da seleção de registros (por exemplo, cálculo de um total), ou para modificar uma seleção (por exemplo, passando a maiúscula a primeira letra de um campo). Se este comando for utilizado dentro de uma transação, todas as mudanças podem ser desfeitas se a transação for cancelada.

4D Server: o servidor não executa nenhum dos comandos que são passados em formula. Cada registro da seleção será enviado a máquina cliente para ser modificada.

Um termômetro de progressão é mostrado enquanto é executado APPLY TO SELECTION. Para ocultá-lo, utilize MESSAGES OFF antes de chamar a APPLY TO SELECTION. Se o termômetro de progresso é mostrado, o usuário pode cancelar a operação.

O exemplo a seguir muda maiúsculas todos os nomes na tabela [Empregados]:

 APPLY TO SELECTION([Empregados];[Empregados]Sobrenome:=Uppercase([Empregados]Sobrenome))

Se um registro estiver bloqueado durante a execução de APPLY TO SELECTION e esse registro é modificado, o registro não será guardado. Todos os registros bloqueados que são encontrados são colocados em um conjunto chamado LockedSet. Depois de executar APPLY TO SELECTION, é recomendável testar LockedSet para verificar se houver registros bloqueados. O seguinte loop é executado até que todos os registros tenham sido modificados:

 Repeat
     APPLY TO SELECTION([Empregados];[Empregados]Sobrenome:=Uppercase([Empregados]Sobrenome))USE SET("LockedSet") ` Seleção de registros bloqueados unicamente
     Until(Records im set("LockedSet")=0) ` Até que não haja registros bloqueados


Este exemplo utiliza um método:

 ALL RECORDS([Empregados])
 APPLY TO SELECTION([Empregados];M_Cap)

Se o usuário clicar no botão Deter no termômetro de progressão, a variável sistema OK assume o valor 0. Do contrário, assume o valor 1.



Ver também 

Conjuntos
EDIT FORMULA

 
PROPRIEDADES 

Produto: 4D
Tema: Seleção
Número 70

Este comando modifica a variável sistema OKEste comando modifica o conjunto sistema LockedSetThis command can be run in preemptive processesComportamento diferente em modo remoto

 
HISTÓRIA 

Modificado: 4D v11 SQL

 
ARTICLE USAGE

Manual de linguagem 4D ( 4D v16)
Manual de linguagem 4D ( 4D v16.1)
Manual de linguagem 4D ( 4D v16.2)
Manual de linguagem 4D ( 4D v16.3)