4D v14

Sélection courante

Accueil

 
4D v14
Sélection courante

Sélection courante    


 

 

En complément des manipulations expliquées dans la vidéo, il faut noter que :  

Le schéma ci-dessous représente la manière donc 4D fonctionne, c’est à dire le mode SELECTION-ACTION :

La notion de Sélection courante est une des notions fondamentales de 4D qui, bien qu’évidente, diffère quelque peu des concepts habituels notamment en SQL.

Une sélection courante est une liste de numéros d'enregistrements obtenue par une recherche sur une table (équivalent de la clause WHERE du SQL)

Ainsi dans 4D, nous avons en permanence une sélection courante par table qui peut contenir de 0 à N enregistrements.

C'est sur cette sélection courante que vont s’appliquer les traitements à venir., On peut changer de sélection courante entre deux traitements.


Le programme ci-dessous correspond à l'exercice réalisé dans cette vidéo (les 2 lignes de déclarations de variables simples sont ajoutées en tête)


 C_DATE($DebutAnnee;$FinAnnee)
 C_ENTIER LONG($Annee)
 
 $Annee:=2011
 $DebutAnnee:=Date("01/01/"+Chaine($Annee))
 $FinAnnee:=Ajouter a date($DebutAnnee;1;0;-1)
 
 TOUT SELECTIONNER([Techniciens])
 $Nb:=Enregistrements trouves([Techniciens])
 
 TABLEAU TEXTE(TabTechniciens;$Nb)
 TABLEAU ENTIER LONG(Tab_NbInterventions;$Nb)
 
 DEBUT SELECTION([Techniciens])
 Tant que(Non(Fin de selection([Techniciens])))
    CHERCHER([Interventions];[Interventions]Initiales_Technicien=[Techniciens]ID) // nous avons en mémoire la liste des interventions du technicien.
    CHERCHER DANS SELECTION([Interventions];[Interventions]Date_Intervention>=$DebutAnnee;*)
    CHERCHER DANS SELECTION([Interventions];&;[Interventions]Date_Intervention<=$FinAnnee)
 
    $Indice:=Numero dans selection([Techniciens])
    TabTechniciens{$Indice}:=[Techniciens]Nom
    Tab_NbInterventions{$Indice}:=Enregistrements trouves([Interventions])
 
    ENREGISTREMENT SUIVANT([Techniciens])
 Fin tant que


Pour éviter de définir la taille des tableaux avant d'effectuer la boucle et de valoriser la variable $Indice en cours de traitement (ce qui nous a permis de découvrir la fonction Numéro dans sélection, il est possible d'utiliser le commande AJOUTER A TABLEAU

 
 

 
PROPRIÉTÉS 

Produit : 4D
Thème : Sélection courante
Nom intl. : Current selection

 
UTILISATION DE L'ARTICLE

Autoformation ( 4D v13)
Autoformation ( 4D v14)