Bonjour à tous,
kz = dthz << get rows where( Is Missing( :USL ) & Is Missing( :LSL ) );
dthz << delete rows( kz );
dthz << New Column( "FAIx", "character" );
dthz << begin data update;
dthz:FAIx << set formula( If( Col Number( :FAI#, :FAI# ) > 1, :FAI# || "_" || Char( Col Rank( :FAI#, :FAI# ) ), :FAI# ) );
dthz << end data update;<BR />
Wait( 1 );//have to add
dt2 = dt1 << Join(
With( dthz ),
Select( all ),
SelectWith( :FAIx ),
By Matching Columns( :FAI# = :FAI#,:USL = :USL, :LSL = :LSL ),
Drop multiples( 0, 0 ),
Include Nonmatches( 1, 0 ),
Preserve main table order( 1 ),
Output Table( "221" ),
invisible
);
wait(1);
Le code suivant, avant et après l'ajout de wait() pour s'exécuter normalement ; sinon le dos de la jointure cette instruction sera liée à la table vide rapportée erreur, disant que c'est vide, quelle est la raison ah, parfois normal, la plupart du temps la table vide.
Les formules ont besoin de temps pour terminer l'évaluation et peut-être que la fin de la mise à jour des données ne force pas l'attente de l'évaluation. Habituellement, vous voulez utiliser << Exécuter des formules si vous souhaitez attendre la fin de l'évaluation de la formule au lieu de wait(). Dans d'autres cas (pas de formules), la plupart du temps, en utilisant attendre(0) est assez