【问题标题】:Run-time Error 3131 Syntax Error in FROM clause运行时错误 3131 FROM 子句中的语法错误
【发布时间】:2020-07-13 19:39:28
【问题描述】:

尝试在论坛中搜索与我类似的主题,但无法真正找到任何可以引导我走向正确方向的内容。基本上,我有一个表格,其中包含 10 个区域中每个区域的 QA 分数,我试图根据月份使用特定区域的分数填充一个文本框。我试图在 vba 中为此表单执行此操作,但遇到了此运行时错误 3131,我不完全确定我的代码有什么问题,这对我来说似乎很简单。感谢您提前提供任何帮助或建议。

Private Sub Form_Load()


Dim strSql As String


strSql = "SELECT tblScorecard.[QA_Overall]" & _
        "FROM tblScorecard" & _
        "WHERE tblScorecard.[Audit Month] = 'Jan'" & _
        "AND tblScorecard.[Region] = '1'"

DoCmd.RunSQL strSql

txtReg1 = strSql

End Sub

【问题讨论】:

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


    【解决方案1】:

    你不能只添加空格吗? tblScorecard.[QA_Overall]FROM 一个词?

    Private Sub Form_Load()
    
    
    Dim strSql As String
    
    
    strSql = "SELECT tblScorecard.[QA_Overall] " & _
            "FROM tblScorecard " & _
            "WHERE tblScorecard.[Audit Month] = 'Jan'" & _
            " AND tblScorecard.[Region] = '1'"
    
    DoCmd.RunSQL strSql
    
    txtReg1 = strSql
    
    End Sub
    

    为了避免Error: 2342 A RunSQL:

    Private Sub Form_Load()
        Dim qdf As QueryDef
        strSql = "SELECT tblScorecard.[QA_Overall] " & _
            "FROM tblScorecard " & _
            "WHERE tblScorecard.[Audit Month] = 'Jan'" & _
            " AND tblScorecard.[Region] = '1'"
        On Error Resume Next
        DoCmd.DeleteObject acQuery, "tempQry"
        On Error GoTo 0
        Set qdf = CurrentDb.CreateQueryDef("tempQry", strSQL)
        DoCmd.OpenQuery ("tempQry")
    End Sub
    

    找到更多信息here

    【讨论】:

    • 问题不是[QA_Overall]FROM,而是FROM tblScorecardWHERE
    • 在上一行添加了一个空格。我认为这两个都是问题。
    • 因此避免错误 2342 的代码可以工作并创建 tempQry。如果我要为其他文本框再次重复此代码,使用 DLookUp 会对此产生干扰吗?
    【解决方案2】:

    当您使用& _ 时,您不会在字符串内添加线喙

    尝试在字符串末尾添加一个空格

    strSql = "SELECT tblScorecard.[QA_Overall] " & _
            "FROM tblScorecard " & _
            "WHERE tblScorecard.[Audit Month] = 'Jan' " & _
            "AND tblScorecard.[Region] = '1'"
    

    【讨论】:

    • 哦,哈哈。好吧,这似乎解决了它,但它给了我一个 2342 A RunSQL 操作需要一个由 SQL 语句组成的参数。不知道我写的怎么不是sql?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-02
    • 2022-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多