var i,j,bl,tc: integer;
begin
with query2 do
begin
close;
sql.Clear;
sql.add('select sfy,count(*) zhs,sum(yjje) yjje,sum(byss) sszs,round(sum(byss)/sum(yjje)*100) bl from t_yh_qfxx_back where cbyf='''+combobox1.text+''' group by sfy');
open;
first;
while not eof do
begin
bl:=fieldbyname('bl').asinteger;
if 80<bl<85 then 到这里就开始报错
begin
for (i=80,j=85,i++)
tc:=500+(i-80)*40;
end;
if (bl>85 and bl<90) then
begin
for (i=85,j=90,i++)
begin
tc:=700+(i-85)*60;
end;
end;
if bl>90 then
begin
for (i=90,j=100,i++)
tc:=1000+(i-90)*100;
end;
end;
end;
end.我是菜鸟,有大虾知道的,请告诉我,谢谢!!!
begin
with query2 do
begin
close;
sql.Clear;
sql.add('select sfy,count(*) zhs,sum(yjje) yjje,sum(byss) sszs,round(sum(byss)/sum(yjje)*100) bl from t_yh_qfxx_back where cbyf='''+combobox1.text+''' group by sfy');
open;
first;
while not eof do
begin
bl:=fieldbyname('bl').asinteger;
if 80<bl<85 then 到这里就开始报错
begin
for (i=80,j=85,i++)
tc:=500+(i-80)*40;
end;
if (bl>85 and bl<90) then
begin
for (i=85,j=90,i++)
begin
tc:=700+(i-85)*60;
end;
end;
if bl>90 then
begin
for (i=90,j=100,i++)
tc:=1000+(i-90)*100;
end;
end;
end;
end.我是菜鸟,有大虾知道的,请告诉我,谢谢!!!
应该是这句出现错误了,可能是能不到值,你用showmessage把它的值报出来看看,是不是你想要的你就知道了
改成:
var i:integer;
var j:integer;
var b1:integer;
var tc:integer;
就可以了
//这句话明显出错,改为
if(b1>80) and (b1<85) then
-----------------------------------------------
if (80<bl) and (b1<85) then
if bl>80 and bl<85 then
for (i=80,j=85,i++)不是DELPHI的语法..