MS Access 3061参数太少

时间:2011-03-02 15:58:08

标签: ms-access

我有一个非常简单的更新声明,但它一直给我3061错误。

Public Function SendToYard(ByVal lEquipmentId As Long)
    oMb.ExecuteSql ("UPDATE Equipment SET GeneralLocation = 'Yard' WHERE ID = " & lEquipmentId)
End Function

表名是Equipment,列名是GeneralLocation和ID

这里可能出现什么问题?

这是ExecuteSql函数 注意我正在使用DAO

Public Function ExecuteSql(qry As String)

    db.Execute qry, dbFailOnError

End Function

3 个答案:

答案 0 :(得分:2)

实际上这是一个没有实际意义的问题。 问题是在SQL设计模式下,SQL语句正确执行,因为它默认使用当前数据库。 在模型基类中的VBA代码中,通过获取存储的数据库路径来设置DAO.Database对象。它指的是错误的文件。 问题解决了。 最重要的是,确保您知道正在使用的数据库。

答案 1 :(得分:0)

试试这个:

Public Function SendToYard(ByVal lEquipmentId As Long)
oMb.ExecuteSql ("UPDATE Equipment SET GeneralLocation = 'Yard' WHERE ID = '" & EquipmentId & "'")

结束功能

答案 2 :(得分:0)

尝试将代码的SQL部分复制并粘贴到查询设计器的SQL视图中。它应该显示一个请求缺少参数的输入框。我愿意打赌在某个地方有一个错字,这应该可以帮助你找到它。