OVH Cloud OVH Cloud

Transfert de "parties" de base, comment faire ?

3 réponses
Avatar
Alex
Bonjour,
Je r=E9alise actuellement une appli Access (sous Access=20
2002).=20
Mes clients souhaiteraient pouvoir se "passer" des=20
dossiers de prestation (mon application a pour but la=20
saisie et l'=E9dition des dossiers correspondant aux=20
prestations "terrain" effectu=E9es), par d'autres supports=20
que r=E9seau (ex. disquette, cl=E9 usb, ...)
Ces dossiers sont mat=E9rialis=E9s dans ma base par des=20
donn=E9es de plusieurs tables en relation, notamment =20
relations 1 =E0 plusieurs (pour transf=E9rer le dossier il me=20
faut donc un enregistrement de la table A et les 5 enreg.=20
correspondants de la table B) donc un dossier ne se=20
r=E9duit pas simplement =E0 un enregistrement d'une table ou=20
d'une requ=EAte...

Avez-vous des id=E9es de solutions techniques =E0 me=20
proposer ? (oh oui s'il vous pla=EEt :) )
J'esp=E8re avoir =E9t=E9 suffisamment clair/pr=E9cis dans ma=20
formulation. Sinon n'h=E9sitez pas =E0 poser vos questions,=20
je t=E2cherais d'y r=E9pondre dans la mesure du possible !

3 réponses

Avatar
Raymond [mvp]
Bonjour.

le plus simple me parait de faire composer la clé du dossier dans un
formulaire, exporter une requête comprenant tous les champs de la table avec
clause where sur la clé primaire, avec tous les enregistrements
correspondants dans un fichier texte. ensuite envoyer ces fichiers texte par
automation outlook.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"Alex" a écrit dans le message de
news:0d3001c3be58$1814c640$
Bonjour,
Je réalise actuellement une appli Access (sous Access
2002).
Mes clients souhaiteraient pouvoir se "passer" des
dossiers de prestation (mon application a pour but la
saisie et l'édition des dossiers correspondant aux
prestations "terrain" effectuées), par d'autres supports
que réseau (ex. disquette, clé usb, ...)
Ces dossiers sont matérialisés dans ma base par des
données de plusieurs tables en relation, notamment
relations 1 à plusieurs (pour transférer le dossier il me
faut donc un enregistrement de la table A et les 5 enreg.
correspondants de la table B) donc un dossier ne se
réduit pas simplement à un enregistrement d'une table ou
d'une requête...

Avez-vous des idées de solutions techniques à me
proposer ? (oh oui s'il vous plaît :) )
J'espère avoir été suffisamment clair/précis dans ma
formulation. Sinon n'hésitez pas à poser vos questions,
je tâcherais d'y répondre dans la mesure du possible !
Avatar
Alex
Bonjour et merci pour cette première réponse !
Je pensais en effet utiliser une méthode similaire.

En revanche, comme je l'expliquais (mal) dans mon
intervention précédente, l'export txt ne me paraît pas si
simple à réaliser.

Prenons un exemple :
Mettons que j'ai une table Dossier, avec un
enregistrement correspondant au dossier que je
veux "échanger".
J'ai ensuite une table "PrestationDeType1", dont les
enregistrements pointent vers le dossier correspondant via
un champ "DossierPere" (qui contient la valeur du
DossierID correspondant, DossierID = clé primaire de la
table Dossier)
J'ai enfin une table "Action" dont les enregistrements
pointent vers la PrestationDeType1 correspondante via un
champ "PrestationMere" (qui contient l'ID de la
PrestationDeType1).

Supposons que j'ai un dossier, avec une Prestation de
Type1 pour laquelle j'ai effectué 15 actions.

Pour exporter mon dossier, je dois donc trouver un moyen
d'exporter mon enreg. de la table Dossier, mon enreg. de
la table PrestationDeType1, et mes 15 enregs. Action, en
préservant mes relations à l'importation dans la base
d'"en face" évidemment.

Je ne sais pas si c'est possible de faire ça proprement
en une seule requête ? et si non, les fonctions de
transfert/exportation ne semblent prendre qu'un
seul "objet" (table ou requête) à la fois, comment leur
faire exporter plusieurs objets dans le même fichier
texte sans écrasement ? (dans mon cas il y a beaucoup
plus de 3 tables en jeu).

En espérant que vous pourrez m'aider,


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

le plus simple me parait de faire composer la clé du
dossier dans un

formulaire, exporter une requête comprenant tous les
champs de la table avec

clause where sur la clé primaire, avec tous les
enregistrements

correspondants dans un fichier texte. ensuite envoyer
ces fichiers texte par

automation outlook.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


Avatar
Raymond [mvp]
Il faut faire une requête par table car il faut une structure par table en
face.
chaque clé primaire constitue le critère de la clause where sur la table
fille et ainsi on peut exporter chaque table sans difficulté et ensuite les
mettre en pièces jointes.

pour les relations c'est plus difficile, mais si les tables existent on
fusionne c'est tout, si les tables n'existent pas il faut créer les
relations par vba.
pour la création des relations, voir les fonctions chez Arnaud :
http://memoaccess.free.fr/tables.htm#Links

il est possible aussi, mais plus difficile à gérer, de posséder une table de
transfert dans laquelle il existe les tables en double mais vierges et dans
lesquelles on ajoute les enregistrements. en face il suffit d'importer les
tables. la solution txt avec création des relations me parait un peu
meilleure.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"Alex" a écrit dans le message de
news:083001c3be60$ff8ec3b0$
Bonjour et merci pour cette première réponse !
Je pensais en effet utiliser une méthode similaire.

En revanche, comme je l'expliquais (mal) dans mon
intervention précédente, l'export txt ne me paraît pas si
simple à réaliser.

Prenons un exemple :
Mettons que j'ai une table Dossier, avec un
enregistrement correspondant au dossier que je
veux "échanger".
J'ai ensuite une table "PrestationDeType1", dont les
enregistrements pointent vers le dossier correspondant via
un champ "DossierPere" (qui contient la valeur du
DossierID correspondant, DossierID = clé primaire de la
table Dossier)
J'ai enfin une table "Action" dont les enregistrements
pointent vers la PrestationDeType1 correspondante via un
champ "PrestationMere" (qui contient l'ID de la
PrestationDeType1).

Supposons que j'ai un dossier, avec une Prestation de
Type1 pour laquelle j'ai effectué 15 actions.

Pour exporter mon dossier, je dois donc trouver un moyen
d'exporter mon enreg. de la table Dossier, mon enreg. de
la table PrestationDeType1, et mes 15 enregs. Action, en
préservant mes relations à l'importation dans la base
d'"en face" évidemment.

Je ne sais pas si c'est possible de faire ça proprement
en une seule requête ? et si non, les fonctions de
transfert/exportation ne semblent prendre qu'un
seul "objet" (table ou requête) à la fois, comment leur
faire exporter plusieurs objets dans le même fichier
texte sans écrasement ? (dans mon cas il y a beaucoup
plus de 3 tables en jeu).

En espérant que vous pourrez m'aider,