如何锁定ACCESS数据库的窗体,不让其它人修改

如何锁定ACCESS数据库的窗体,不让其它人修改,第1张

一般有三种方法保护ACCESS窗体

1)使用启动窗体或自定义宏菜单(在ACCESS选项——启动中设置),菜单——视图——工具栏——取消对"数据库"的勾选,——自定义, 取消勾选工具栏的勾选(自定义宏菜单除外,如果有的话),目的就是让用户看不到所有能更改数据库对象设计方案的菜单、工具栏、命令图标。但是这种方案很容易被破解,特别是对ACCESS数据库有一定研究的用户来说,尽管可以使用代码禁止shift键,但是破解方案是可以在网上查到的;

2)设置工作组安全机制

菜单——工具——安全——设置工作组安全机制向导,跟随向导指引设置,再设置不同用户的权限保护相关的数据库对象。这个方案保护性能比较高,类似大型数据库系统的用户级保护机制,但是设置复杂而且分发使用也比较麻烦,另外2007以后版本不支持该手段;

3)生成编译后的数据库文件(.mde 2003版本、.accde 2007及以后版本)生成方法略...

这种方法保护最彻底,几乎不存在破解的可能,但是一旦编译后就不再可以被修改,源数据库要小心保护好。

当某个用户以独占方式打开一个ACCESS数据库时(如对数据库某个数据表的字段进行增删改 *** 作时),其他用户访问这个数据库就会出现锁定错误了;或者当某个用户正在以Update方法更新数据表中的某条记录时,其他用户也会出现短暂的锁定错误。

这种情况是必要的,因为不这样做就很有可能出现数据不同步甚至破坏整个数据库的情况。只有等造成锁定状态的用户退出连接或结束更新 *** 作时,其他用户才能继续访问。如果对这种状况很介意,请改用真正的SQL网络数据库,ACCESS本身就是个单机文件型数据库,用作网络数据库并不是它的专长。

还有一种情况就是ACCESS数据库因为某个用户的错误 *** 作(比如因异常关机造成数据库没有正确退出)而造成永久性的锁定状态,这时候就要通过ACCESS对其进行修复才行。

常用的数据库连接方式:

Dim connstr

dim dbpath

dbpath="#123$asd31.mdb"

connstr="Provider=Microsoft.Jet.OLEDB.4.0Data Source=" &Server.MapPath(dbpath)

Set conn = Server.CreateObject("ADODB.Connection")

conn.Open connstr

关闭语句不仅是.

(断开记录)

Rs.close

Set Rs=Nothing

还有:(断开连接)

Conn.Close

Set Conn=Nothing

排除上面的原因之后.

用ACCESS打开你的数据库,选择菜单中的[工具]->[选项]->[高级]

更改[默认打开模式]为[共享],更改[默认记录锁定]为[不锁定].

如仍然不行将下面的选项[使用记录级锁定]也取消.

确定后保存,然后打开,修复/压缩数据库.

删除目录中的LDB文件(如无法删除,先结束相关进程或重新启动计算机删除即可)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6638966.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存