Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com

Inicio

 
4D v20 R7
APPLY TO SELECTION

APPLY TO SELECTION 


 

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

APPLY TO SELECTION aplica sentencia a cada registro de la selección actual de tabla. La sentencia puede ser una línea de instrucciones o un método. Si sentencia modifica un registro de tabla, el registro modificado se guarda. Si sentencia 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 sentencia puede contener un campo de una tabla relacionada.

Atención: los parámetros ($1...$n) no están soportados en la sentencia.

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 sentencia. 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

 
CONTENIDO DE LA PÁGINA 
 
HISTORIA 

Modificado: 4D v11 SQL

 
ARTICLE USAGE

Manual de lenguaje 4D ( 4D v20 R7)