2010-07-23 99 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

相关问题