我尝试在Access中使用VBA时遇到错误,并且can';我修不好

我尝试在Access中使用VBA时遇到错误,并且can';我修不好,vba,ms-access,Vba,Ms Access,使用下面的代码,我得到 错误3061(参数太少。应为2) *当我尝试直接使用INSERT INTO(无CurrentDb.EXECUTE)时,我得到一个 编译错误-应为:语句结束 并突出显示所使用的表名 你知道为什么这会发生在我身上吗 此外,我对VBA和Access非常陌生。对于用于处理数据库和excel文件/信息的函数/调用,有什么好的参考吗?我看到的第一件事是,您的插入将失败,因为您将变量当作参数使用。-它应该是这样的,字符串用单引号括起来,货币不是: CurrentDb.Execu

使用下面的代码,我得到

错误3061(参数太少。应为2)

*当我尝试直接使用INSERT INTO(无CurrentDb.EXECUTE)时,我得到一个

编译错误-应为:语句结束

并突出显示所使用的表名

你知道为什么这会发生在我身上吗


此外,我对VBA和Access非常陌生。对于用于处理数据库和excel文件/信息的函数/调用,有什么好的参考吗?

我看到的第一件事是,您的插入将失败,因为您将变量当作参数使用。-它应该是这样的,字符串用单引号括起来,货币不是:

    CurrentDb.Execute "INSERT INTO Table1 (PlanTitle, EstimatedCapitalCost)
                      Values ('" & RWPTitle & "', " & EstimatedCapital & ")"

我看到的第一件事是,您的插入将失败,因为您使用的变量就像使用参数一样。-它应该是这样的,字符串用单引号括起来,货币不是:

    CurrentDb.Execute "INSERT INTO Table1 (PlanTitle, EstimatedCapitalCost)
                      Values ('" & RWPTitle & "', " & EstimatedCapital & ")"

下面是我如何在vba中处理插入。然后,我可以跟踪任何出错的值

With rstTable1

  .AddNew
    !PlanTitle,  = "Text Field Here"
    !EstimatedCapitalCost = $value here
  .Update

End With  

下面是我如何在vba中处理插入。然后,我可以跟踪任何出错的值

With rstTable1

  .AddNew
    !PlanTitle,  = "Text Field Here"
    !EstimatedCapitalCost = $value here
  .Update

End With  

对于Insert Into,我是否需要列出表中第一个括号内存在的每个字段,然后是每个字段的值(或“”以不输入任何内容),还是只列出我有值的字段,然后是这些值?您不需要包括所有字段,仅限您的模式所需的答案。@J.Ryan——如果此答案满足您的需要,请将其标记为正确/已接受。这将有助于将来可能有类似问题的其他人,因为他们将看到该问题是插入到的公认解决方案。我是否需要列出表中第一个括号内的每个字段,然后是每个字段的值(或“不输入任何内容”),或者我可以只列出我有值的字段,然后是这些值吗?您不需要包括所有字段,只需要包含您的架构所需的字段。@J.Ryan--如果此答案满足您的需要,请将其标记为正确/接受。这将有助于将来可能有类似问题的其他人,因为他们会将该问题视为可接受的解决方案