设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 9082|回复: 7

[与其它组件] 如何在启动时禁用/启用SHIFT键

[复制链接]
发表于 2004-4-11 01:26:00 | 显示全部楼层 |阅读模式
大家都知道,对于ACCESS 文件来说,只要在启动时按住SHIFT键,都可以进入内部查看到所有的表、查询、窗体等,对于这一点,其实可以很简单的解决。
1、首先在模块里建立两个函数
Public Function LockShift()’禁用
    CurrentProject.Properties.Add "AllowBypassKey", 0
End Function

Public Function UnLockShift()‘启用
    CurrentProject.Properties.Add "AllowBypassKey", -1
End Function

2、新建宏,点击工具条上的“视图”-宏名,按照下面建立
宏名{F11},操作RunCode,函数名称LockShift()
宏名{F12},操作RunCode,函数名称UnLockShift()
保存宏的名称为autokeys

3、保存退出,重新进入。按下F11键就可在下次启动时使Shift键失效,如果想再次启用,在进入后按F12键即可

发表于 2004-4-11 01:27:00 | 显示全部楼层
我用另外的文件通通导入呢?

想想看这个怎么对付?
 楼主| 发表于 2004-4-11 01:31:00 | 显示全部楼层
可否说的明白些?
发表于 2004-4-11 01:37:00 | 显示全部楼层
我新建一个MDB,从你的文件里把所有对象通通导入,绕过autokeys这个宏
 楼主| 发表于 2004-4-11 01:54:00 | 显示全部楼层
其实这是我在做一个系统时后期遇到的问题,我使用的是adp文件,ACCESS 用做前端,后端使用的是MSSQL,在实际的运用中,我并没有使用autokeys这个宏,这个办法只是提供给还不知道这个功能的人一个思路。
我实际的解决办法:
1、启动是用的刚才给下面万木春回的那个贴子中的方法,用了个登录窗体,必须输入正确的SQL用户名及密码才能登录,否则不能进入数据库。
2、在主执行窗体(不是登录的窗体)的form_load 事件中加入call LockShift
3、在其它的任意窗体中(我用的about窗体)加入一个按钮,在clik事件中写入call UnLockShift,在窗体的form_load事件中判断用登录用户是否为sa(SQL中的管理员),如果是,按钮可见,如果是其它用户,按钮不可见。这样,只有用管理员登录才能够解锁。
发表于 2004-4-11 07:14:00 | 显示全部楼层
直接用程序新建一个 APPLICATION 然后修改 SHTIP 键锁定不就行了?无需在数据库本身做手脚吧?
发表于 2004-4-11 19:28:00 | 显示全部楼层
用"设置安全机制向导"功能不是更可靠.
发表于 2004-4-13 00:10:00 | 显示全部楼层
以下是引用blsoft在2004-4-10 17:54:18的发言:
其实这是我在做一个系统时后期遇到的问题,我使用的是adp文件,ACCESS 用做前端,后端使用的是MSSQL,在实际的运用中,我并没有使用autokeys这个宏,这个办法只是提供给还不知道这个功能的人一个思路。
我实际的解决办法:
1、启动是用的刚才给下面万木春回的那个贴子中的方法,用了个登录窗体,必须输入正确的SQL用户名及密码才能登录,否则不能进入数据库。
2、在主执行窗体(不是登录的窗体)的form_load 事件中加入call LockShift
3、在其它的任意窗体中(我用的about窗体)加入一个按钮,在clik事件中写入call UnLockShift,在窗体的form_load事件中判断用登录用户是否为sa(SQL中的管理员),如果是,按钮可见,如果是其它用户,按钮不可见。这样,只有用管理员登录才能够解锁。

我認為是一個值得借鑒的好方法
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-9-20 17:37 , Processed in 0.122360 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表