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 :
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
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
Query.sql|1] := Query.Sql[1] + '((cod_four >= ''ABE'' and reference >= ''000081'')'
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] + 'or ( cod_four > ''ABE''))'
J'obtiens au final la requete suivante:
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
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
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 ?