|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Louis GilbertArchéologue Inscription : novembre 2011 Messages : 7 ![]() |
Bonjour,
J'essaie de rendre la mise à jour la plus facile pour l'utilisateur d'une base de données Access. Les données qui permettent la mise à jour sont en fichiers .csv, et sont liées à l'application Access. Avant de faire la mise à jour des tables access comme tel, je voudrais, par un bouton, faire effectuer un rafraîchissement des tables liées. Loin d'être programmateur moi-même, j'ai trouvé du code ici et là (souvent ici...), et je me débrouille habituellement pas mal. Mais là je n'arrive pas à contourner l'erreur obtenue: "Erreur d'exécution '3170': Pilot ISAM introuvable". Voici le code que j'utilise (en rouge, la ligne surlignée par le débogueur): Code :
Merci de votre aide précieuse! Louis |
||
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 090 ![]() |
Bonjour,
L'origine du problème est la ligne précédente. La propriété Connect attend une string plus formalisée. D'une par tu affectes non pas le chemin de ta base mais litéralement ceci CurrentProject.Path. Si tu attaches manuellement le fichier il va te donner la bonne connect string. Celle-ci devrait ressemebler à ça. Code :
Text;DSN=Spécification d'attache;FMT=Delimited;HDR=NO;IMEX=2;CharacterSet=850;ACCDB=YES;DATABASE=F:\Access\Applications\Amap\source xls Donc : Code :
tdf.Connect = left(tdf.Connect,instr(1,tdf.Connect,";database=")+9) & currentproject.path Note que si tu écrases l'ancien fichier un tdf.refreshlink seul est suffisant. Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste MsGraph et VBA - 1e Partie 2e partie Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010 Complément :Générateur de msgbox Visitez mon Blog Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine |
|
10
|
|
|
#3 | |
|
Invité de passage
![]() Louis GilbertArchéologue Inscription : novembre 2011 Messages : 7 ![]() |
Citation:
Je garde toutefois le reste en banque, car je ne sais pas si l'utilisateur voudra mettre les tables csv dans son répertoire de travail (ce que je lui suggérerai). J'ai beaucoup de difficulté à trouver la façon de référer au dossier en cours dans le code, afin de tenir compte du fait que chaque usager mettra le fichier dans un dossier différent... |
|
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 090 ![]() |
Bonjour,
Le système est plein de chemin prédéfini. Fait un Set sous dos pour que le système te liste ces chemins. Exemple le userprofile qui pointe sur le dossier de l'utilisateur. Pour y faire référence avec VBA : environ("userprofile") Pour l'utiliser Code :
environ("userprofile") & "\mes documents" Sinon il y a le bon vieux OuvrirFichier pour obliger l'utilisateur à choisir le répertoire où il a mis les fichiers. Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste MsGraph et VBA - 1e Partie 2e partie Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010 Complément :Générateur de msgbox Visitez mon Blog Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine |
|
10
|
Copyright © 2000-2012 - www.developpez.com