Bonjour,
dans cette vidéo nous allons apprendre à utiliser des variables et effectuer une programmation simple
En effet, outre l’enregistrement d’informations "brutes", notre base de données doit nous fournir :
- à la fois des informations quantitatives (volumes, prix, totaux)
- et des calculs à la volée en fonction des besoins.
Certaines données devront être conservées et donc stockées dans un champ de la base de données, ce sera le cas par exemple du montant TTC d’un devis ou de la date d'intervention.
D’autres plus volatiles ne nous serviront que durant la session de travail (elle seront perdues à la fin de la session lorsqu’on quittera 4D).
Nous utiliserons des objets de type "variable" dans ce second cas. L’exemple le plus fréquent concerne le nombre d’enregistrements présents dans la liste suite à une recherche.
Comment savoir en effet lorsque nous affichons l'ensemble des interventions combien nous en avons ou suite à une recherche sur l'objet = "Formation" le nombre d'enregistrements que nous avons trouvés.
Pour commencer, nous allons donc indiquer dans une variable le nombre d’enregistrements trouvés dans la table INTERVENTIONS suite à une recherche.
La question à se poser en programmant est : "à quel moment doit se déclencher lecalcul ?".
Dans notre cas, nous considérons qu’il doit se réaliser lorsque l’utilisateur clique sur un des boutons suivants :
Dans tous les autres cas (tri, impression, états, étiquettes, ...), le nombre d’enregistrements ne varie pas, il n’y a donc aucune raison de le recalculer.
Nous allons placer cette variable dans le formulaire navigation en page 0 puisque nous souhaiterons à terme que cette variable serve à afficher le nombre d'enregistrements quelle que soit la table concernée.
donc une fois en page 0 :
- on clique sur l'objet de type variable
- on le trace sous les boutons
- on affiche la liste des propriétés
- le nom de la variable sera vNbRecords
- et on la rend non saisissable.
Ce sera une variable :
- de type numérique
- pour laquelle nous souhaitons un format numérique permettant d'aller jusqu'à 1 milliard
- Les autres propriétés ne nous intéressent pas pour l’instant.
Ensuite nous allons mettre en place la méthode de calcul dans le bouton "Toutes" de la manière suivante :
Donc à l'issue de la commande TOUT SELECTIONNER nous allons demander à ce que vNbRecords soit égal au nombre d'Enregistrements trouvés de la table interventions.
Il est bien évident que ce nombre d'enregistrements sera calculé lorsqu'on travaillera sur la liste des interventions. Et nous ferons le même calcul, qui sera optimisé par la suite, lorsque nous travaillerons sur la table techniciens.
On peut reproduire cette programmation sur le bouton chercher puisque à l'issue de nos recherches sur la table techniciens ou interventions, il faudra recalculer le nombre.
C'est dans un but pédagogique que nous conservons pour l’instant les méthodes dans les objets. Par la suite nous appellerons une autre méthode en lui passant des paramètres.
Nous pouvons maintenant tester la navigation et vérifier :
- lorsqu'on demande "toutes" que le nombre d 'interventions correspond bien à ce que nous avions importé
- idem pour les techniciens.
- Et suite à une rechercher par exemple sur les interventions que nous avons 2346 interventions concernant le matériel
- ou que nous avons 13 interventions réalisées le 10 octobre 2010.