Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

如何禁止用户打开数据库

悠悠  发表于:2008-03-02 08:55:25  
复制

在不使用密码的情况下如何禁止用户打开数据库?情况是这样的,我做了一个注册程序,在用户不注册的情况下不能打开数据库,但是,如果用户使用SHIFT键还是可以打开数据库的.如何做才能使用户在使用SHIFT的情况下也打不开数据库呢?

 

Top
李双军 发表于:2008-03-02 09:05:16
禁止用shift键
Function ChangeProperty(strPropName As String, varPropType As Variant, varPropvalue As Variant) As Integer
  Dim dbs As Object, prp As Variant
  Const conPropNotFoundError = 3270

  Set dbs = CurrentDb
  On Error GoTo Change_Err
  dbs.Properties(strPropName) = varPropvalue
  ChangeProperty = True

Change_Bye:
  Exit Function

Change_Err:
  If Err = conPropNotFoundError Then  ' Property not found.
    Set prp = dbs.CreateProperty(strPropName, _
      varPropType, varPropvalue)
    dbs.Properties.Append prp
    Resume Next
  Else
    ' Unknown error.
    ChangeProperty = False
    Resume Change_Bye
  End If
End Function

调用方法:
建一个窗体,在某一按钮的单击事件中写如下代码:
ChangeProperty "AllowBypassKey", 1, False 'false为禁止SHIFT键,TRUE为恢复

悠悠 发表于:2008-03-02 10:13:31
以上方法虽然可以禁用SHIFT键,但是还是有方法启用SHIFT键的.因此我的想法就是不让打开数据库,代码该怎么写呢?

andymark 发表于:2008-03-02 10:16:40

除了禁止SHIFT键外,还可以在窗体加入权限或检测是否正常登陆来决定打开此窗体。这样即便别人通过工具还原SHIFT键也不能打开窗体

 



竹笛 发表于:2008-03-02 10:29:41
好的软件,源程序给别人,也够别人研究三五年的。还是朝这个方向努力吧。

陈俊杰 发表于:2008-03-03 12:11:43

我也有同样的问题,    好的软件,源程序给别人,也够别人研究三五年的。还是朝这个方向努力吧。    这是最高层次的方向.   但是也有低要求一点的嘛.有钱的当然开宝马去了,收入不是太高开个QQBN



陈俊杰 发表于:2008-03-03 12:14:32
我也有同样的问题,    好的软件,源程序给别人,也够别人研究三五年的。还是朝这个方向努力吧。    这是最高层次的方向.   但是也有低要求一点的嘛.有钱的当然开宝马去了,收入不是太高开个QQ也是正常的嘛.  我看大家做的很多数据库都有自己建的一个密码表,但是按住SHIFT进去一看那密码不是白费了吗?  所以我觉得这个问题还是值得大家研究一下的

andymark 发表于:2008-03-03 14:44:38
密码可以加密的

总记录:7篇  页次:1/1 9 1 :