访问VBA SQL INSERT INTO - >参数太少,预计2

时间:2013-05-28 13:41:52

标签: sql vba access-vba

我试过谷歌搜索但无济于事 - 我不太明白我在使用这个SQL代码做错了什么。我目前不知所措。这个错误意味着什么,我可能是罪魁祸首?

正如您所看到的,我试图从2个原始表中插入一个处理表,只有一个简单的WHERE条件。任何帮助表示赞赏!

CurrentDb.Execute "
        INSERT INTO Processing
          ([State], [Zip Code], [Gross Sales], [Sales Exempt Type], 
           [Sales Exempt Amount], [Taxable], [Tax], BATCH_NO, FILENAME,FILEPATH, 
           USERNAME, IMPORT_TIMESTAMP)" & _
            "
        SELECT [tblImport].[State/ Province]
              , [tblImport].[Dest Postal Code]
              , [tblImport].[Line Amount]
              , [tblImport].[Jurisdiction Description]
              , [tblImport].[Line Exempt]
              , [tblImport].[Line Taxable Amount]
              , [tblImport].[Tax Amount]
              , [batch].BATCH_NO
              , [batch].FILENAME
              , [batch].FILEPATH
              , [batch].IMPORT_USERNAME
              , [batch].IMPORT_TIMESTAMP " & _
            "
          FROM batch
               , tblImport
         WHERE  BATCH_NO =" & li_batch_no

1 个答案:

答案 0 :(得分:1)

可能是无效的Select表或列。

使用Access自己的查询设计器来帮助您找到它。

首先获取代码运行的sql。 在代码中放置一个断点,将sql复制到即时窗口并在其前面加上“?”然后运行它,即复制代码后:[CTRL-G]?[CTRL-V] [返回]。 复制返回的sql。

创建一个新的Query,更改为Sql视图,粘贴已评估的sql。

更改为“设计”视图。什么意外?它是否将任何字段更改为Expressions(字段中的“Expr”前缀) - 因为它无法在sql中找到表或列?

更改回Sql视图。它是否改变了您的Sql尝试解析表/字段?任何Expr别名都是未解析的表/列。

更改为数据表视图以运行选择(但不是插入)。任何参数提示都是针对表/列名称Access无法解决的。

最后运行查询。同样,参数的任何提示都是表/列名称Access无法解析。遇到的任何错误都将显示在友好的消息框中,而不是您的执行代码的Err对象。