此时form_md创建了吗?与form1的创建先后顺序是怎样的?

解决方案 »

  1.   

    先断开连接
    写ConnectionString
    连接
      

  2.   

    把上述代码放在Form1的ONShow事件中。
      

  3.   

    procedure    TForm1.FormCreate(Sender:    TObject);
    var
       dirs:string;
    begin
       dirs:=ExtractFilePath(Paramstr(0));
       Form_md.ADOTable1.close;//加上这句试试
       Form_md.ADOTable1.ConnectionString:=
          'Provider=Microsoft.Jet.OLEDB.4.0;Data    Source='+dirs+'dbfile\sysdb.mdb;Mode=ReadWrite|Share    Deny    None;Persist    Security    Info=False';
          Form_md.ADOTable1.Active:=true;
          end;
      

  4.   

    出现这个问题是因为在Form1发生Create事件时,Form_md还没有被创建,所以建议你把上述代码放在Form1的OnShow事件中,这时Form_md已被创建,并应在ADOTable1的ConnectionString被修改之前保证ADOTable1是关闭的,即Form_md.ADOTable1.Active:=False;