【发布时间】:2017-09-08 20:57:52
【问题描述】:
所以我试图在我调用的函数中运行这个 SQL 脚本,当我尝试运行它时它给了我一个“编译错误:需要对象”!
调用函数的代码
Private Sub cmdLogin_Click()
Call Load_Username(Username)
End Sub
函数被调用
Private Sub Load_Username(Text As String)
Dim SQL As String
Set SQL = "UPDATE tbleUsername " & _
"SET Username = '" & Text & "' " & _
"WHERE ID = 1"
DoCmd.RunSQL SQL
End Sub
【问题讨论】:
-
文本是保留字。建议您为变量使用不同的名称,看看是否有帮助 - 例如 txtText。从技术上讲,您不是在调用函数,而是在调用 sub。我更喜欢
CurrentDb.Execute而不是DoCmd.RunSQL。 -
@June7
Text不是关键字,你在说什么? -
您的数据库中是否存在 tbleUsername?不应该是 tblUsername 吗?
-
文本是保留字——它在 JET 中有特殊的含义。将保留字用于其他目的可能会导致意外结果。这里可能不是这种情况,但最佳做法是避免使用保留字来命名任何内容。 allenbrowne.com/AppIssueBadWord.html#T
-
对不起,伙计们,我没有声明这些,因为我只是懒惰了......但这不是问题,因为我使用的是“Set”