【发布时间】:2018-08-20 18:16:39
【问题描述】:
我想我有一个相当简单的问题,因为我刚刚学习 Access,但无法从论坛中找到任何解决方案。在我的代码中有一个返回记录集的函数,它做得很好,但是当我设置一个指向该记录集的指针时,它没有指向。我的文件中的相关代码如下:
Private Sub Form_Open(Cancel As Integer)
EntryId = Forms.Item("fCustlist").Recordset.Fields("Custlist_Entry_Id")
setCustomersRecordset
setFormElements
End Sub
Private Sub setCustomersRecordset()
Dim rsCustomersDb As ADODB.Recordset
Dim i As Integer
Set rsCustomersDb = getRelatedCustomers(EntryId)
For i = 1 To rsCustomersDb.RecordCount '<--COMPILE ERROR: Type mismatch
'.....
Next i
End Sub
Public Function getRelatedCustomers(EntryId As Long) As ADODB.Recordset
Dim sql As String
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
sql = "SELECT blah blah blah"
Set cn = CurrentProject.AccessConnection
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
rs.Open sql, cn, , adLockReadOnly
Set getRelatedCustomers = rs
End Function
我正在使用 getRelatedCustomers 返回一个记录集,我可以这样做
Debug.Print getRelatedCustomers(entryId).RecordCount
它确实返回了正确的数字,但是在设置 RsCustomersDb = getRelatedCustomers(entryId) 之后它不会编译。我在这里想念什么?
【问题讨论】: