Bonjour,
Je rencontre un petit soucis que j'ai réussi à contourner mais je ne comprend pas pourquoi et c'est bien ça qui me chagrinne.
J'ai un TADOQuery avec CursorLocation positionné à clUseServeur car beaucoup de données. Pour le CursorType, quelque soit le paramétrage initial, il me le positionne à ctStatic
Je défini une requete initiale :
En fonction des paramètres de sélection , je complète ma clause Where en faisait
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Select cod_four , reference , designation from tbl_article where date_annulation is null and cod_four>='''' and reference>='''' order by cod_soc,cod_four,reference
et en fonction d'un autre paramétrage, je complète avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part Query.sql|1] := Query.Sql[1] + '((cod_four >= ''ABE'' and reference >= ''000081'')'
J'obtiens au final la requete suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part Query.sql|1] := Query.Sql[1] + 'or ( cod_four > ''ABE''))'
Quand j'ouvre la requête un première fois, pas de soucis mais que je la relance avec le mécanisme de construction de la requête, j'ai une erreur SBookmarksRequired
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Select cod_four , reference , designation from tbl_article where date_annulation is null and cod_four>='''' and reference>='''' and ((cod_four >= ''ABE'' and reference >= ''000081'')or ( cod_four > ''ABE'')) order by cod_soc,cod_four,reference
En revanche, si je met directment la requête complète dès le début, je n'ai pas de soucis.
Quelqu'un aurait-il une idée sur la différence de comportement ?
Partager