4D v14

Selección actual

Inicio

 
4D v14
Selección actual

Selección actual    


 

 

I

Además de las manipulaciones explicadas en el vídeo, también debe notar que:  

El siguiente diagrama ilustra cómo funciona 4D, en otras palabras el modo SELECTION-ACTION:

El concepto de selección actual es una de las nociones fundamentales de 4D que es un poco diferente a los conceptos habituales, especialmente en SQL.

Una selección actual es una lista de registros obtenida por una búsqueda en una tabla (equivalente a la cláusula WHERE en SQL)

En 4D, tenemos continuamente una selección actual por tabla. Esta selección puede contener de 0 a X registros.

La selección actual consiste de la lista de registros en la cual realizaremos los procesos. Puede cambiar la selección actual entre dos procesos.

El código a continuación corresponde al ejercicio realizado en este vídeo (2 líneas de declaraciones de variables simples se añaden en la parte superior):

 C_DATE($StartYear;$EndYear)
 C_LONGINT($Year)
 
 $Year:=2011
 $StartYear:=Date("01/01/"+String($Year))
 $EndYear:=Add to date($StartYear;1;0;-1)
 
 ALL RECORDS([Technicians])
 $Num:=Records in selection([Technicians])
 
 ARRAY TEXT(ArrTechnicians;$Num)
 ARRAY LONGINT(Arr_NumInterventions;$Num)
 
 FIRST RECORD([Technicians])
 While(Not(End selection([Technicians])))
    QUERY([Interventions];[Interventions]echnician_Initials=[Technicians]ID) // tenemos la lista de intervenciones del técnico en memoria
    QUERY SELECTION([Interventions];[Interventions]Intervention_Date>=$StartYear;*)
    QUERY SELECTION([Interventions];&;[Interventions]Intervention_Date<=$EndYear)
 
    $Index:=Selected record number([Technicians])
    ArrTechnicians{$Index}:=[Technicians]LastName
    Arr_NumInterventions{$Index}:=Records in selection([Interventions])
 
    NEXT RECORD([Technicians])
 End while

Para evitar definir el tamaño de los arrays antes de efectuar el bucle y asignar un valor a la variable $Index durante el proceso (lo que nos lleva a descubrir la función Selected record number), puede utilizar el comando APPEND TO ARRAY.

 
 

 
PROPIEDADES 

Producto: 4D
Tema: Selección actual

 
ARTICLE USAGE

Autoformación ( 4D v13)
Autoformación ( 4D v14)