我现在有两个ACCESS数据库,比如A库有一个表USER,B库有一个表CLASS
USER表里有一字段userid, CLASS表里也有一个字段userid
我想问一下通过ADO怎么样才能实现对userid的关联(inner join) 查询我在ACCESS版里看到过类似的FAQ,但我想得到VC里的确切答案,谢谢

解决方案 »

  1.   

    SELECT a.*,b.* FROM 
    OPENROWSET('MSDASQL','DRIVER={SQL Server};SERVER=computer;UID=sa;PWD=',
    pubs.dbo.jobs)
    AS a,
    OPENROWSET('MSDASQL','DRIVER={SQL Server};SERVER=computer;UID=sa;PWD=',
    pubs.dbo.jobs) 
    AS b
      

  2.   

    select * from user inner join class on user.userid=class.userid
      

  3.   

    runall(龙行天下) 
    你这种方法在ACCESS数据库中能用吗?DebugXP() 
    我的意思是两个ACCESS数据库,不是两张表,你这个只能适用于同库不同表的情况
      

  4.   

    当然可以用了
    把driver改一下
      

  5.   

    晕,看错。连接class数据库
    执行
    SELECT *
    FROM [e:\db\class.mdb].user AS t1 INNER JOIN class ON t1.userid=class.userid;
      

  6.   

    我自己的写法是 CString strTmp = _T("Provider=Microsoft.Jet.OLEDB.4.0;"
                  "Data Source=A.mdb;"); CString strSQL; strSQL = "select A.UserID,A.UserName "; strSQL += "from User As A INNER JOIN "; strSQL += "OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'B.mdb', Class) AS B "; strSQL += "A.ClassID = B.ClassID "; CADODatabase conn;
    conn.Open(strTmp);

    CADORecordset rs(&conn);

    rs.Open(strSQL, CADORecordset::openQuery); int hii = rs.GetRecordCount();
    但是这样不行好困惑
      

  7.   

    我从未听说Access有OPENROWSET函数