Bonjour,
cela ne répondra pas à la question de l'argument hors limite mais je trouve que le code peut se simplifier .
Assurez vous quand même que la requête n'est pas active dans l'ide !
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| procedure TFProduction.FormCreate(Sender: TObject);
begin
with FData, QRequête_op_dispo do
begin
try
Close; // du fait que c'est dans le ONcreate de la forme est-ce bien utile ?
Open;
except // trapper l'erreur permettra de savoir si cela vient du sql
on e:Exception do
showmessage(e.message);
end;
if RecordCount = 0 then
//begin
// first; inutile car après un open , toujours sur le premier
// end
//else
begin
ShowMessage('Liste ordre de production vide,L''application va s''arréter');
Application.Terminate;
end;
end;
Modesaisiedeproduction1.items[0].checked:=True;
Modesaisiedeproduction1.items[1].checked:=False;
end; |
le sql aussi , la clause where a beaucoup trop de () à mon goût
WHERE ordre_production.achevement_op=0
fera pareil .
autre chose , n'ayant pas une confiance excessive je préfère tester sur un champ obligatoire non null
(genre if fieldbyname('macle').isnull then)
Partager