SQL从userform获取名称

时间:2017-11-22 11:47:48

标签: sql ms-access access-vba ms-access-2010

我在访问

中遇到了一些问题
CurrentDb.Execute "INSERT INTO _tbl_Structure " & _
            "SELECT * " & _
            "FROM [MS Access;pwd=" & strPassword & ";database=" & DBpath & "\" & DBname & "].[" & tblStructure & "] " & _
            "WHERE [user] = '" & [Forms!frm_Advisors_Stats-manager].[Position]

问题似乎与

有关
  

[窗体!frm_Advisors_Stats经理] [位置]

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

位置文本框显示登录的人员是否为经理。如果他们是userform上所述的经理,则会提取经理在团队中的所有记录

显示的错误是:

  

未定义外部名称

3 个答案:

答案 0 :(得分:1)

或使用正确的包围:

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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

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 & "'"