'数据库名称
    Public PubDBName As String    '数据库密码
    Public PubDBPassword As String    '使用方法:
    'Set DbsRead = OpenDatabase(App.Path & "\" &  PubDBName, False, False, ";pwd=" & PubDBPassword)
    'or
    'Data1.DatabaseName = App.Path & "\" & PubDBName
    'Data1.Connect = ";pwd=" & PubDBPassword

解决方案 »

  1.   

    这是这个论坛的一篇文章的内容,我照本宣科,呵呵。ACCESS 97:用编辑器(如UltraEdit) 将文件偏移量为14H处的13个字节分别改为:
    (16进制)
    86 FB EC 37 5D 44 9C FA C6 5E 28 E6 13ACCESS 2000:将文件偏移量为42H处的40个字节分别改为:
    29 77 EC 37 F2 C8 9C FA 69 D2 28 E6 BC 3A 8A 60 FB 18 7B 36 5A FE DF B1 D8 78 13 43 60 23 B1 33 9B ED 79 5B 3D 39 7C 2A 其实密码就是密文与上面的字节相异或(XOR)得来的。
      

  2.   

        '忘了还有:    '压缩数据库。可以忽略错误,因为下次再做也可以!
        On Error GoTo CompactDbErr
        
        If Dir(App.Path & "\db1.TMP") <> "" Then Kill App.Path & "\db1.TMP"
        If PubDBPassword <> "" Then
            DBEngine.CompactDatabase App.Path & "\" & PubDBName, App.Path & "\db1.TMP", dbLangGeneral, dbVersion30, ";pwd=" & PubDBPassword
        Else
            DBEngine.CompactDatabase App.Path & "\" & PubDBName, App.Path & "\db1.TMP", dbLangGeneral, dbVersion30
        End If
        Kill App.Path & "\" & PubDBName
        Name App.Path & "\db1.TMP" As App.Path & "\" & PubDBName