有三个窗体分别放置了一个dbgird   建立了一个数据模块  里面有个adoconnection   adotable  datasource
adoconnection连接数据库   adotable连adoconnection     datasource连adotable(adotable的tablename没设置) 废话说w完了
然后没个窗体点开后都先执行如下代码
procedure TgradeF.FormCreate(Sender: TObject);       gradef是三个窗体名字中一个  其他类似
begin
 dbm.ADOTable1.Active:=false;                 dbm是数据模块的名字
dbm.ADOTable1.TableName:='会员等级';        会员等级是数据库的其中一个表(三个窗体对应三个不同的表)
  dbm.ADOTable1.Active:=true;              
end;现在运行后无论先开哪个窗体   都能正常显示  但是点击返回后   在此点击  无论是三个窗体中的哪个  都不会显示任何数据   请教这是为什么  该怎么修改
每个窗口都有个“返回”按钮   begin
gradef.Close; 
mainf.Show;         这三个窗口都是从这个窗体里面的按钮打开
dbm.ADOTable1.Active:=false;
dbm.ADOTable1.TableName:='';
end;该怎么修改   帮帮忙  谢谢了

解决方案 »

  1.   

    procedure TgradeF.FormCreate(Sender: TObject);      gradef是三个窗体名字中一个  其他类似 
    begin 
    dbm.ADOTable1.Active:=false;                dbm是数据模块的名字 
    dbm.ADOTable1.TableName:='会员等级';        会员等级是数据库的其中一个表(三个窗体对应三个不同的表) 
      dbm.ADOTable1.Active:=true;              
    end; 

     要放到procedure TgradeF.Formshow(Sender: TObject);中~~~
          
      

  2.   

    你在关闭窗体时,已经dbm.ADOTable1.Active:=false; 把table关掉了,其它窗体当然没有数据了,因为他们都是公用一个Table的