access-VBA编程 第10章 安 全-小周
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


access-VBA编程 第10章 安 全

发表时间:2009/3/2 9:09:55 评论(0) 浏览(6354)  评论 | 加入收藏 | 复制
   
摘 要:vba
正 文:


第10章 安 全


处理加了密码的MDB数据库文件
当 MDB 文件加了密码,直接由 Access 打印MDB文件时,会出现密码对话框,询问密码。但是若要由 VB或BA程序中打印,必須更改B和VBA序中打开MDB文件的指令,否则会出现错误信息!以下针对各种情况,分別加以说明:
1、使用 DAO 命令打开MDB文件: OpenDatabase
若要由程序中打开,命令如下:
Set DB = OpenDatabase(DatabaseName, False, False, ";Pwd=密码")
实例:
Dim db As Database
Set db = OpenDatabase("C:\db1.mdb", False, False, ";Pwd=1")
若要使用 Data 控件,设定方法如下:
1、设定 DatabaseName 属性 (MDB文件名称 / 含路径)
2、设定 Connect 属性,將预设的字串 "Access" 改成 ";Pwd=密码" (不含双引号)
3、设定 RecordSource 属性
2、使用 ADO 命令打开MDB文件:
在使用 ADODC 或 DataEnvironment 设定好之后,直接利用属性窗口修改 ConnectionString 属性(附属于ADODC) 或 ConnectionSource 属性(附属于 DataEnvironment 的 Connection 控件),修改的方法是在属性之后增加以下参数:
;Jet OLEDB:Database Password=密码
除了 ADODC 及 DataEnvironment 之外, 直接使用 ADO 控件來打开含有密码的 mdb MDB文件,设定参数的方法也是相同的。
3、压缩加了密码的MDB文件:CompactDatabase
DBEngine.CompactDataBase "原MDB文件", "新MDB文件", , , ";pwd=密码"
实例例如:
DBEngine.CompactDatabase "C:\Db1.mdb", "C:\Db2.mdb", , , ";pwd=1"
4、复加了密码的MDB文件: RepairDatabase
不必理会MDB文件设定的密码!
DBEngine.RepairDataBase "MDB文件"
实例例如:
DBEngine.RepairDataBase "C:\Db1.mdb"
以下给出一个函数可以使用DAO打开带密码保护的MDB数据库文件:
Public Function OpenPasswordProtectedDatabase(DBPath As String, _
Password As String) As Object
On Error Resume Next
Dim db As DAO.Database
Set db = DAO.OpenDatabase(DBPath, False, False, _
";pwd=" & Password)
If Err.Number = 0 Then
Set OpenPasswordProtectedDatabase = db
Else
Set OpenPasswordProtectedDatabase = Nothing
End If
End Function
其中参数DBPath为数据库文件的有效路径名称;参数Password为密码。
该函数需要引用DAO数据库才有效。
如何调出工作组对话框
调出“用户与组帐号”对话框:DoCmd.DoMenuItem acFORMBar, 6, 5, 2, acMenuVer70 调出“用户与组权限”对话框:DoCmd.DoMenuItem acFORMBar, 6, 5, 1, acMenuVer70
以上语句在office2000里测试通过
试用版限制时间与日期的方法
可用注册表简单地保存已用的天数或次数 '
次数限制(如30次):
Private Sub Form_Load()
Dim a As Long
Dim b As Long
b = GetSetting("MyApp", "set", "times", 51345)
a = b Xor 51345
If a < 30 Then
MsgBox "现在剩下:" & 30 - a & "试用次数,好好珍惜!"
a = a + 1
b = b Xor 51345
SaveSetting "MyApp", "set", "times", b
Else
MsgBox "试用次数已满,请联系gfuuyygy!"
End If
End Sub
'时间限制的(如10天)
Private Sub Form_Load()
Dim a As Long
a = GetSetting("MyApp", "set", "day", 0)
If a = 10 Then
MsgBox "试用期已过,请联系gfuuyygy!"
Else
MsgBox "现在剩下:" & 10 - a & "试用天数,好好珍惜!"
if day(now)-a>0 then
a = RemainDay + 1
SaveSetting "MyApp", "set", "times", a
End if
End if
End Sub

上一节


Access软件网交流QQ群(群号:198465573)
 
 相关文章
ACCESS VBA编程(日期、时间函数)  【小英  2013/3/1】
【Access教程】VBA编程基础(一)  【漏蛧尐魚℡  2013/3/28】
一句话解释:Access的VBA编程代码区分大小写吗?窗体及其他对...  【麥田  2013/3/30】
【vba编程】vba编程基础教程  【漏蛧尐魚℡  2013/5/23】
常见问答
技术分类
相关资源
文章搜索
关于作者

小周

文章分类

文章存档

友情链接