Selecting 2 tables from 2 different databases (ACCESS)

后端 未结 1 1640
渐次进展
渐次进展 2020-11-30 15:32

here is the connection i have

strCon=\"DBQ=\" & Server.Mappath(\"db.mdb\") & \";Driver={Microsoft Access Driver (*.mdb)};PWD=password;\"
set adoCon=s         


        
相关标签:
1条回答
  • 2020-11-30 16:28

    You can use IN:

    SELECT t1.*, t2.* 
    FROM T1 
    INNER JOIN 
    (SELECT * FROM atable 
    IN 'C:\Docs\DB2.mdb') t2
    ON t1.ID=t2.ID
    

    EDIT:

    sc = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\docs\other.mdb"
    cn.open sc
    
    s="SELECT * FROM t1 INNER JOIN " _
    & "[MS Access;PWD=databasePWD;DATABASE=C:\docs\db.mdb].t2 ON t1.ID=t2.ID"
    
    rs.Open s, cn
    

    EDIT 2:

    You can use the aliases to identify which database a field is from:

    s="SELECT * FROM table1 t INNER JOIN " _
    & "[MS Access;PWD=databasePWD;DATABASE=C:\docs\db.mdb].m ON t.ID=m.ID"
    
     msgbox rs.fields("m.code") & " " & rs.fields("t.code")
    

    EDIT 3

    Or you can add a virtual field:

     SELECT 1 AS "DB", Field, Field FROM  ...
     UNION ALL
     SELECT 2 AS "DB", Field, Field FROM
    

    UNION ALL is usually faster.

    0 讨论(0)
提交回复
热议问题