Je rencontre un problème avec une requête update toute simple :
- Code: Tout sélectionner
UPDATE
BP
SET
FlagImpression = 1
WHERE
BP.CodeClient = {code_client}
AND BP.FlagImpression = 0
Le but de cette requête est de mettre à vrai le booléen FlagImpression de la table BP pour un code client donné et lorsque le booléen est à faux.
Elle est appelée dans le code ci-dessous :
- Code: Tout sélectionner
cc est une chaîne = ""
SI Table_sur_tracabilite_par_code_client.Code_du_client = "" ALORS
Info ("Vous devez d'abord choisir un client")
SINON
cc = Table_sur_tracabilite_par_code_client.Code_du_client
CreeBP (cc)
TableAffiche (Table_sur_tracabilite_par_code_client,taRéExecuteRequete)
iInitRequêteEtat (Etat2)
iAperçu (100)
iImprimeEtat(Etat2)
HExécuteRequête (Requête_update_BP_FlagImpression_a_vrai,hRequêteDéfaut,cc)
HAnnuleDéclaration (Requête_update_BP_FlagImpression_a_vrai)
FIN
Lors du premier appel du code ci-dessus tout fonctionne bien : l'état s'imprime et le champ FlagImpression des enregistrements imprimés est bien passé à 1 (vrai).
Dès le deuxième appel (et pour les suivants), il semble que les enregistrements soient "flagués" avant le lancement de l'impression : message "pas de donnée à imprimer" et dans la table les champs FlagImpression sont bien à vrai.
Ca fait plusieurs heures que je cherche une solution, j'ai de plus en plus l'impression qu'il s'agit d'un bug de windev ...
Merci par avance pour toute aide.

