1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
for i:=1 to Query.FieldByName('nombre').AsInteger do
begin
Query.Active:=False;
Query.SQL.Clear;
Query.SQL.Add('SELECT Test, Result, QC_Lot, Flag FROM qc_res_temp LIMIT '+(intToStr(i))+',1');
Query.Active:=true;
testtemp:=Query.FieldByName('test').AsString;
QC_lottemp:=Query.FieldByName('QC_Lot').AsString ;
Query2.Active:=False;
Query2.SQL.Clear;
Query2.SQL.Text:='UPDATE QC_RES_TEMP' +
' SET FLAG= '+quotedStr('-2SD') +
' WHERE RESULT< (((SELECT MEAN FROM QC_VAL ' +
' WHERE TEST=' +quotedStr(testtemp)+
' AND QCLOT='+quotedStr(QC_lottemp)+ // ça c'est pour récupérer MEAN , le WHERE se fait sur QC_VAL
' ) AND TEST=' +quotedStr(testtemp)+
' AND QC_LOT='+quotedStr(QC_lottemp)+ // ça c'est sur la TABLE QC_RES_TEMP
' )'+
' -2*( SELECT `ETCALC` FROM `qc_val` '+
' WHERE TEST= '+quotedStr(testtemp)+
' AND QCLOT= '+quotedStr(QC_lottemp)+ // ça c'est pour récupérer MEAN , le WHERE se fait sur QC_VAL
' ) AND TEST=' +quotedStr(testtemp)+
' AND QC_LOT='+quotedStr(QC_lottemp)+ // ça c'est sur la TABLE QC_RES_TEMP
')';
Query2.ExecSQL();
end; |