4D v16.3

APPLY TO SELECTION

Inicio

 
4D v16.3
APPLY TO SELECTION

APPLY TO SELECTION 


 

APPLY TO SELECTION ( tabla ; formula ) 
Parámetro Tipo   Descripción
tabla  Tabla in Tabla en la cual aplicar la fórmula o Tabla por defecto, si se omite
formula  Instrucción in Línea de código o método

APPLY TO SELECTION aplica formula a cada registro de la selección actual de tabla. La formula puede ser una línea de instrucciones o un método. Si formula modifica un registro de tabla, el registro modificado se guarda. Si formula no modifica un registro, el registro no se guarda. Si la selección actual está vacía, APPLY TO SELECTION no tiene efecto. Si la relación es automática, la formula puede contener un campo de una tabla relacionada.

APPLY TO SELECTION puede ser utilizado para reunir información de la selección de registros (por ejemplo, cálculo de un total), o para modificar una selección (por ejemplo, pasando a mayúscula la primera letra de un campo). Si este comando se utiliza dentro de una transacción, todos los cambios pueden deshacerse si la transacción se cancela.

4D Server: el servidor no ejecuta ninguno de los comandos que se pasen en formula. Cada registro de la selección será enviado al equipo cliente para ser modificado.

Un termómetro de progresión se muestra mientras se ejecuta APPLY TO SELECTION. Para ocultarlo, utilice MESSAGES OFF antes de llamar a APPLY TO SELECTION. Si el termómetro de progreso se muestra, el usuario puede cancelar la operación.

El siguiente ejemplo cambia a mayúsculas todos los nombres en la tabla [Empleados]:

 APPLY TO SELECTION([Empleados];[Empleados]Apellido:=Uppercase([Empleados]Apellido))

Si un registro está bloqueado durante la ejecución de APPLY TO SELECTION y ese registro se modifica, el registro no se guardará. Todos los registros bloqueados que se encuentren se colocan en un conjunto llamado LockedSet. Después de ejecutar APPLY TO SELECTION, es recomendable probar LockedSet para verificar si hay registros bloqueados. El siguiente bucle se ejecuta hasta que todos los registros hayan sido modificados:

 Repeat
    APPLY TO SELECTION([Empleados];[Empleados]Apellido:=Uppercase([Empleados]Apellido))
    USE SET("LockedSet") ` Selección de registros bloqueados únicamente
 Until(Records in set("LockedSet")=0) ` Hasta que no haya registros bloqueados

Este ejemplo utiliza un método:

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

Si el usuario hace clic en el botón Detener en el termómetro de progresión, la variable sistema OK toma el valor 0. De lo contrario, toma el valor 1.



Ver también 

Conjuntos
EDIT FORMULA

 
PROPIEDADES 

Producto: 4D
Tema: Selecciones
Número 70

Este comando modifica la variable sistema OKEste comando modifica el conjunto sistema LockedSetThis command can be run in preemptive processesComportamiento diferente en modo remoto

 
HISTORIA 

Modificado: 4D v11 SQL

 
ARTICLE USAGE

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