题目听起来似乎很饶口,呵呵。看我仔细道来:'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dim rs1 As ADODB.Recordset
Dim rs2 As ADODB.RecordsetSet rs1 = New ADODB.Recordset
'打开记录集,假设rs1 not eof or bof
rs1.Open sql,Conn,........Set rs2 = rs1rs1.Close
'这时候我如果关闭rs1,那么我在使用rs2的时候也提示关闭Debug.print rs2(0) '这句话肯定出错'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~我的问题其实非常简单懂,就是如果把rs1的内容给rs2拷贝一份后关闭rs1而且可以不影响使用rs2?谢谢所有关注这个问题的朋友,谢谢能给我解答的各位高手!感谢你们!!!!
Dim rs1 As ADODB.Recordset
Dim rs2 As ADODB.RecordsetSet rs1 = New ADODB.Recordset
'打开记录集,假设rs1 not eof or bof
rs1.Open sql,Conn,........Set rs2 = rs1rs1.Close
'这时候我如果关闭rs1,那么我在使用rs2的时候也提示关闭Debug.print rs2(0) '这句话肯定出错'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~我的问题其实非常简单懂,就是如果把rs1的内容给rs2拷贝一份后关闭rs1而且可以不影响使用rs2?谢谢所有关注这个问题的朋友,谢谢能给我解答的各位高手!感谢你们!!!!
解决方案 »
- 关于SQL循环插入
- 如何替换网页内容?
- ComboBox控件的问题
- text1.text='abcdef/dddf/sefs',如何分別取得abcdef,dddf,sefs.誰手頭有相關函數
- 在WIN98中直接调用格式化软盘的问题?
- 如何使Web中的ActiveX控件能弹出自定义的模式(vbModal)窗口?
- 怎样在VB中获得一个文件夹的相关信息,如权限分配情况等。(NT环境)?
- 把文本内容导出到一个新Excel文件中,里面全是文本,但问题是如何给这个文件的内容画一个表,有这方面的高手吗? 求助 !!!!!!!!
- 对象关闭时不允许操作怎么回事
- 请帮我排一下错?
- 一个给大家送分的问题~:)
- 如何将access中的ole格式转化为vb中可识别的ole文件格式
Dim rs As New ADODB.Recordset
rs.Open "select * from [image] ", iConc, adOpenStatic, adLockReadOnly
Dim rs1 As New ADODB.Recordset
Set rs1 = rs.Clone
For i = 0 To rs.Fields.Count - 1
List1.AddItem rs.Fields(i).Name
Next
rs.Close
Debug.Print rs1.Fields(0).Value
End Sub
set rst1=rst.clone
rst.Requery
.....
Clone 方法
从现有 Recordset 对象创建一个相同的 Recordset 对象。可选择指定该副本为只读。
语法:
Set rstDuplicate = rstOriginal.Clone (LockType)
返回值:
返回 Recordset 对象引用。
参数:
rstDuplicate
对象变量,指示要创建的 Recordset 对象副本。
rstOriginal
对象变量,指示要被复制的 Recordset 对象。
LockType
可选。LockTypeEnum 值,指定原 Recordset 的锁定类型或指定只读 Recordset。有效值为 adLockUnspecified 或 adLockReadOnly。
说明:
使用 Clone 方法可创建多个相同的 Recordset 对象,这对于想要在给定的记录组中保留多个当前记录尤其有用。使用 Clone 方法比创建和打开与原对象定义相同的新 Recordset 对象更为有效。原 Recordset 的 Filter 属性(如果存在)将不被应用到副本。设置新 Recordset 的 Filter 属性以过滤结果。复制任何现有 Filter 值的最简单的方式就是对其直接赋值,例如:rsNew.Filter = rsOriginal.Filter将新创建副本的当前记录设置为首记录。不管游标类型如何,对一个 Recordset 对象所做的更改将在其所有副本中显示。但是在对原 Recordset 执行 Requery 后,副本将不再与原 Recordset 同步。
'<<<注意你要的功能>>>
关闭原 Recordset 时并不关闭其副本,而关闭副本也不会关闭原 Recordset 或任何其他副本。用户只能复制支持书签的 Recordset 对象。书签值是可交换的,也就是说,来自一个 Recordset 对象的书签引用可引用其任何副本中的相同记录。一些触发的 Recordset 事件也将在所有 Recordset 副本中触发。但是,由于当前记录可区分副本的 Recordsets,因此事件对副本可能无效。 例如,如果更改了一个字段值,则 WillChangeField 事件将在更改的 Recordset 中和所有副本中发生。副本的 Recordset(此处没有更改)的 WillChangeField 事件的 Fields 参数只是简单地引用该副本当前记录的字段,该记录可能与原 Recordset (此处有更改)的当前记录不同。
使用Clone
do while not rs.eof
a(i).name=rs!name
a(i).money=rs!money
i=i+1
rs.movenext
loop