使用Excel VBA中的密码创建MS Access数据库文件

时间:2019-07-04 12:38:50

标签: excel vba ms-access

我想通过Excel VBA创建MS Access文件.mdb。我想通过Excel VBA为此访问文件设置密码。

下面的代码可以创建Access文件,但无需密码。

Sub Example1()
    'the path to create the new access database
    Dim strPath As String
    'an Access object
    Dim objAccess As Object

    strPath = "D:\VBA\NewDB2.mdb"
    Set objAccess = CreateObject("Access.Application")
    Call objAccess.NewCurrentDatabase(strPath)
    objAccess.Quit
End Sub

如何设置密码?

2 个答案:

答案 0 :(得分:0)

应该是这样的

Option Explicit

Public Sub CreatePasswordProtectedDatabase()
    Dim strPath As String
    strPath = "D:\VBA\NewDB2.mdb"

    'create new Access application
    Dim objAccess As Object
    Set objAccess = CreateObject("Access.Application")

    'objAccess.Visible = True 'show or hide Access

    'create new database
    objAccess.NewCurrentDatabase strPath

    'example to add a table
    objAccess.DoCmd.RunSQL "CREATE TABLE Test", False
    objAccess.DoCmd.RunSQL "ALTER TABLE Test add Gender char(1)", False

    'set password
    Dim DbPassword As String
    DbPassword = "your_password"
    objAccess.CurrentProject.Connection.Execute "ALTER DATABASE PASSWORD " & DbPassword & " NULL"

    'close database
    objAccess.CloseCurrentDatabase

    'quit Access application
    objAccess.Quit
End Sub

答案 1 :(得分:0)

请注意,如果您使用的是Office 2007或更高版本,则必须添加FileFormat参数,以使Access文件采用mdb格式:

'create new database
objAccess.NewCurrentDatabase strPath, 10

10,即acNewDatabaseFormatAccess2002 constant的值。