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