Access操作必须使用一个可更新的查询
- 2020-02-03 08:00:00
- 网络摘录 转贴
- 8515
错误描述:
在执行更新查询时候报错:操作必须使用一个可更新的查询
错误原因:
有几个主要的错误原因:
这个错误发生在当你的程序试图执行更新数据库或其它类似操作时。这是因为 ADO由于以下的几个原因而不能够写数据库造成的。
1。最普遍的原因是匿名用户帐号(IUSR_MACHINE)对该数据库文件没有写权限。
要解决这个问题,在管理器中调整数据库文件的属性,让匿名用户有正确的权限。
当使用ACCESS数据库时,不仅要给文件写的权限,还要给该目录写 的权限,因为
Jet需要在该目录建立一个.ldb文件。
2。第二个原因是数据库没有使用正确的模式打开。应该使用下面的方法打开。
SQL = "UPDATE Products Set UnitPrice = 2;" Set Conn = Server.CreateObject("ADODB.Connection") Conn.Mode = 3 ''3 = adModeReadWrite Conn.Open "myDSN" Conn.Execute(SQL) Conn.Close注意默认的Mode是设置0(adModeUnknown),它是允许更新的。
3。还有可能是在ODBC管理器中将该DSN的只读选项选中。
4。你是在同时更新两个表中的字段,也会出现这个错误信息,解决办法是分开来更新
这两个表中各自字段。
5。当你使用了一个从低版本中(如ACCESS2.0,ACCESS7.0)载入到高版本(ACCESS 2000)
中的查询时,在执行这个查询是会出现该错误。
如果是winXP系统
在文件夹选项里面默认使用简单共享(推荐),把这个选项去掉,
再在文件夹上右键点击,就会出现安全这个选项卡,
原来默认的没有,然后在安全选项卡里面可以设置用户的写入权限了
右击数据库>安全>everyone>将需要的勾上
其它相关解决方案
错误描述:
在执行更新查询时候报错:操作必须使用一个可更新的查询 具体的语句如下:
CurrentDB.Execute "Update 表1 inner join 查询1 on 表1.关键字段=查询1.关键字段SET 表1.名称= 查询1.名称"
错误原因:
以上述的错误语句为例:更新查询要求 表1 和 查询1 必须都是 可更新(可以修改其中的数据) 的才可以执行
解决方法:
错误原因找到,解决方法无非是将 查询1 更改为一个 可更新(可以修改其中的数据) 的对象即可,这里我使用了以下的解决方法:
将 查询1 生成一个新表 表2:CurrentDB.Execute "Select 查询1.* INTO 表2 FROM 查询1"
然后查询语句更改为:CurrentDB.Execute "Update 表1 inner join 表2 on 表1.关键字段=表2.关键字段 SET 表1.名称= 表2.名称"
然后删除掉表2即可:CurrentDB.Execute "drop table 表2"
另外的解决方案
Access操作必须使用一个可更新的查询
Microsoft JET Database Engine (0x80004005) 操作必须使用一个可更新的查询。解决办法有以下几种(针对不同的服务器可能解决办法不一样,在这里假设网站主目录为wwwroot):
此方法最简单、偶尔有效
B、在您的数据库文件上文件夹上面点击右键-“属性”-“安全”-添加用户:“IUSR_计算机名” 并开放“IUSR_计算机名”的读取、写入权限
Access提示“操作必须使用一个可更新的查询”的解决办法
问题:
软件工程师开发了一个asp.net+access网站,本地调试增、删、改和查都没有异常。部署到服务器windows2008 R2的IIS上运行后,查询没有异常。
可是在修改操作提交时,产生异常:提示“操作必须使用一个可更新的查询”。
原因:
这个错误发生在当你的程序试图执行更新数据库或其它类似操作时,没有写入数据库的操作权限。
解决方法:
将access数据库设置可写权限。
错误信息:
Microsoft OLE DB Provider for ODBC Drivers error ''80004005'' [Microsoft][ODBC Microsoft Access 97 Driver] Operation must use an updateable query.
或者是:
Microsoft JET Database Engine (0x80004005)操作必须使用一个可更新的查询。
- office课程播放地址及课程明细
- Excel Word PPT Access VBA等Office技巧学习平台
- 将( .accdb) 文件格式数据库转换为早期版本(.mdb)的文件格式
- 将早期的数据库文件格式(.mdb)转换为 (.accdb) 文件格式
- KB5002984:配置 Jet Red Database Engine 数据库引擎和访问连接引擎以阻止对远程数据库的访问(remote table)
- Access 365 /Access 2019 数据库中哪些函数功能和属性被沙箱模式阻止(如未启动宏时)
- Access Runtime(运行时)最全的下载(2007 2010 2013 2016 2019 Access 365)
- Activex控件或Dll 在某些电脑无法正常注册的解决办法(regsvr32注册时卡住)
- office使用部分控件时提示“您没有使用该ActiveX控件许可的问题”的解决方法
- RTF文件(富文本格式)的一些解析
- Access树控件(treeview) 64位Office下出现横向滚动条不会自动定位的解决办法
- Access中国树控件 在win10电脑 节点行间距太小的解决办法
- EXCEL 2019 64位版(Office 2019 64位)早就支持64位Treeview 树控件 ListView列表等64位MSCOMMCTL.OCX控件下载
- VBA或VB6调用WebService(直接Post方式)并解析返回的XML
- 早期PB程序连接Sqlserver出现错误
- MMC 不能打开文件C:/Program Files/Microsoft SQL Server/80/Tools/Binn/SQL Server Enterprise Manager.MSC 可能是由于文件不存在,不是一个MMC控制台,或者用后来的MMC版
- sql server连接不了的解决办法
- localhost与127.0.0.1区别
- Roych的浅谈数据库开发系列(Sql Server)
- sqlserver 自动备份对备份目录没有存取权限的解决办法
- 安装Sql server 2005 express 和SQLServer2005 Express版企业管理器 SQLServer2005_SSMSEE
联系人: | 王先生 |
---|---|
Email: | 18449932@qq.com |
QQ: | 18449932 |
微博: | officecn01 |