dim. 23 mai 2021, 11h17
Jean =c3=a0 Grenoble
atoutfox.public.association
Re: Report avec une table parent et plusieurs tables enfants (4 ou 5)
Bonjour Gregory,
ce n'est pas du tout mon habitude d'utiliser DELETE, SET DELETED ... et surtout
d'effacer des lignes (je suis très conservateur !). Depuis toujours (y compris
dans mes années DBASE3 !), dans chaque table j'ai un champ date (puis datetime)
appelé DATANULMOD et un champ 1 caractère appelé ORGMODIF.
Les lignes valident ont DATANULMOD vide et, a priori, 'C' dans ORGMODIF. Les
indexs filtrent ce champ vide.
Pour modifier une ligne, je met la date de suppression dans DATANULMOD et 'M'
dans orgmodif. Normalement, donc, je dois avoir une nouvelle ligne avec la même
clef mais avec DATANULMOD vide.
Pour supprimer une ligne, je met la date de suppression dans DATANULMOD et 'S'
dans orgmodif. Je ne dois donc pas avoir de nouvelle ligne.
Cela permet des choses comme :
revenir en arrière en cas d'erreur.
voir l'historique des modifications.
purger les lignes obsolètes trop vieilles (et encore là, je ne supprime pas
les lignes mais je les transfert dans une table ayant le même nom que la table
courante mais avec '_old' à la fin du nom !).
exporter les tables vers PostGre sans modification.
Donc, je n'ai pas trop percuté sur ton message à part mettre ce DELETED() dans
une requête sur une seule table.
Damonzon, Gregory est à VFP ce que Dieu est à l'humanité !! S'il dit de mettre
SET DELETED ON, c'est qu'il faut le faire ;-)
Bon week-end à tous
Jean à Grenoble
Permalink : http://www.atoutfox.org/nntp.asp?ID=0000019849