Liens ODBC

Résolu
fitzjames Messages postés 55 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 27 février 2009 - 12 juil. 2006 à 15:05
fitzjames Messages postés 55 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 27 février 2009 - 12 juil. 2006 à 15:37
Bonjour,

J'ai un petit souci avec une macro qui se trouve sur excel 2003 et qui appelle une requêtre sur Access 2003.
La macro ci dessous marche super bien :
' Importe les données
With ActiveSheet.QueryTables.Add(Connection:= _
        "ODBC;DSN=MS Access Database;DBQ=c:\sav\Ma base NO-NE.mdb;DefaultDir=E:;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;" _
        , Destination:=Range("A1"))
        .CommandText = Array( _
        "SELECT `NO-NE Recap APHA`.Code_document, `NO-NE Recap APHA`.Type_document, `NO-NE Recap APHA`.`dernier CARI`, `NO-NE Recap APHA`.Libellé, `NO-NE Recap APHA`.Commission, `NO-NE Recap APHA`.`S-Commission`, `NO-NE Recap APHA`.CoutPRS" _
        , _
        "I, `NO-NE Recap APHA`.CoutInvest, `NO-NE Recap APHA`.CoutTotal, `NO-NE Recap APHA`.Date_début_prév, `NO-NE Recap APHA`.Date_fin_prév  FROM `\\B561782\sav\Ma base NO-NE`.`NO-NE Recap APHA` `NO-NE Recap APHA`" _
        )
        .Name = "RecapAPHA"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .Refresh BackgroundQuery:=False
End With

mais quand je met le chemin d'accès dans une variable elle bug.
Dim Chemin
Chemin = Sheets.Range("D19").Value
' Importe les données
With ActiveSheet.QueryTables.Add(Connection:= _
        "ODBC;DSN=MS Access Database;DBQ=Chemin;DefaultDir=E:;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;" _
        , Destination:=Range("A1"))
        .CommandText = Array( _
        "SELECT `NO-NE Recap APHA`.Code_document, `NO-NE Recap APHA`.Type_document, `NO-NE Recap APHA`.`dernier CARI`, `NO-NE Recap APHA`.Libellé, `NO-NE Recap APHA`.Commission, `NO-NE Recap APHA`.`S-Commission`, `NO-NE Recap APHA`.CoutPRS" _
        , _
        "I, `NO-NE Recap APHA`.CoutInvest, `NO-NE Recap APHA`.CoutTotal, `NO-NE Recap APHA`.Date_début_prév, `NO-NE Recap APHA`.Date_fin_prév  FROM `\\B561782\sav\Ma base NO-NE`.`NO-NE Recap APHA` `NO-NE Recap APHA`" _
        )
        .Name = "RecapAPHA"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .Refresh BackgroundQuery:=False
End With

J'ai comme message : Could not file'E:\Chemin.mdb'.

Je comprend pas bien car j'ai pas de disque E et l'espion express m'indique bien le chemin que j'ai indiquer dans la cellule D19= c:\sav\Ma base NO-NE.mdb .

Merci d'avance

[?] Estelle[8D]

1 réponse

fitzjames Messages postés 55 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 27 février 2009 1
12 juil. 2006 à 15:37
J'ai trouvé. Merci

Dim Chemin
Chemin = Sheets.Range("D19").Value
' Importe les données
With ActiveSheet.QueryTables.Add(Connection:= _
        "ODBC;DSN=MS Access Database;DBQ=" & Chemin & ";DefaultDir=E:;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;" _
        , Destination:=Range("A1"))
        .CommandText = Array( _
        "SELECT `NO-NE Recap APHA`.Code_document, `NO-NE Recap APHA`.Type_document, `NO-NE Recap APHA`.`dernier CARI`, `NO-NE Recap APHA`.Libellé, `NO-NE Recap APHA`.Commission, `NO-NE Recap APHA`.`S-Commission`, `NO-NE Recap APHA`.CoutPRS" _
        , _
        "I, `NO-NE Recap APHA`.CoutInvest, `NO-NE Recap APHA`.CoutTotal, `NO-NE Recap APHA`.Date_début_prév, `NO-NE Recap APHA`.Date_fin_prév  FROM `\\B561782\sav\Ma base NO-NE`.`NO-NE Recap APHA` `NO-NE Recap APHA`" _
        )
        .Name = "RecapAPHA"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .Refresh BackgroundQuery:=False
End With

[?] Estelle[8D]
3
Rejoignez-nous