Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/01/2011, 23h41   #1
Membre Expert
 
Homme Jacques Petiot
Indépendant développeur et formateur
Inscription : octobre 2007
Messages : 891
Détails du profil
Informations personnelles :
Nom : Homme Jacques Petiot
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Indépendant développeur et formateur
Secteur : Conseil

Informations forums :
Inscription : octobre 2007
Messages : 891
Points : 1 333
Points : 1 333
Par défaut Encore un pb ISAM

Hello
je viens de passer ma matinée à chercher la réponse à une
Citation:
erreur 3441:
"le séparteur du champ de spécification du fichier texte est identique au séparateur décimal ou au délimiteur de texte"
sur une ligne VB qui fonctionnait tout à fait bien:
Code :
DoCmd.TransferText acExportDelim, , "export_données_client", nom_fich, True
Ayant cherché partout, j'ai bien trouvé les explications sur le registre:
Citation:
Le dossier Jet\4.0\Engines\Text contient les paramètres d'initialisation du pilote
j'ai bien trouvé le fichier mstext40.dll sur mon disque
mais je n'arrive pas à trouver les clef correspondantes dans le registre!
Dois-je les créer entièrement à la main ou bien existe-t-il une manip pour que cette installation soit réalisée?
__________________
-------------------Simplifi----------comme si tout était simple--------
Simplifi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2011, 20h46   #2
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 939
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Maintenance données produits
Secteur : Distribution

Informations forums :
Inscription : décembre 2005
Messages : 3 939
Points : 6 278
Points : 6 278
Bonsoir,

Avec Access 2010, la clé de registre est différente.

Pour Access 2007 c'est :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\Access Connectivity Engine\Engines\Text

Pour 2010 ça doit être :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Access Connectivity Engine\Engines\Text

As-tu essayé de créer une spécification d'exportation enregistrée ?
Cela devrait éviter d'utiliser les paramètres par défaut de la base de registre,
en prenant ceux de la spécification d'exportation enregistrée.
Code :
1
2
DoCmd.TransferText acExportDelim, "spec_export_données_client" , _
                   "export_données_client", nom_fich, True
A+
LedZeppII est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 08h51   #3
Membre Expert
 
Homme Jacques Petiot
Indépendant développeur et formateur
Inscription : octobre 2007
Messages : 891
Détails du profil
Informations personnelles :
Nom : Homme Jacques Petiot
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Indépendant développeur et formateur
Secteur : Conseil

Informations forums :
Inscription : octobre 2007
Messages : 891
Points : 1 333
Points : 1 333
Bonjour LedZeppII
bien content de te voir!
j'ai effectivement cherché à cet endroit et je n'ai rien trouvé.

de plus (et alors que c'était simple en version 2007) je n'arrive plus à trouver la méthode pour spécifier les paramêtres d'exportation

Je viens de trouver mstex40.dll à cette adresse du registre:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Jet\4.0\Engines\Text
commentaire: waoouwwww
j'ai bien changé la valeur CSVdelimited par delimited( ; ) et rebooté mais ça n'a rien changé

Je ne m'explique pas pourquoi les paramêtres d'exportation aparaissent lors de l'exportation d'une table et pas pour une requête. Je viens donc d'enregistrer un fichier de paramêtres, ce qui résoud le problème de cette ligne de programme.
le souci reste de créer autant de fichiers de paramêtres que j'ai de requêtes différentes à exporter. mais surtout de devoir modifier ce fichier àchaque fois qu'on ajoute un champ à la requête (ce que les utlisateurs peuvent faire)
Avec le risque de devoir faire cette manip sur chaque base frontale?

avec tous mes remerciements
__________________
-------------------Simplifi----------comme si tout était simple--------
Simplifi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 19h44   #4
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 939
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Maintenance données produits
Secteur : Distribution

Informations forums :
Inscription : décembre 2005
Messages : 3 939
Points : 6 278
Points : 6 278
Bonsoir,

J'ai testé pour voir avec Access 2007 (sous XP, 32bit donc).
C'est bien ce qui est sous ..\Access Connectivity Engine\Engines\Text (ACETXT.DLL) qui est pris en compte.
Ce qui est ..\Jet\4.0\Engines\Text ne doit servir que pour DAO 3.6.

Je n'ai pas de "Wow6432Node" car mon système d'exploitation n'est pas 64bit.

Pour la valeur «Format» de ..\Access Connectivity Engine\Engines\Text
j'ai essayé différentes choses :
  • Delimited()
    Erreur : Paramètre incorrect dans la clé Excel de la section Engines du Registre Windows.
  • CSVDelimited
    Erreur : Le séparateur du champ de spécification du fichier texte est identique au séparateur décimal ou au délimiteur de texte.

    Je change dans les options régionales le séparateur décimal de virgule (,) en point (.).
    Erreur : Plus d'erreur.
    J'en déduis qu'avec CSVDelimited, le séparateur de champs est la virgule (,).
    Ce qui est confirmé à l'ouverture du fichier texte obtenu.
  • Delimited(;)
    Je remets mes options régionales d'origine : séparateur décimal virgule (,).
    Pas d'erreur.
Tout ça pour dire que le message d'erreur
Citation:
Le séparateur du champ de spécification du fichier texte est identique au séparateur décimal ou au délimiteur de texte
apparaît quand «Format» contient "CSVDelimited".
Donc, essaie de faire une recherche dans la base de registre sur la donnée CSVDelimited.
Essaie aussi sur la donnée ACETXT (pas ACETXT.DLL des fois qu'il y ait des version 32 et 64 bit)

Bon courage.
A+
LedZeppII est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 14/01/2011, 11h12   #5
Membre Expert
 
Homme Jacques Petiot
Indépendant développeur et formateur
Inscription : octobre 2007
Messages : 891
Détails du profil
Informations personnelles :
Nom : Homme Jacques Petiot
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Indépendant développeur et formateur
Secteur : Conseil

Informations forums :
Inscription : octobre 2007
Messages : 891
Points : 1 333
Points : 1 333
Bonjour LedZeppII
Citation:
Donc, essaie de faire une recherche dans la base de registre sur la donnée CSVDelimited.
Voilà la clef du problème !!
le recherche m'a donné:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\14.0\Access Connectivity Engine\Engines\Text
j'ai modifé Format pour mettre Delmited( ; ) et ma ligne de programme simpliste refonctionne correctement.

effectivemment, dans HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\ j'avais trouvé Jet et je m'étais jeté dessus comme la chtouille dans la braguette du bas-clergé

il y a donc deux arborescences contenant \Engines\Text et \ISAM Formats\Text:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Jet\
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\14.0\Access Connectivity Engine\
tu as raison,
Citation:
Ce qui est ..\Jet\4.0\Engines\Text ne doit servir que pour DAO 3.6.
c'est bien ..\Access Connectivity Engine\... qui règle le fonctionement de la commande DoCmd.TransferText acExportDelim,....

D'autre part, mon apréhension d'une mauvaise installation de Access était injustifiée

Un gand merci pour ton aide!! puisse cette discussion éclairer ceux qui rencontrent le même problème
__________________
-------------------Simplifi----------comme si tout était simple--------
Simplifi est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h51.


 
 
 
 
Partenaires

Hébergement Web