全部显示

NewCurrentDatabase 方法

       

使用 NewCurrentDatabase 方法可以在 Microsoft Access 窗口中创建一个新的 Microsoft Access 数据库 (.mdb)。

expression.NewCurrentDatabase(filepath)

expression  必需。返回“Applies To”列表中的一个对象的表达式。

filepath  必需 String 型。字符串表达式,代表新数据库文件的名称,包括路径名和文件名的后缀。如果网络支持,也可以按以下形式指定网络路径:\\Server\Share\Folder\Filename

注意   如果未提供文件扩展名,则将 .mdb 追加到文件名中

说明

可以使用该方法通过自动化(以前称为 OLE 自动化)从控制 Microsoft Access 的其他应用程序中创建一个新的数据库。例如,可以从 Microsoft Excel 中使用 NewCurrentDatabase 方法在 Microsoft Access 窗口中新建一个数据库。

注意   使用 NewAccessProject 方法可以在 Access 窗口中创建新的 Microsoft Access 项目 (.adp)。

NewCurrentDatabase 方法用于通过“自动化”从其他应用程序中创建新的 Microsoft Access 数据库。从其他应用程序中创建了一个 Microsoft Access 实例后,还必须创建一个新的数据库。这个数据库在 Microsoft Access 窗口中打开。

如果由 dbname 标识的数据库已经存在,则会出现错误。

新数据库在“管理员”用户帐户下打开。

示例

下面的示例通过“自动化”从其他应用程序中创建一个新的 Microsoft Access 数据库,然后在该数据库中创建一个新表。

可以在任何一个可以作为 COM 组件的应用程序的 Visual Basic 模块中输入这段代码。例如,可以从 Microsoft Excel、 Microsoft Visual Basic 或 Microsoft Access 中运行下列代码。

当指向 Application 对象的变量超出范围时,它所表示的 Microsoft Access 实例也将关闭。所以,必须在模块级声明这个变量。

' Include following in Declarations section of module.
Dim appAccess As Access.Application

Sub NewAccessDatabase()
    Dim dbs As Object, tdf As Object, fld As Variant
    Dim strDB As String
    Const DB_Text As Long = 10
    Const FldLen As Integer = 40

    ' Initialize string to database path.
    strDB = "C:\My Documents\Newdb.mdb"
    ' Create new instance of Microsoft Access.
    Set appAccess = _
        CreateObject("Access.Application.9")
    ' Open database in Microsoft Access window.
    appAccess.NewCurrentDatabase strDB
    ' Get Database object variable.
    Set dbs = appAccess.CurrentDb
    ' Create new table.
    Set tdf = dbs.CreateTableDef("Contacts")
    ' Create field in new table.
    Set fld = tdf. _
        CreateField("CompanyName", DB_Text, FldLen)
    ' Append Field and TableDef objects.
    tdf.Fields.Append fld
    dbs.TableDefs.Append tdf
    Set appAccess = Nothing
End Sub