我遇到了这个问题。我有一个表单,使用表单的记录源属性检索表数据。当表单打开时,我将其记录源属性设置为模块的公共方法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值。
为什么它对此不满意?
答案 0 :(得分:2)
感谢您的帮助。
我修好了。原因是因为String实际上不是一个开始的对象。所以不需要'Set'关键字 - 因为你不需要显式地声明String类型的对象!
现在好了!
答案 1 :(得分:0)
当您使用类模块时,我认为您需要使用:
Public Property Get RetrieveMembers() As String
而不是:
Public Function RetrieveMembers() As String