我想在子内部的 MS Access 中创建一个记录集,一旦创建,相同的记录集应该在子外部可用。我想到的是以下内容
Public Sub CustomerListRst(ByRef Rst As Variant)
If Not IsNull(Rst) Then
On Error Resume Next
Rst.Close
Set Rst = Nothing
On Error GoTo 0
End If
Set Rst = CurrentDb.OpenRecordset("select * from Tbl_xxxx")
End Sub
记录集已创建并分配给 Rst,但是当进程从调用子程序的点返回时,rst 变为空,尽管我设置了 ByRef Rst
我做错了什么?
您可以使用
Function
代替 Sub
Public function CustomerListRst(ByRef Rst As Variant) as Recordset
Set CustomerListRst = CurrentDb.OpenRecordset("select * from Tbl_xxxx")
End Sub
并在另一个点中使用作为
Dim myRst as Recordset
...
Set myRst=CustomerListRst()