[ACCESS] Provider error 3706

Pagina: 1
Acties:
  • 501 views sinds 30-01-2008
  • Reageer

  • J_Davelaar
  • Registratie: Maart 2001
  • Laatst online: 11-11 07:41
Ik probeer vanuit een Access db een verbinding op te zetten naar een andere access db die beveiligd is met een .mdw bestand. Ik blijf echter steeds dezelfde error krijgen.
Fout 3706 tijdens de uitvoering:
Kan de voorziening niet vinden. Mogelijk is deze niet juist geinstalleerd.
Uiteraard heb ik al gezocht hier op het forum, google en msdn. Ik kom echter niet verder dan de naam van de foutmelding en een iets langere omschrijving van hetzelfde probleem.

De gebruikte code:
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Sub Test()
'-------------
    Dim MyConnection As ADODB.Connection
    Set MyConnection = New ADODB.Connection
    
    Dim MyRecordSet As ADODB.Recordset
    Set MyRecordSet = New ADODB.Recordset

    With MyConnection
        .Provider = "Provider=Microsoft.Jet.OLEDB.4.0"
        .Properties("Jet OLEDB:System Database") = "db.mdw"
        .Open "Data Source=db.mdb;" & "User ID=*******;Password=*************;"
    End With
    
    With MyRecordSet
        .Open "tblKunstwerk", MyConnection, , , adCmdTable
    End With
         
    MyRecordSet.Close
    MyConnection.Close

    Set MyRecordSet = Nothing
    Set MyConnection = Nothing
End Sub

Wat verder raar is. is dat wanneer ik een connection string maak met daarin alle gegevens: provider, datasource e.d. en de properties niet gebruik, dat het wel werkt. Alleen heb ik dan dus geen koppeling met het mdw bestand.

Was ik maar een punt dan was ik het einde


  • J_Davelaar
  • Registratie: Maart 2001
  • Laatst online: 11-11 07:41
Ik heb mem nog verder de krampen gezocht en ik weet nog steeds niet waarom het niet werkt. Wel krijg ik het op een andere manier aan de gang.
Het werkt blijkbaar wel wanneer ik gebruik maak van een volledige string. Ik ben er alleen pas net achter hoe hierin ook een mdw bestand te verwerken

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Sub Test2()
'-------------
    Dim MyConnection As ADODB.Connection
    Set MyConnection = New ADODB.Connection
    
    Dim MyRecordSet As ADODB.Recordset
    Set MyRecordSet = New ADODB.Recordset
    
    ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                        "Data Source=db.mdb;" & _
                        "Jet OLEDB:System Database=db.mdw;" & _
                        "User ID=****;Password=*************;"
    MyConnection.Open ConnectionString
    
    MyRecordSet.Open "tblKunstwerk", MyConnection, , , adCmdTable
      
    Do Until MyRecordSet.EOF
        Debug.Print MyRecordSet.Fields(0), MyRecordSet.Fields(1)
        MyRecordSet.MoveNext
    Loop
        
    MyRecordSet.Close
    MyConnection.Close

    Set MyRecordSet = Nothing
    Set MyConnection = Nothing
End Sub


Het zou nog wel prettig zijn als iemand mij zou kunnen vertellen wat nu het verschil is. Volgens verschillende handleidingen zou het namelijk op beide manieren moeten werken.

Was ik maar een punt dan was ik het einde