SQL 从用户表单获取名称

SQL getting name from userform

我的SQL访问

有点麻烦
CurrentDb.Execute "INSERT INTO _tbl_Structure " & _
            "SELECT * " & _
            "FROM [MS Access;pwd=" & strPassword & ";database=" & DBpath & "\" & DBname & "].[" & tblStructure & "] " & _
            "WHERE [user] = '" & [Forms!frm_Advisors_Stats-manager].[Position]

问题似乎出在

[Forms!frm_Advisors_Stats-manager].[Position]

对我在这里做错了什么有帮助吗?

职位文本框显示登录的人是否是经理。如果他们是用户表单中所述的经理,则会提取经理在团队中的所有记录

显示的错误是:

External name not defined

由于您使用的是字符串连接,因此您的对象表示法需要对 VBA 有效。由于您的对象名称包含连字符,因此您需要使用表单集合正确引用它,而不使用 bang 运算符。

"WHERE [user] = '" & Forms("frm_Advisors_Stats-manager").Position.Value & "'"

或使用正确的括号:

[Forms]![frm_Advisors_Stats-manager]![Position]

另一种在我经常使用的窗体上引用控件的方法是:

Form_Advisors_Stats-manager.Position

因此:

CurrentDb.Execute "INSERT INTO _tbl_Structure " & _
        "SELECT * " & _
        "FROM [MS Access;pwd=" & strPassword & ";database=" & DBpath & "\" & DBname & "].[" & tblStructure & "] " & _
        "WHERE [user] = '" & Form_Advisors_Stats-manager.Position & "'"