OVH Cloud OVH Cloud

Aide importation en VB

4 réponses
Avatar
Jean-Marc
Salut tous,

J'ai développé un bdd en Access 2000 pour gérer les contacts de notre
société.
J'ai une table contacts dans laquelle j'ai le nom, prénom, adresse etc ...
de mes contacts.
A cette table sont liées d'autres tables contenant les pays (et les états
pour les USA et Canada), les sources d'informations (Les revues via
lesquelles les clients nous ont trouvés et nous ont demandé des
informations), les détails des sources d'informations (l'édition de la revue
en question), etc ...

Les revues dans lesquelles nous publions nous envoient de plus en plus de
références de clients.
Je voudrais donc automatiser la procédure et j'ai demandé à certaines revues
de me transmettre un fichier contenant les coordonnées de ces clients. Je
reçois maintenant toutes les semaines un fichier txt dont les champs sont
séparés par des tab.
Je voudrais importer ces données dans ma bdd mais il y a une série de choses
à modifier et de tests à effectuer.
Par exemple, dans ma table de contacts la source d'info est un num de réf de
la table liée, idem pour le détail des sources.
Comme test, je voudrais évidemment vérifier si ce client est déjà dans la
bdd. Je sais que ce n'est jamais infaillible et que des doublons peuvent se
produire, mais je voudrais les réduire au min.

J'ai déjà réalisé pas mal de procédures mais je ne me sens pas capable de
faire la procédure qui effectuera tout cela.

4 réponses

Avatar
Raymond [mvp]
Bonsoir.

ce que je pense que je ferais dans ton cas.
importation du fichier texte dans une table import dont les champs sont bien
structurés, compatibles avec la table contacts, avec le maximum de contrôles
sur les données (index sans doublon, taille etc..). ceci éliminera les
clients incomplets et ingérables.
exécution d'une requête de recherche de doublons entre la table import et la
table contacts.
correction manuelle des erreurs, suppression des enregistrements ou
modification.
exécution d'une requête pour contrôler tous les champs sensibles pour
afficher toutes les erreurs potentielles.
correction de la table import
fusion de la table import avec la table contacts.
tout ceci n'étant qu'une idée;
--
@+
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


"Jean-Marc" a écrit dans le message de
news:
Salut tous,

J'ai développé un bdd en Access 2000 pour gérer les contacts de notre
société.
J'ai une table contacts dans laquelle j'ai le nom, prénom, adresse etc ...
de mes contacts.
A cette table sont liées d'autres tables contenant les pays (et les états
pour les USA et Canada), les sources d'informations (Les revues via
lesquelles les clients nous ont trouvés et nous ont demandé des
informations), les détails des sources d'informations (l'édition de la
revue

en question), etc ...

Les revues dans lesquelles nous publions nous envoient de plus en plus de
références de clients.
Je voudrais donc automatiser la procédure et j'ai demandé à certaines
revues

de me transmettre un fichier contenant les coordonnées de ces clients. Je
reçois maintenant toutes les semaines un fichier txt dont les champs sont
séparés par des tab.
Je voudrais importer ces données dans ma bdd mais il y a une série de
choses

à modifier et de tests à effectuer.
Par exemple, dans ma table de contacts la source d'info est un num de réf
de

la table liée, idem pour le détail des sources.
Comme test, je voudrais évidemment vérifier si ce client est déjà dans la
bdd. Je sais que ce n'est jamais infaillible et que des doublons peuvent
se

produire, mais je voudrais les réduire au min.

J'ai déjà réalisé pas mal de procédures mais je ne me sens pas capable de
faire la procédure qui effectuera tout cela.





Avatar
Jean-Marc
Merci Raymond,

En grandes lignes c'est à peu près à ça que j'avais pensé.
En "manuel" je m'en sors à peu près, mais pour automatiser tout ça dans une
(ou plus vraisemblablement dans plusieurs proc successives, pour les
corrections par exemple) proc, là je sèche pas mal.
J'ai été voir sur ton site, mais n'étant qu'un amateur, je me suis un peu
perdu. En tout cas je ne suis pas sur du tout de ce que je dois utiliser.
J'ai été dans les procédures import/export et j'ai vu un de tes exemples
utilisant transfertext mais comme je n'ai pas tout compris je ne sais pas si
c'est exactement ce dont j'ai besoin pour ma 1ère étape, à savoir
l'importation de mon fichier txt avec tab comme séparateur.

JM

"Raymond [mvp]" a écrit dans le message de
news:
Bonsoir.

ce que je pense que je ferais dans ton cas.
importation du fichier texte dans une table import dont les champs sont
bien

structurés, compatibles avec la table contacts, avec le maximum de
contrôles

sur les données (index sans doublon, taille etc..). ceci éliminera les
clients incomplets et ingérables.
exécution d'une requête de recherche de doublons entre la table import et
la

table contacts.
correction manuelle des erreurs, suppression des enregistrements ou
modification.
exécution d'une requête pour contrôler tous les champs sensibles pour
afficher toutes les erreurs potentielles.
correction de la table import
fusion de la table import avec la table contacts.
tout ceci n'étant qu'une idée;
--
@+
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


"Jean-Marc" a écrit dans le message de
news:
Salut tous,

J'ai développé un bdd en Access 2000 pour gérer les contacts de notre
société.
J'ai une table contacts dans laquelle j'ai le nom, prénom, adresse etc
...


de mes contacts.
A cette table sont liées d'autres tables contenant les pays (et les
états


pour les USA et Canada), les sources d'informations (Les revues via
lesquelles les clients nous ont trouvés et nous ont demandé des
informations), les détails des sources d'informations (l'édition de la
revue

en question), etc ...

Les revues dans lesquelles nous publions nous envoient de plus en plus
de


références de clients.
Je voudrais donc automatiser la procédure et j'ai demandé à certaines
revues

de me transmettre un fichier contenant les coordonnées de ces clients.
Je


reçois maintenant toutes les semaines un fichier txt dont les champs
sont


séparés par des tab.
Je voudrais importer ces données dans ma bdd mais il y a une série de
choses

à modifier et de tests à effectuer.
Par exemple, dans ma table de contacts la source d'info est un num de
réf


de
la table liée, idem pour le détail des sources.
Comme test, je voudrais évidemment vérifier si ce client est déjà dans
la


bdd. Je sais que ce n'est jamais infaillible et que des doublons peuvent
se

produire, mais je voudrais les réduire au min.

J'ai déjà réalisé pas mal de procédures mais je ne me sens pas capable
de


faire la procédure qui effectuera tout cela.









Avatar
Raymond [mvp]
pour donner une idée, il faudrait que tu me passes par mail :
- quelques lignes du fichier texte
- la table contacts avec quelques lignes
le tout dans un fichier zip
tu enlèves XYZ. dans mon adresse
je te tiendrai au courant.
--
@+
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


"Jean-Marc" a écrit dans le message de
news:Ge_Dc.40$
Merci Raymond,

En grandes lignes c'est à peu près à ça que j'avais pensé.
En "manuel" je m'en sors à peu près, mais pour automatiser tout ça dans
une

(ou plus vraisemblablement dans plusieurs proc successives, pour les
corrections par exemple) proc, là je sèche pas mal.
J'ai été voir sur ton site, mais n'étant qu'un amateur, je me suis un peu
perdu. En tout cas je ne suis pas sur du tout de ce que je dois utiliser.
J'ai été dans les procédures import/export et j'ai vu un de tes exemples
utilisant transfertext mais comme je n'ai pas tout compris je ne sais pas
si

c'est exactement ce dont j'ai besoin pour ma 1ère étape, à savoir
l'importation de mon fichier txt avec tab comme séparateur.

JM


Avatar
Raymond [mvp]
Bonjour.

je te renvoie une base avec les tables , requêtes et un formulaire avec une
procédure d'import.
il ne s'agit que d'un exemple car je connais mal la correspondance des
champs entre les deux tables. il te suffit de compléter les requêtes avec
les champs que tu désires. Tu peux changer aussi le test des champs en
doublons dans le fichier texte et avec la table contacts. J'ai créé un
fichier de spécification que tu peux importer par le menu données externes
dans ta base personnelle.

--
@+
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