下面程序是一个查询,首先根据用户选择的'部门',查找到'部门编号',在从'renyuan'库中查出所有属于给部门的员工信息。其中'bumenno1'为变量,是要查找的部门的部门编号,可程序变异通过后,运行实提示‘invaid field name,bumenno1',如果将语句('sele * from renyuan where bumenno=bumenno1');该为('sele * from renyuan where bumenno=1')这运行通过,请问何原因
begin
   with datamodule2.bumentable do
   begin
      active:=true;
      locate('bumenname',combobox1.Text,[lopartialkey]);
      bumenno1:=datamodule2.bumentable.fieldbyname('bumenno').asinteger;
      edit1.Text:=inttostr(bumenno1);
   end;
   with datamodule2.renyuantable do
   begin
   active:=true;
   dbgrid1.DataSource:=datamodule2.queryDS;
   end;   with datamodule2.Query1 do
   begin
   databasename:='laobao';
   datasource:=datamodule2.renyuands;
   close;
   sql.Clear;
   sql.add('select * from renyuan where bumenno=bumenno1');