Office中国论坛/Access中国论坛

标题: 怎样在前台打开带密码的后台数据库? [打印本页]

作者: qpzm    时间: 2006-8-22 02:42
标题: 怎样在前台打开带密码的后台数据库?
这是个老问题了,刚才在论坛里搜了一下,贴子很多,可没找到一个实际解决的问题的帖子,请朋友们帮帮忙,有现成例子的请上传给我参考,谢谢!
作者: fan0217    时间: 2006-8-22 02:46
用链接表向导,会有提示输入密码,根据向导提示完成即可。当然也可以用代码来做。

strName:数据库名称;strPath:数据库路径;strPWD;数据库密码;

Public Function ReLink(ByVal strName As String, ByVal strPath As String, ByVal strPWD) As Boolean
    Dim dbs As Database
    Dim tdf As TableDef, i As Variant

  On Error GoTo ErrorHandler

    ReLink = False
    Set dbs = CurrentDb
   
   
    For Each i In Application.CurrentData.AllTables  '历遍的有表
    If DCount("*", "MSysObjects", "[Name]='" & i.Name & "' And [Type]=6") > 0 Then
                       '判断只有链接表才运行以下代码
      strName = i.Name
    Set tdf = dbs.TableDefs(strName)
    tdf.Connect = "WD=" & strPWD & ";database=" & strPath
    tdf.RefreshLink

    End If
    Next i
   
    ReLink = True
    Exit Function
   
ErrorHandler:    ' 错误处理程序。
   

    MsgBox "刷新失败!" & vbCr & vbCr & "失败原因 :" & vbCr & vbCr & _
        "错误代码 : " & Err.Number & vbCr & _
        "错误描述 : " & Err.Description, _
        vbCritical
End Function


[此贴子已经被作者于2006-8-21 18:48:12编辑过]


作者: qpzm    时间: 2006-8-22 03:28
请问版主,上面的代码放在什么地方用?(我只懂些简单代码的用法,呵呵),我传了个例子,麻烦你做好传给我好吗?

密码:123

[attach]19908[/attach]

作者: qpzm    时间: 2006-8-22 19:49
各位版主请帮帮忙,将fan0217版主的代码放到上面的例子中,这样我容易理解些,(不懂代码不知怎么弄),谢谢各位,急待中。。。。。。。。
作者: fan0217    时间: 2006-8-23 06:27
Dim blnl As Boolean
    bln = ReLink("XYZ.mdb", "C:\ABC", "123")
    If bln Then MsgBox ("链接成功!")


作者: qpzm    时间: 2006-8-23 18:00
老大,还是搞不定呀,你做好那个例子给我好不好,拜托了!




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3