试图解决VBA中对象所需的错误

时间:2012-01-30 04:43:59

标签: sql compiler-errors access-vba

我遇到了这个问题。我有一个表单,使用表单的记录源属性检索表数据。当表单打开时,我将其记录源属性设置为模块的公共方法RetrieveMembers。这是下面的代码。

Private Sub Form_Open(Cancel As Integer)
'set Form's record source property to retrieve a Members table
Me.RecordSource = mod_JoinMember.RetrieveMembers

End Sub

'mod_JoinMember Class
Public Function RetrieveMembers() As String

Dim strSQL As String
Set strSQL = "SELECT tbl_Member.Title, tbl_Member.Gender, tbl_Member.LastName, 
tbl_Member.DateofBirth, tbl_Member.Occupation, tbl_Member.PhoneNoWork, 
tbl_Member.PhoneNoHome, tbl_Member.MobileNo, tbl_Member.Email, 
tbl_Member.Address, tbl_Member.State, tbl_Member.Postcode FROM tbl_Member;"
RetrieveMembers = strSQL

End Function
抛出

需要对象错误。

我无法理解这个编译错误。我发现我的代码没有错,因为recordsource是一个String类型的属性。我的模块的函数Retrievemembers返回一个String值。

为什么它对此不满意?

2 个答案:

答案 0 :(得分:2)

感谢您的帮助。

我修好了。原因是因为String实际上不是一个开始的对象。所以不需要'Set'关键字 - 因为你不需要显式地声明String类型的对象!

现在好了!

答案 1 :(得分:0)

当您使用类模块时,我认为您需要使用:

Public Property Get RetrieveMembers() As String

而不是:

Public Function RetrieveMembers() As String