我在执行ERROR: 3073 Operation must use an updateable query
声明的同时获得INSERT
有时。
我的Windows 7 PC上没有问题,但我写这篇文章的人有时会收到错误。她还在Windows 7上安装了MS Access 2010。
正如我所说,我从来没有在我的电脑上得到它,而且她有时只能得到它。代码将插入一些行然后通过错误,其他时候不会通过错误。
如果我将代码和数据放在一个.mdb文件或单独的文件中,则会发生错误。 这是一段代码:
OrderHdrInsertStmnt = " INSERT INTO ORDER_HDR " _
& "(ORDER_ID, SOURCE_CODE, ORDER_DATE, SHIP_FNAME, SHIP_LNAME, SHIP_EMAIL, SHIP_COMP, SHIP_PHONE, SHIP_ADDR, SHIP_CITY, SHIP_STATE, SHIP_ZIP, SHIP_CNTRY, " _
& " BILL_FNAME, BILL_LNAME, BILL_EMAIL, BILL_COMP, BILL_PHONE, BILL_ADDR, BILL_CITY, BILL_STATE, BILL_ZIP, BILL_CNTRY, " _
& " TAX, SHIPPING, TOTAL, MOD_DATE, INSERT_DATE) " _
& " VALUES (" _
& "'" & OrderId & "','" & SourceCode & "','" & Orderdate & "','" & ShipFName & "','" & ShipLName & "','" & ShipEmail & "','" & ShipComp & "','" & ShipPhone & "','" & ShipAddr & "','" & ShipCity & "','" & ShipState & "','" & ShipZip & "','" & ShipCntry _
& "','" & BillFName & "','" & BillLName & "','" & BillEmail & "','" & BillComp & "','" & BillPhone & "','" & BillAddr & "','" & BillCity & "','" & BillState & "','" & BillZip & "','" & BillCntry _
& "','" & OrderTax & "','" & OrderShipping & "','" & OrderTotal & "','" & ImportDate & "','" & ImportDate & "');"
然后我用
dbsCurrent.Execute OrderHdrInsertStmnt, dbFailOnError
任何帮助都会很棒!
答案 0 :(得分:0)
当您针对查询运行更新语句时,通常会发生错误,因此不清楚应更新哪些记录。你显然没有这样做。
是否有可能将您连接到insert语句的某些数据有时是错误的值,例如数字中的字符串或NULL等。那将是最可能的解释。最可能的错误原因是某种非标准输入被连接到语句中。
答案 1 :(得分:0)
表是否共享,您是否同时更新/插入?
我在同一记录上运行多用户更新测试
该表是:一个id和一个文本字段,
查询是:update text = randomString WHERE id = 800(id 800存在...)
执行方法:CurrentDb.Execute(qry)
每台计算机上超过200次10次我有错误3073.因此,我认为这意味着“桌子被其他人锁定”
有关信息,在另一个测试(同一个表)但在插入模式下使用记录集addNew和Update我有错误3343(数据库格式无法识别)
明确的消息:P
答案 2 :(得分:0)
我在两年多前为朋友开发了一个使用MS Access DB的独立Visual Basic程序。最近,他抱怨在会话中添加第二条记录时遇到“操作必须使用可更新的查询”错误。即:每次使用该程序时,只添加/更新第一条记录。
在搜索网络,各种论坛后,我找不到可能的答案。
最终,我的案例的解决方案/解决方案:似乎我朋友在后台运行的新安装的备份软件(Memeo Backup)以某种方式导致问题。禁用备份程序,程序可以再次运行。
因此,请尝试禁用后台程序,看看是否有任何问题导致问题。
答案 3 :(得分:0)
我在插入时遇到了同样的错误。我使用VALUES子句插入到链接表中,该子句是从VBA运行的。当我将插入目标表移动到本地mdb时,它解决了问题。然后我能够将本地表中的所有行插入到链接表中。