4D v14

Seleção atual

Página Inicial

 
4D v14
Seleção atual

Seleção atual    


 

 



Além das manipulações explicadas no vídeo, também deve notar que:

O seguinte diagrama ilustra como funciona 4D, em outras palavras o modo SELECTION-ACTION:

O conceito de seleção atual é uma das noções fundamentais de 4D que é um pouco diferente aos conceitos habituais, especialmente em SQL.

Uma seleção atual é uma lista de registros obtida por uma pesquisa em uma tabela (equivalente à cláusula WHERE em SQL)

Em 4D, temos continuamente uma seleção atual por tabela. Esta seleção pode conter de 0 a X registros.

A seleção atual consiste da lista de registros na qual realizaremos os processos. Pode mudar a seleção atual entre dois processos.

O código a continuação corresponde ao exercício realizado neste vídeo (2 linhas de declarações de variáveis simples se adicionam na 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) // temos a lista de intervenções do técnico em memória
    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 o tamanho dos arrays antes de fazer o loop e atribuir um valor para a variável $Index durante o processo (o que nos leva a descobrir a função Selected record number), pode utilizar o comando APPEND TO ARRAY.

 
 

 
PROPRIEDADES 

Produto: 4D
Tema: Seleção atual

 
ARTICLE USAGE

Autoformação ( 4D v13)
Autoformação ( 4D v14)