2010-07-23 101 views
5

我有一個這樣的文件:ADODB連接到ACCDB文件 - 無法識別的數據庫格式錯誤

strPath = "S:\HR\Forms\forms_database.accdb" 

我連接到它通過一個WORD adodb.connection

應我的數據庫是一個不同的擴展? MDB什麼的?

unrecognized database format 's:...............accdb' 

什麼是怎麼回事:

時,它會嘗試連接我得到這個錯誤?

這裏是整個代碼:

Sub TransferShipper() 

    'Transfer new shipping company record to 

    'Shippers table in Northwind database. 

    Dim cnn As ADODB.Connection 
    Dim strConnection As String 
    Dim strSQL As String 
    Dim strPath As String 
    Dim doc As Word.Document 
    Dim strCompanyName As String 
    Dim strPhone As String 
    Dim bytContinue As Byte 
    Dim lngSuccess As Long 
    Set doc = ThisDocument 
    On Error GoTo ErrHandler 

    strCompanyName = Chr(39) & doc.FormFields("txtCompanyName").Result & Chr(39) 
    strPhone = Chr(39) & doc.FormFields("txtPhone").Result & Chr(39) 
    'Confirm new record. 
    bytContinue = MsgBox("Do you want to insert this record?", vbYesNo, "Add Record") 
    Debug.Print bytContinue 
    'Process input values. 
    If bytContinue = vbYes Then 
    strSQL = "INSERT INTO vacation " _ 
    & "(title, department) " _ 
    & "VALUES (" _ 
    & strCompanyName & ", " _ 
    & strPhone & ")" 
    Debug.Print strSQL 
    'Substitute path and connection string with DSN if available. 
    strPath = "S:\HR\Forms\forms_database.accdb" 
    strConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" _ 
    & "Data Source = " & strPath 
    Debug.Print strConnection 
    Set cnn = New ADODB.Connection 
    cnn.Open strConnection 
    cnn.Execute strSQL, lngSuccess 
    cnn.Close 
    MsgBox "You inserted " & lngSuccess & " record", _ 
    vbOKOnly, "Error Added" 
    doc.FormFields("txtCompanyName").TextInput.Clear 
    doc.FormFields("txtPhone").TextInput.Clear 
    End If 
    Set doc = Nothing 
    Set cnn = Nothing 
    Exit Sub 
ErrHandler: 
    MsgBox Err.Number & ": " & Err.Description, _ 
    vbOKOnly, "Error" 
    On Error GoTo 0 
    On Error Resume Next 
    cnn.Close 
    Set doc = Nothing 
    Set cnn = Nothing 
End Sub 

回答

9

嘗試ACE OLEDB 12.0爲DB版本。

"Provider=Microsoft.ACE.OLEDB.12.0" 
+0

你是男人非常感謝! – 2010-07-23 19:03:07

相關問題