原因:
有几个主要的错误原因:
这个错误发生在当你的程序试图执行更新数据库或其它类似 *** 作时。这是因为
ADO由于以下的几个原因而不能够写数据库造成的。
1。最普遍的原因是匿名用户帐号(IUSR_MACHINE)对该数据库文件没有写权限。
要解决这个问题,在管理器中调整数据库文件的属性,让匿名用户有正确的权限。
当使用ACCESS数据库时,不仅要给文件写的权限,还要给该目录写 的权限,因为
Jet需要在该目录建立一个ldb文件。
2。第二个原因是数据库没有使用正确的模式打开。应该使用下面的方法打开。
SQL = "UPDATE Products Set UnitPrice = 2;"
Set Conn = ServerCreateObject("ADODBConnection")
ConnMode = 3 '3 = adModeReadWrite
ConnOpen "myDSN"
ConnExecute(SQL)
ConnClose
注意默认的Mode是设置0(adModeUnknown),它是允许更新的。
3。还有可能是在ODBC管理器中将该DSN的只读选项选中。
4。你是在同时更新两个表中的字段,也会出现这个错误信息,解决办法是分开来更新
这两个表中各自字段。
5。当你使用了一个从低版本中(如ACCESS20,ACCESS70)载入到高版本(ACCESS 2000)
中的查询时,在执行这个查询是会出现该错误。
如果是winXP系统
在文件夹选项里面默认使用简单共享(推荐),把这个选项去掉,
再在文件夹上右键点击,就会出现安全这个选项卡,
原来默认的没有,然后在安全选项卡里面可以设置用户的写入权限了
右击数据库>安全>everyone>将需要的勾上
这是因为窗体打开或动作 *** 作的时间跟查询运行(打开)的时间不一致所导致的。
例如先运行了查询,查出53条记录,然后打开了窗体后在窗体上添加了6条记录,这时窗体将显示59条记录,但是已经打开的查询还是53条记录,这很正常,因为查询是在之前打开的,它显示的是当时的情况。只要重新运行查询(关闭后再打开)就可以得到该数据表的最新情况了。
鼠标右键点击数据库所在目录(或者它上级目录,但是注意要能够继承权限)-〉选择“共享和安全”-〉选择“安全”选项卡-〉点击“添加”按钮-〉点击“高级”按钮-〉点击“立即查找(N)”按钮-〉找到前缀为“IUSR_”的用户名(格式为IUSR_计算机名)-〉选中此用户,点击确定-〉这样这个用户就被加进来了-〉在“Internet来宾帐户”的权限框中,除了默认的还要选中“写入权限”-〉“应用”或者“确定”即可。
提示:如果是WinXP系统下找不到“共享和安全”选项,需要先进行一下设置:“工具”-〉“文件夹选项”-〉“查看”-〉“默认使用简单共享(推荐)”,把这个选项去掉,再在文件夹上右键点击,就会出现安全这个选项。
以上就是关于更新ACCESS数据库出现的错误全部的内容,包括:更新ACCESS数据库出现的错误、求助access,输入窗体和查询窗体都是引用的同一个表的数据 为什么查询的这个不能更新呢、microsoft odbc microsoft access 驱动程序不能更新.数据库对象为只读。怎么解决等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)