使用 NewCurrentDatabase 方法可以在 Microsoft Access 窗口中創(chuàng)建一個(gè)新的 Microsoft Access 數(shù)據(jù)庫(kù) (.mdb)。
expression.NewCurrentDatabase(filepath)
expression 必需。返回“應(yīng)用于”列表中的一個(gè)對(duì)象的表達(dá)式。
filepath 必需 String 型。字符串表達(dá)式,代表新數(shù)據(jù)庫(kù)文件的名稱,包括路徑名和文件名的后綴。如果網(wǎng)絡(luò)支持,也可以按以下形式指定網(wǎng)絡(luò)路徑:\\Server\Share\Folder\Filename
注釋 如果未提供文件擴(kuò)展名,則將 .mdb 追加到文件名中
可以使用該方法通過自動(dòng)化(以前稱為 OLE 自動(dòng)化)從控制 Microsoft Access 的其他應(yīng)用程序中創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù)。例如,可以從 Microsoft Excel 中使用 NewCurrentDatabase 方法在 Microsoft Access 窗口中新建一個(gè)數(shù)據(jù)庫(kù)。
注釋 使用 NewAccessProject 方法可以在 Access 窗口中創(chuàng)建新的 Microsoft Access 項(xiàng)目 (.adp)。
NewCurrentDatabase 方法用于通過“自動(dòng)化”從其他應(yīng)用程序中創(chuàng)建新的 Microsoft Access 數(shù)據(jù)庫(kù)。從其他應(yīng)用程序中創(chuàng)建了一個(gè) Microsoft Access 實(shí)例后,還必須創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù)。這個(gè)數(shù)據(jù)庫(kù)在 Microsoft Access 窗口中打開。
如果由 dbname 標(biāo)識(shí)的數(shù)據(jù)庫(kù)已經(jīng)存在,則會(huì)出現(xiàn)錯(cuò)誤。
新建數(shù)據(jù)庫(kù)以 Admin用戶帳戶打開。
下面的示例通過“自動(dòng)化”從其他應(yīng)用程序中創(chuàng)建一個(gè)新的 Microsoft Access 數(shù)據(jù)庫(kù),然后在該數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)新表。
可以在任何一個(gè)可以作為 COM 組件的應(yīng)用程序的 Visual Basic 模塊中輸入這段代碼。例如,可以從 Microsoft Excel、 Microsoft Visual Basic 或 Microsoft Access 中運(yùn)行下列代碼。
當(dāng)指向 Application 對(duì)象的變量超出范圍時(shí),它所表示的 Microsoft Access 實(shí)例也將關(guān)閉。所以,必須在模塊級(jí)聲明這個(gè)變量。
' 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