本人想试验一下用自编的clone在vb中复制ADODB.Recordset:窗体只有一个command1按钮,点击时将rst1 的信息clone至rst2中,这两个两个都为ADODB.Recordset按钮:
Private Sub Command1_Click() Dim rst1 As ADODB.Recordset
Dim rst2 As ADODB.Recordset
Set rst1 = New ADODB.Recordset
Set rst2 = New ADODB.Recordset
Set rst2 = rst1.CloneEnd Sub克隆程序为:Public Function Clone(ByVal rstSource As ADODB.Recordset) As ADODB.Recordset
Dim objSm As ADODB.Stream
Dim rstCopy As ADODB.Recordset
Set objSm = New ADODB.Stream
Set rstCopy = New ADODB.Recordset
rstSource.Save objSm, adPersistXML
rstCopy.Open objSm
Set Clone = rstCopy
Set objSm = Nothing
objSm.Close
End Function运行时点击按钮出错:3704 对象关闭时不允许操作,监视表达式发现在运行完“Set rst1 = New ADODB.Recordset”
后,rst1中的、AbsolutePosition、EOF、BOF等值均为<对象关闭时不允许操作>想让clone运行成功,我不知道应该怎么办现求助于各位大侠,本人小虾米一个,对编程不是很了解,恳请指导一二
Private Sub Command1_Click() Dim rst1 As ADODB.Recordset
Dim rst2 As ADODB.Recordset
Set rst1 = New ADODB.Recordset
Set rst2 = New ADODB.Recordset
Set rst2 = rst1.CloneEnd Sub克隆程序为:Public Function Clone(ByVal rstSource As ADODB.Recordset) As ADODB.Recordset
Dim objSm As ADODB.Stream
Dim rstCopy As ADODB.Recordset
Set objSm = New ADODB.Stream
Set rstCopy = New ADODB.Recordset
rstSource.Save objSm, adPersistXML
rstCopy.Open objSm
Set Clone = rstCopy
Set objSm = Nothing
objSm.Close
End Function运行时点击按钮出错:3704 对象关闭时不允许操作,监视表达式发现在运行完“Set rst1 = New ADODB.Recordset”
后,rst1中的、AbsolutePosition、EOF、BOF等值均为<对象关闭时不允许操作>想让clone运行成功,我不知道应该怎么办现求助于各位大侠,本人小虾米一个,对编程不是很了解,恳请指导一二
Dim rst2 As ADODB.Recordset
Set rst1 = New ADODB.Recordset '新建一个无连接的Recordset
rst1.Fields.Append "字段一", adBSTR, 20 '为Recordset添加一个字段
rst1.Open '打开Recordset,必须要先打开,才能后继操作
rst1.AddNew "字段一", "ppppp" '添加一条记录Set rst2 = rst1.Clone '复制副本,可换为你自己写的Clone,
rst1.Close '关闭rst1MsgBox rst2("字段一") '显示副本字段值rst2.Close
Set rst1 = Nothing
Set rst2 = Nothing