Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-表

拆分数据库并隐藏前后台数据库表以增加安全性的实例

时 间:2012-08-13 23:42:11
作 者:在水一方   ID:20576  城市:沈阳
摘 要:近期有几个网友提出数据库安全问题,并希望看到实例,本文以access自带模板为范例做个实例供初学者参考。

正 文:

一般我们使用拆分前后台库增加安全性,后台设置密码并隐藏表可防止复制导出表,前台也用此法隐藏链接表,进一步增加安全性。这里的‘隐藏’和‘显示’必须使用代码实现,隐藏表后即使选项选择‘显示隐藏对象’也不能显示。

解压后把前后台mdb都放在桌面运行,后台密码“123”, 因为隐藏只需一次即可,所以以手动方式运行即可。手动运行模块即可隐藏或者显示表。这里说明一点:前台如果有‘生成表查询’,运行时产生的‘临时表’会重新显示,如需隐藏临时表可以在触发‘生成表查询’后引用模块代码隐藏临时表。点击下载此附件

如果前后台放在同一目录下,前台可利用以下代码自动更新链接表

自动链接后台数据库模块:
Public Function ReLink()
    Dim tbl    As TableDef
    Dim db     As Database
    Dim str    As String
    str = CurrentProject.Path & "\工时与帐单1_be.mdb"
    For Each tbl In CurrentDb.TableDefs
        If Len(tbl.Connect) > 0 And Left(tbl.Name, 1) <> "~" Then DoCmd.DeleteObject acTable, tbl.Name
    Next
    Set db = OpenDatabase(str, True, True, ";Database=" & str & ";PWD=123")
    ‘注:如后台数据有密码,在“PWD=”后写入密码。
For Each tbl In db.TableDefs
        If Left(tbl.Name, 4) <> "Msys" And Left(tbl.Name, 1) <> "~" Then DoCmd.TransferDatabase acLink, "Microsoft Access", str, acTable, tbl.Name, tbl.Name
    Next
    Set db = Nothing
End Function
  
'在启动窗体中安放一个命令按钮
'在单击事件中调用:Call ReLink



Access软件网官方交流QQ群 (群号:54525238)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助