Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

''Import données externes'' VBA

4 réponses
Avatar
Hervé
Bonjour,

je souhaiterai cr=E9er une proc=E9dure automatique pour=20
importer un fichier txt.

G=E9n=E9ralement je fais Fichier/Importer/Donn=E9es Externes,=20
mais je d=E9sirerai cr=E9er une proc=E9dure automatique que je=20
placerai derri=E8re un bouton.

Avez-vous un exemple de code =E0 me communiquer ?

Merci

4 réponses

Avatar
Jérôme Roux
regarde la méthode DoCmd.TransferText, cela doit faire ce
que tu veux

-----Message d'origine-----
Bonjour,

je souhaiterai créer une procédure automatique pour
importer un fichier txt.

Généralement je fais Fichier/Importer/Données Externes,
mais je désirerai créer une procédure automatique que je
placerai derrière un bouton.

Avez-vous un exemple de code à me communiquer ?

Merci
.



Avatar
Anor
Bonjour,

Il faut créer une spécification d'importation et tu y fais référence dans l'appel
de la commande transfertext.

Plus de précisions dans les archives du forum :
http://groups.google.com/groups?meta=group%3Dmicrosoft.public.fr.access&hl=fr&ie=ISO-8859-1&scoring=d&numP&cat=&language=&q=&query#91

--
à+
Arnaud
--------------------------------------------------
Conseils d'utilisation, sites recommandés :
http://users.skynet.be/mpfa/
Access Memorandum - http://memoaccess.free.fr
--------------------------------------------------


Hervé a confié :
| C'est pourtant la fonction que j'utilise :
|
| DoCmd.TransferText , , "Logiciels", "c:Licences_Office.txt
| ", False
|
| Je veux intégrer le fichier txt dans ma table "Logiciels".
| J'ai mis l'argument False car ma table existe déjà et elle
| contient les noms des champs.
| Mais en retour j'obtiens "Erreur d'éxécution 2391. Le
| champ F1 n'existe pas dans la table destination
| Logiciels ..."
| Je n'ai nulle part de champ F1.
| Quand je passe l'argument à True, il m'importe bien la
| première ligne en nom de champ.
| Quelqu'un pourrait me dépanner svp ? Merci.
|
|| -----Message d'origine-----
|| regarde la méthode DoCmd.TransferText, cela doit faire ce
|| que tu veux
Avatar
Mrs Pomemboo
Bonjour Hervé,

Les champs F1, F2, F3, etc, sont en fait les noms donnés par défaut aux
colonnes que tu importes à partir d'un fichier texte ne contenant pas le nom
des champs dans la première ligne. Ainsi, c'est normal de se retrouver avec
une erreur, puisqu'Access ne peut correctement établir les références de
colonnes entre ton fichier et la table où tu veux importer tes données.

Pour ce faire, il existe plusieurs méthodes pour parvenir à tes fins et ce,
dépendamment de ce que tu tentes vraiment d'ajouter dans ta table Logiciels.
Est-ce que tu ajoutes des lignes complètes, ou seulement une colonne précise
en fonction d'un clé quelconque située et dans ta table Logiciels et dans
ton fichier texte ? Aussi, est-ce que ton fichier texte est appelé à être
modifié dans son nombre de champs ?

Si tu précises davantage, je pourrai te suggérer une solution en fonction de
tes besoins.
--
Mrs Pomemboo (Québec, Canada)


C'est pourtant la fonction que j'utilise :

DoCmd.TransferText , , "Logiciels", "c:Licences_Office.txt
", False

Je veux intégrer le fichier txt dans ma table "Logiciels".
J'ai mis l'argument False car ma table existe déjà et elle
contient les noms des champs.
Mais en retour j'obtiens "Erreur d'éxécution 2391. Le
champ F1 n'existe pas dans la table destination
Logiciels ..."
Je n'ai nulle part de champ F1.
Quand je passe l'argument à True, il m'importe bien la
première ligne en nom de champ.
Quelqu'un pourrait me dépanner svp ? Merci.

-----Message d'origine-----
regarde la méthode DoCmd.TransferText, cela doit faire ce
que tu veux


Avatar
Hervé
Merci.
Je n'avais pas créé de modèle d'importation, je pensais
que c'était une option facultative ...
L'important c'est que ça marche ;o)

-----Message d'origine-----
Bonjour,

Il faut créer une spécification d'importation et tu y
fais référence dans l'appel

de la commande transfertext.

Plus de précisions dans les archives du forum :
http://groups.google.com/groups?meta=group%
3Dmicrosoft.public.fr.access&hl=fr&ie=ISO-8859-

1&scoring=d&numP&cat=&language=&q=&query#91

--
à+
Arnaud
--------------------------------------------------
Conseils d'utilisation, sites recommandés :
http://users.skynet.be/mpfa/
Access Memorandum - http://memoaccess.free.fr
--------------------------------------------------


Hervé a confié :
| C'est pourtant la fonction que j'utilise :
|
|
DoCmd.TransferText , , "Logiciels", "c:Licences_Office.txt

| ", False
|
| Je veux intégrer le fichier txt dans ma
table "Logiciels".

| J'ai mis l'argument False car ma table existe déjà et
elle

| contient les noms des champs.
| Mais en retour j'obtiens "Erreur d'éxécution 2391. Le
| champ F1 n'existe pas dans la table destination
| Logiciels ..."
| Je n'ai nulle part de champ F1.
| Quand je passe l'argument à True, il m'importe bien la
| première ligne en nom de champ.
| Quelqu'un pourrait me dépanner svp ? Merci.