2010-07-23 24 views
5

Tôi có một tập tin như thế này:kết nối ADODB để ACCDB tập tin - không được công nhận lỗi định dạng cơ sở dữ liệu

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

Tôi đang kết nối với nó qua một WORD adodb.connection

nên cơ sở dữ liệu của tôi là một phần mở rộng khác nhau? MDB hay gì đó?

Tôi nhận được lỗi này khi nó cố gắng để kết nối:

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

những gì đang xảy ra ở đây?

đây là toàn bộ mã:

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 

Trả lời

9

Hãy thử ACE OLEDB 12.0 là phiên bản db.

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

bạn là người đàn ông cảm ơn rất nhiều! –

Các vấn đề liên quan