for i=1 to recordset1.recordcount 
    datagrid1.add
next i
for i=1 to recordset2.recordcount
    datagrid1.add
next i
........
for i=1 to recordsetn.recordcount
    datagrid1.add
next i

解决方案 »

  1.   

    实际上并不是合并,只是把多个记录在一个datagrid中显示出来 而已?
    to lily0000000(百合):
       datagrid根本就没有add方法呀,
    to all:
       还请不吝指教。
      

  2.   

    如果是sql server可以考虑用,多个结果集
    open的时候只需要这样
    rs。open "select * from table1;select * from table2"
      

  3.   

    如果两个表的结构相同或其字多个数,以及相应字多类型相同,则合并两表,在 SET     
    DATAGRID1.RECORDSOURCE=RS
    如果不同呢我建议你用LISTVIEW控件,有时候绑定很差劲呀   
      

  4.   

    set rs=rs.NextRecordset'返回下一个结果集
      

  5.   

    运行返回多个结果集的存储过程
    RDO
    该示例举例说明了如何执行一个返回多个结果集的查询。对于存储过程来说,返回多个行组或返回包含动作查询结果的多个结果集是很普通的。结果,您的代码必须分别处理每个结果集,否则您将不能使用自己的查询结果。在 RDO 中,您使用 MoreResults 方法来每次处理一个结果集。每次对 MoreResults 的调用都将关闭当前的结果集,并移动到下一个结果集(如果有的话)。Private Sub MultipleRSButton_Click()
       sql = "Select * from Authors Where year_born is not null; " _
        & "Select * from Authors where year_born is  null"
       Set rs = cn.OpenResultset(sql)
       rdoGrid1.ShowData rs   i = MsgBox("Ready for next results?", vbYesNoCancel)
       If i = vbYes Then
          If rs.MoreResults Then
             rdoGrid1.ShowData rs
          End If
       End If
    End SubADO
    下面的代码举例说明了如何在 ADO 中处理返回多个结果集的 SP。ADO 的解决方案与 RDO 解决方案的不同之处在于:ADO 用的是 NextRecordset 方法,在该方法中,您将批处理中的下一个记录集分配给某个 ADO Recordset 对象。下一个记录集的读取并不覆盖第一个,如同在 RDO 中的那样。ADO 还允许多个记录集,如果数据提供程序支持的话。Private Sub MultipleRSButton_Click()
       Dim rs As New ADODB.Recordset
       sql = "Select * from Authors Where year_born is not null; " _
        & "Select * from Authors where year_born is  null"
       rs.Open sql, cn
       Do
          i = MsgBox("Ready for results?", vbYesNoCancel)
          If i = vbYes Then
             ADOGrid1.ShowData rs
             Set rs = rs.NextRecordset
          End If
       Loop Until rs.State = adStateClosed
    End Sub
      

  6.   

    Select * from Authors Where year_born is not null
    Union
    Select * from Authors where year_born is  null
      
      

  7.   

    你还可以区分来源于是那一个表
    即创建临时字段:
    Select *,abs(1) as tab from Authors1
    Union
    Select * abs(2) as tab from Authors2  
    这样
    如Rs!tab=1,则是第1个表
    如Rs!tab=2,则是第2个表