OVH Cloud OVH Cloud

Export résultat requete

8 réponses
Avatar
TP
Bonjour,
j'ai une base access 2000 et je veux l'interfacer avec une=20
autre application!
J'ai donc cr=E9=E9 une requete d'export sous txt mais le=20
probleme est qu'il faudrait que mes donn=E9es=20
soient "cons=E9cutives" dans mon fichie txt.

Je m'explique :

actuellement j'ai le r=E9sultat suivant sur mon export

nom1 produit1
nom2 produit1
nom3 produit2

moi ce que je voudrais c'est par exemple :

nom1produit1nom2produit1nom3produit2

Comment faire? je connais plus Excel que access donc=20
j'avais penser exporter dans un fichier excel afin de=20
faire la mise en forme avec des macros mais je me dis=20
qu'il y a peut-=EAtre le moyen de le faire directement avec=20
access

merci

8 réponses

Avatar
Raymond [mvp]
Bonjour.

je suppose que les noms et les produits sont de longueur différente, alors
comment fais-tu sur l'autre application pour importer les données sans
caractère de séparation? si c'est exact, à ma connaissance access ne sait
pas faire et si tu sais le faire sous excel, fais un export vers excel.
Sinon passe par une création de fichier texte en vba et un recordset en
lecture que tu écriras directement dans le fichier sans séparateurs.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"TP" a écrit dans le message de
news:06b301c48e87$e58e3d90$
Bonjour,
j'ai une base access 2000 et je veux l'interfacer avec une
autre application!
J'ai donc créé une requete d'export sous txt mais le
probleme est qu'il faudrait que mes données
soient "consécutives" dans mon fichie txt.

Je m'explique :

actuellement j'ai le résultat suivant sur mon export

nom1 produit1
nom2 produit1
nom3 produit2

moi ce que je voudrais c'est par exemple :

nom1produit1nom2produit1nom3produit2

Comment faire? je connais plus Excel que access donc
j'avais penser exporter dans un fichier excel afin de
faire la mise en forme avec des macros mais je me dis
qu'il y a peut-être le moyen de le faire directement avec
access

merci
Avatar
TP
En fait je me suis trompé dans mon message car le format
de données est plutôt :

nom1 produit1nom2 produit1nom3 produit2

Tu soulève un problème auquel je n'avais pas pensé, en
effet les noms et les produits sont de longueur différente
mais je souhaiterai qu'ils soient exporter avec la
longueur défini dans access (exemple 25 pour les noms,
donc nom1 avec des espaces)!

Dans mon autre appli c'est par rapport au positionnement
et à la longueur des enregistrements (par exemple
l'enregistremment doit fait 60 caractères).

Que veux-tu dire par "une création de fichier texte en vba
et un recordset en lecture que tu écriras directement dans
le fichier sans séparateurs."

Je désolé car je ne maitrise pas trop access...

merci Raymond


-----Message d'origine-----
Bonjour.

je suppose que les noms et les produits sont de longueur
différente, alors

comment fais-tu sur l'autre application pour importer les
données sans

caractère de séparation? si c'est exact, à ma
connaissance access ne sait

pas faire et si tu sais le faire sous excel, fais un
export vers excel.

Sinon passe par une création de fichier texte en vba et
un recordset en

lecture que tu écriras directement dans le fichier sans
séparateurs.


--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"TP" a écrit dans
le message de

news:06b301c48e87$e58e3d90$
Bonjour,
j'ai une base access 2000 et je veux l'interfacer avec une
autre application!
J'ai donc créé une requete d'export sous txt mais le
probleme est qu'il faudrait que mes données
soient "consécutives" dans mon fichie txt.

Je m'explique :

actuellement j'ai le résultat suivant sur mon export

nom1 produit1
nom2 produit1
nom3 produit2

moi ce que je voudrais c'est par exemple :

nom1produit1nom2produit1nom3produit2

Comment faire? je connais plus Excel que access donc
j'avais penser exporter dans un fichier excel afin de
faire la mise en forme avec des macros mais je me dis
qu'il y a peut-être le moyen de le faire directement avec
access

merci


.



Avatar
Raymond [mvp]
Lis la page : http://access.seneque.free.fr/string_en_fichier.htm
cette fonction permet d'écrire un enregistrement contenant n'importe quoi et
de placer un saut de ligne après. ce qui correspond à ton problème.

pour créer une longueur fixe il faudra que tu mettes des espaces et que tu
extrais les 25 premiers caractères. tu peux faire ainsi:
Mid(Me.nom1 & Space(25), 1, 25) & Mid(Me.produit1 & Space(25), 1, 25)
etc.....
et tu envoies tout ça dans le fichier texte.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"TP" a écrit dans le message de
news:2bcd01c48e98$ab279e10$
En fait je me suis trompé dans mon message car le format
de données est plutôt :

nom1 produit1nom2 produit1nom3 produit2

Tu soulève un problème auquel je n'avais pas pensé, en
effet les noms et les produits sont de longueur différente
mais je souhaiterai qu'ils soient exporter avec la
longueur défini dans access (exemple 25 pour les noms,
donc nom1 avec des espaces)!

Dans mon autre appli c'est par rapport au positionnement
et à la longueur des enregistrements (par exemple
l'enregistremment doit fait 60 caractères).

Que veux-tu dire par "une création de fichier texte en vba
et un recordset en lecture que tu écriras directement dans
le fichier sans séparateurs."

Je désolé car je ne maitrise pas trop access...

merci Raymond
Avatar
TP
Merci pour les tuyaux Raymond
Je vais voir si ça marche pour mon appli

@+
Avatar
TP
Bonjour Raymond
j'ai regardé ta pa sur la conversion de string en fichier

par contre moi je souhaiterai le faire pour tous les
résultats d'une requete.

Pour ce faire, je pense créer un formulaire basé sur ma
requete et ensuite utiliser ta fonction de conversion!

Mais la fonction ne prend en compte que le recordset actif!

Comment faire pour qu'elle s'applique a tous mes recordset
filtre par ma requete!

merci d'avance
Avatar
Raymond [mvp]
si tu tiens à passer par un affichage tu peux.
1- tu navigues dans le formulaire par les commande docmd.gotorecord (
DoCmd.GoToRecord , , acNext et autres ) et à chaque enregistrement tu écris
dans le fichier texte.
2- tu bases un recordset sur ton formulaire et tu navigues dans ce recordset
par ton objet et les commandes de déplacement.
3- ta requête sert de recordset et comme ci-dessus tu navigues et tu crées
pour chaque enregistrement.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"TP" a écrit dans le message de
news:376501c48f65$dbb99ce0$
Bonjour Raymond
j'ai regardé ta pa sur la conversion de string en fichier

par contre moi je souhaiterai le faire pour tous les
résultats d'une requete.

Pour ce faire, je pense créer un formulaire basé sur ma
requete et ensuite utiliser ta fonction de conversion!

Mais la fonction ne prend en compte que le recordset actif!

Comment faire pour qu'elle s'applique a tous mes recordset
filtre par ma requete!

merci d'avance
Avatar
TP
Il me faut une impression
donc peut-être que je peux passer par un état et écrire à
partir de celui-ci???
Avatar
Raymond [mvp]
tu peux aussi mais ce n'est pas plus facile. fais un essai.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"TP" a écrit dans le message de
news:37f201c48f6c$0bc92cb0$
Il me faut une impression
donc peut-être que je peux passer par un état et écrire à
partir de celui-ci???