请高手帮我看看下面的程序是那里有问题:他提示[Error] frm_que.pas(935): Assignment to FOR-Loop variable 'q'
的错误信息!说要给q 赋值,但是我是赋了值的啊!有点晕哦!!
sl:=0 ;
zl:=0 ;
for q:=0 to 10 do
begin
adoquery3.Close;
adoquery3.SQL.Clear;
adoquery3.SQL.Text := 'select sum(weight)as weight ,sum(am)as am from SMIS_kc where (Mdate in(SELECT MAX(mdate) FROM smis_bal WHERE mdate <= '''+datetostr(dm1.Date)+''' AND name = '''+sname+''' AND color ='''+co[q]+''' )) and color= '''+co[q]+''' and name='''+sname+'''';
adoquery3.Open;
if adoquery3.FieldByName('am').AsString='''' then
begin
sl1 :=0;
zl1 :=0;
end
else
begin
try
sl1 :=strtofloat(adoquery3.FieldByName('am').AsString);
zl1 :=strtofloat(adoquery3.FieldByName('weight').AsString);
except
sl1 :=0;
zl1 :=0;
end;
end;
sl :=sl+sl1;
zl :=zl+zl1;
q :=q+1;
continue;
end;
的错误信息!说要给q 赋值,但是我是赋了值的啊!有点晕哦!!
sl:=0 ;
zl:=0 ;
for q:=0 to 10 do
begin
adoquery3.Close;
adoquery3.SQL.Clear;
adoquery3.SQL.Text := 'select sum(weight)as weight ,sum(am)as am from SMIS_kc where (Mdate in(SELECT MAX(mdate) FROM smis_bal WHERE mdate <= '''+datetostr(dm1.Date)+''' AND name = '''+sname+''' AND color ='''+co[q]+''' )) and color= '''+co[q]+''' and name='''+sname+'''';
adoquery3.Open;
if adoquery3.FieldByName('am').AsString='''' then
begin
sl1 :=0;
zl1 :=0;
end
else
begin
try
sl1 :=strtofloat(adoquery3.FieldByName('am').AsString);
zl1 :=strtofloat(adoquery3.FieldByName('weight').AsString);
except
sl1 :=0;
zl1 :=0;
end;
end;
sl :=sl+sl1;
zl :=zl+zl1;
q :=q+1;
continue;
end;
for q:=0 to 10 do
begin
q := q+1;
end;for 循环中不能对循环的变量赋值
这里又怎么能改变q的值呢?