【问题标题】:Run time error '3075' - Syntax error (missing operator) in query expression运行时错误 '3075' - 查询表达式中的语法错误(缺少运算符)
【发布时间】:2019-05-21 10:16:15
【问题描述】:

我正在创建一个新数据库,用于存储人们通过请求表单输入的测试请求。在我的数据输入表单上,我有一个“字段名称”部分,请求者将在其中输入他们想要测试的足球场的名称。如果我在字段中输入字母/单词并尝试将数据记录到表中,它会给我“运行时错误'3075':查询表达式中的语法错误(缺少运算符)。”但是,如果我输入一个数字,例如 1 或 2,它会毫无问题地记录。请求者在输入请求时将输入运动场名称。我对 VBA 和访问相当陌生,因此我们将不胜感激任何帮助或建议。

Private Sub cmdSavereuserequest_Click()
    'add data to table
    CurrentDb.Execute "INSERT INTO ReuseTestRequests(Location, RequestDate, DueDate, Requestor, InfillSystem, FiberType, OldFieldArea, NewFieldArea, AvgInfillDepth, Comments) " & " VALUES(" & Me.txtField & ",'" & Me.txtRequestdate & "','" & Me.txtDuedate & "','" & Me.txtRequestor & "','" & Me.txtInfillsystem & "','" & Me.txtFibertype & "','" & Me.txtOldfieldarea & "','" & Me.txtNewfieldarea & "','" & Me.txtAvginfilldepth & "','" & Me.txtComments & "')"
End sub

【问题讨论】:

    标签: vba ms-access


    【解决方案1】:

    日期值必须格式化并用八字形包裹:

    ... ",#" & Format(Me.txtRequestdate, "yyyy\/mm\/dd") & "#, ...
    

    【讨论】:

    • 另外,number 值没有引号,而 text 值有。
    • 仍然得到同样的错误..当我在“txtField”文本框中输入学校名称时,例如“Grant HS”,它给了我错误。如果我输入一个数字,例如 1 或 2,它将按原样记录。
    • 如果字段是数字 - 接受 1 和 2 - 您不能将非数字字符串传递给它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-10
    • 1970-01-01
    相关资源
    最近更新 更多