Rechercher : dans
Par :

Extraire Tables Access en .CSV régulièrement

Dernière réponse le 9 jun 2008 à 09:58:20 xcite, le 2 jun 2008 à 10:31:49 
 Signaler ce message aux modérateurs

Bonjour,

Je suis étudiant et je suis en stage en entreprise donc mon niveau en Access est limité..

En effet je doit crée un outil qui extrait tout les jours à une heure donnée deux tables Access au format CSV dans un répertoire donné .

De quelle manière est ce que je doit m'y prendre déja pour extraire des tables Access au format CSV, et ensuite pour faire cela de manière automatique il faut que j'utilise certainement un script mais lequel ou si il y en existe pas coment en crée un..?

Merci de bien vouloir m'aider pour cet outil qui surement n'est pas très compliquer pour vous mais qui l'est déja beaucoup plus pour moi =)

Configuration: Windows XP
Internet Explorer 7.0

Meilleures réponses pour « Extraire Tables Access en .CSV régulièrement » dans :
PHP - Expressions régulières VoirQu'est-ce qu'une expression régulière? Les expressions régulières sont des modèles créés à l'aide de caractères ASCII permettant de manipuler des chaînes de caractères, c'est-à-dire permettant de trouver les portions de la chaîne correspondant au...
SQL - Création de table VoirLe SQL, comportant un langage de définition de données (LDD), permet de créer des tables. Pour cela, il utilise le couple de mots clés CREATE TABLE. La création de tables Le création de tables se fait à l'aide du couple de mots-clés CREATE...

1

LatelyGeek, le 2 jun 2008 à 11:22:14

Dans le principe, voilà la commande:

DoCmd.TransferText acExportDelim, , "NomTable", "Chemin d'accès et nom du fichier" & ".csv"
Pourquoi se compliquer la vie à faire simple, quand c'est si simple de faire compliqué?

Répondre à LatelyGeek

2

xcite, le 2 jun 2008 à 11:27:50

Je te remercie, mais cette commande je doit l'insérer où ? Désolé mais je n'ai pas trop l'habitude d'utiliser Access ( c'est la version 2002 au cas ou je ne l'ai pas précisé ).

Et si quelqu'un a des suggestions pour le script à utiliser pour faire cette tache ainsi régulièrement je suis preneur.

Répondre à xcite

3

LatelyGeek, le 2 jun 2008 à 13:12:26

Tu crées quelque part un bouton qui doit lancer cette action, dans un formulaire quelconque.

A la propriété Sur clic de ce bouton, tu affectes cette ligne de commande. Pour ça, tu vas dans la feuille de propriétés du bouton, zone Sur Clic, tu cliques sur le bouton à trois petits points à droite, générateur de code, et entre PrivateSub et End Sub, tu tapes ce que je t'ai mis. Pourquoi se compliquer la vie à faire simple, quand c'est si simple de faire compliqué?

Répondre à LatelyGeek

4

xcite, le 2 jun 2008 à 14:30:47

Ah oui donc toi tu parle dans le cas ou j'utiliserai VIsual Basic ou un autre logiciel d'application graphique pour faire ce petit outil ...
Je vai essayer on véra bien mais ci quelqu'un pourrait donner son avis sur coment je pourrais faire ça de manière automatique ca serait vraiment bien du moins en gros coment je doit m'y prendre dans les grandes lignes..
Je vous remercie par avance

Répondre à xcite

5

xcite, le 2 jun 2008 à 15:51:45

Excuser mon ignorance... je comprend un peut mieux j'ai vu ce que tu voulais dire je te remercie je vai essayer de mettre en pratique ce que tu ma dit je vai essayer d'apeler un macro par le moyen de se bouton qui va éxécuter mon code je pense que sa va être faisable.

Répondre à xcite

6

xcite, le 4 jun 2008 à 10:09:41

Le séparateur du champ de spécification du fichier texte est identique au séparateur décimal ou au délimiteur de texte.

Voila le message qu'ils m'affichent quand je met la ligne de code suivante :

DoCmd.TransferText acExportDelim, , "DBHistorique", "M:\Documents and Settings\Historique.csv"

DBHistorique correspondant au nom de ma table et M:\Documents and Settings\ correspondant au chemin d'accés et Historique.csv correspondant au nom que je veut lui donner avec le format qui va bien derrière.

Je sait que il y a déja eu un sujet sur ce problème mais je n'ai pas bien compris ma question est coment doit-je faire pour changer soit le séparateur décimal soit le délimiteur de texte pour que les deux ne soient pas identiques.

Je vous remercie par avance

Répondre à xcite

7

LatelyGeek, le 4 jun 2008 à 11:22:22

Si tu veux un format particulier, tu dois le spécifier en deuxième paramètre, entre les deux virgules après acExportDelim.

Voilà comment faire:

Tu fais une première extraction manuellement:

Tu sélectionnes ta table DBHistorique.
Tu vas dans Fichier, Exporter.
Tu laisses l'assistant se dérouler en lui indiquant ce que tu veux, et tu cliques sur le bouton Avancé, qui te permet d'enregistrer tes spécifications en leur donnant un nom.

Et c'est ensuite le nom ce nom que tu indiques entre les deux virgules dont je parlais plus haut. Pourquoi se compliquer la vie à faire simple, quand c'est si simple de faire compliqué?

Répondre à LatelyGeek

8

xcite, le 4 jun 2008 à 12:28:21

Impécable je te remercie beaucoup sa marche très bien la.

Maintenant deuxième objectif inclure la notion de temps pour que cette tache se face automatiquement a lheure que je veut .. Je suis sur que il doit y avoir un timer ou un truc du genre dans access... enfin j'espere :P

Répondre à xcite

9

LatelyGeek, le 4 jun 2008 à 17:53:31

Juste un petit post pour te dire que là, j'en sais rien. A priori je connais pas, mais va savoir. j'ai cherché et j'ai rien trouvé, en tout cas.

J'en avais mis un dans Excel en VB, mais l'inconvénient c'est que du coup il passait son temps à "regarder sa montre" et ça ralentissait tout le reste...

je re-regarde quand même. Pourquoi se compliquer la vie à faire simple, quand c'est si simple de faire compliqué?

Répondre à LatelyGeek

10

xcite, le 5 jun 2008 à 11:31:18

J'ai juste une dernière question car je pense avoir trouver comment faire!

En effet dans Access 2002 il y a moyen de crée une fonction timer si je crée un formulaire en mode création et ensuite je peut crée un évenement par rapport à un timer.

Après j'ai trouver il me suffit de crée une tache Windows pour qu'il éxécute Access à l'heure que je veux et ensuite grace à une macro qui sera programée sur Access je peut lancer ce formulaire.

Mais voici ma dernière question :

Est-ce que je peut dans mon formulaire exécuter mon bouton soit extraire mes deux tables, est ce que on peut faire la liaison entre le bouton et le formulaire qui s'exécutera ?

Merci de vos réponses

Répondre à xcite

11

 xcite, le 9 jun 2008 à 09:58:20

Problème résolu on peut le faire et j'ai reussi !

Répondre à xcite