Dim WithEvents adoPrimaryRS As RecordsetPrivate Sub Form_Load()
  Dim db As Connection
  Set db = New Connection
  db.CursorLocation = adUseClient
  db.Open "PROVIDER=MSDASQL;driver={SQL Server};server=服务器名;uid=用户ID;pwd=密码;database=数据库名;"  Set adoPrimaryRS = New Recordset
  adoPrimaryRS.Open "SELECT 表1.*, 表2.* FROM 表1 CROSS JOIN 表2", db, adOpenStatic, adLockOptimistic'用 adoPrimaryRS!字段名 就可以取到数据,adoPrimaryRS.Movenext移到下一条~~
End Sub

解决方案 »

  1.   

    最好写一个存储过程
    SET QUOTED_IDENTIFIER ON 
    GO
    SET ANSI_NULLS ON 
    GOALTER  PROCEDURE PROGet
    --WITH ENCRYPTION
    AS
        SELECT * FROM 表1
        SELECT * FROM 表2
        SELECT * FROM 表3
    GO
    SET QUOTED_IDENTIFIER OFF 
    GO
    SET ANSI_NULLS ON 
    GO
    然后调用后过程返回一个recordset
    这要就可以想取得哪一个reocdset 
    Set objRs = objRs.NextRecordset
      

  2.   

    我只会从库里取数据到DBGRID,和你要求符合吗?Public Sub DataGrid1Show()
    Dim rss as Recordset
    Set rss = New Recordset
    Dim str As String
    Dim Userid As Long
    Userid = Combo1.ItemData(Combo1.ListIndex)str = "select * from user_speday where userid= " & Userid 
    rss.Open str, cnnView
    Set DataGrid1.DataSource = Nothing
    Set Adodc1.Recordset = rss
    Set DataGrid1.DataSource = Adodc1
    Adodc1.Refresh
    DataGrid1.Refresh
    SetHeadEnd SubPrivate Sub SetHead()
    Dim i As IntegerFor i = 0 To DataGrid1.Columns.Count - 1
        DataGrid1.Columns(i).Alignment = dbgCenter
    Next i'DataGrid1.Columns(0).Visible = False
    'DataGrid1.Columns(5).Visible = FalseDataGrid1.Columns(0).Width = 1800
    DataGrid1.Columns(1).Width = 1800
    DataGrid1.Columns(2).Width = 1000
    DataGrid1.Columns(3).Width = 1100DataGrid1.Columns(0).Caption = "开始日期"
    DataGrid1.Columns(1).Caption = "结束日期"
    DataGrid1.Columns(2).Caption = "请假原因"
    DataGrid1.Columns(3).Caption = "请假类别"End Sub
      

  3.   

    dim rst as new adodb.recordset 
    rst.open "select a.col1,a.col2,b.col2,b.col3 from tablea as a " & _
        "inner join tableb as b on a.col2=b.col2 " & _
        "where col1 = 'aaa'",cnn,adopenstatic,adlockreadonly
    do while not rst.eof
        for i=0 to rst.fields.count-1
             debug.p rst(i)
        next
        rst.movenext
    loop
    rst.close
      

  4.   

    主要就是用SQL语句把两个表关联起来再取出数据,
    然后用“RECORDSET!字段名”的方式访问字段中的数据.
    用“movenext”等方法可移动结果集。
      

  5.   

    我的意思不是關聯兩張表的數據,
    而是兩次查詢的紀錄放在一個recordset里。
      

  6.   

    什么叫两次查询的数据???
    这个SQL就可以一次查出两个没有关联的表的数据阿~~嘿嘿~~
    SELECT 表1.*, 表2.* FROM 表1 CROSS JOIN 表2
      

  7.   

    select a.ID1,a.iD2 a.ID3,b.id1,b.id2,b.id3 from a表,b表 where a.iD1=b.id1
    直接用select来连接查询两个表啊!!!!