我有两个ACCESS数据库,想对它们的表进行一对多的查询,该如何?
 如:select db_id from build_db where db_name='+#39+'factory'+#39;//记录已经有的企业数
     select * from factory where kind='+#39+'企业'+#39;//查询所有企业数
 由于两个不属于同一数据库内的表,不知如何查询到有哪些记录还没有,请各位指点一下!

解决方案 »

  1.   

    转贴
    访问多个不同的ACCESS数据库-在SQL中使用In子句: 
    Select a.*,b.* From Tab1 a,Tab2 b In 'db2.mdb' Where a.ID=b.ID; 
    上面的SQL语句查询出当前数据库中Tab1和db2.mdb(当前文件夹中)中Tab2以ID为关联的所有记录. 
    缺点-外部数据库不能带密码. 
    补充:看到ugvanxk在一贴中的答复,可以用 
    Select * from [c:\aa\a.mdb;pwd=1111].table1; 
    ACCESS XP测试通过
      

  2.   

    用access新建一个空数据库,然后在菜单选取[ 链接 ],再选不同数据库文件中的表就可以了!
      

  3.   

    回复人: meiqingsong(阿飛) ( ) 信誉:105  2004-10-13 11:56:00  得分: 0  
     
     
       转贴
    访问多个不同的ACCESS数据库-在SQL中使用In子句: 
    Select a.*,b.* From Tab1 a,Tab2 b In 'db2.mdb' Where a.ID=b.ID; 
    上面的SQL语句查询出当前数据库中Tab1和db2.mdb(当前文件夹中)中Tab2以ID为关联的所有记录. 
    缺点-外部数据库不能带密码. 
    补充:看到ugvanxk在一贴中的答复,可以用 
    Select * from [c:\aa\a.mdb;pwd=1111].table1; 
    ACCESS XP测试通过
      
     
    --------------------------------------------------------------学习!
      

  4.   

    //ADOQuery1的connect为'news_mdb.mdb
         with ADOQuery1 do
          begin
          Close;
          prepared:=False;
          SQL.Clear;
          SQL.Text:='select news.*,build_db.* from news in '+#39+'news_mdb.mdb'+#39+',build_db in '+#39+'target.mdb'+#39;
          Prepared:=True;
          open;
          end;