拆分数据库并隐藏前后台数据库表以增加安全性的实例-AngelHis
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-表


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

发表时间:2012/8/13 23:42:11 评论(5) 浏览(14383)  评论 | 加入收藏 | 复制
   
摘 要:近期有几个网友提出数据库安全问题,并希望看到实例,本文以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群(群号:198465573)
 
 相关文章
为何要把数据库进行拆分及拆分方法  【竹笛  2004/4/3】
“access数据库拆分”之浅见  【lymin  2008/10/25】
access2007拆分数据库的方法  【褚玉春  2009/4/25】
在access中手动拆分数据库  【Microsoft  2009/9/5】
拆分数据库  【http://www.microsoft.com/  2012/4/29】
常见问答
技术分类
相关资源
文章搜索
关于作者

AngelHis

文章分类

文章存档

友情链接