OVH Cloud OVH Cloud

requete ajout

3 réponses
Avatar
Christian Marty
Bonjour,
Je suis nouveau sur le forum, et je ne mairtrise pas la programmation. En
revanche, j'ai déjà écrit des applications avec access XP avec requetes,
formmlaires, états et macros....
Voilà mon problème.

Afin de récupérer les données venant de plusieurs collègues, je cherche à
ajouter les données stockées dans 2 tables liées par une relation 1 : N dans
leur équivalentes chargées de tout conserver. Une requête ajout classique
renvoie des messages d'erreur (intégrité d'index non respectée). En fait, il
faudrait pouvoir écrire une requête ajout conteneant les 2 tables sources et
lui donner comme adresse une requête sélection conteneant les 2 tables de
destination. Est-ce possible?
Y a-t-il une solution pas trop complexe?
Merci de l'aide que vous voudrez bien m'apporter.
--
Christian

3 réponses

Avatar
3stone
Salut,

"Christian Marty"
| Afin de récupérer les données venant de plusieurs collègues, je cherche à
| ajouter les données stockées dans 2 tables liées par une relation 1 : N dans
| leur équivalentes chargées de tout conserver. Une requête ajout classique
| renvoie des messages d'erreur (intégrité d'index non respectée). En fait, il
| faudrait pouvoir écrire une requête ajout conteneant les 2 tables sources et
| lui donner comme adresse une requête sélection conteneant les 2 tables de
| destination.


Pas très clair tout cela, mais...

Je dois comprendre que tu ne peux/sais pas mettre la base en réseau ?

Lier la source de 2 tables se fait par une requête "union"

Select champ1, champ2, champ3 From Table1
Union
Select champ1, champ2, champ3 from table2

mais... envoyer vers 2 tables de destination !!!

Je me demande si tu ne devrais pas te tourner vers la "réplication"
Cela permet de faire des mises à jour entre des bases non liées "physiquement"


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
Christian Marty
Bonjour,
Merci tout d'abord pour cette réponse ultra-rapide....
Effectivement, il n'est pas possible de travailler en réseau, l'application
est utilisée dans le cadre d'une association, par des bénévoles travaillant
chez eux. Sinon, la solution réseau était la solution.
Je me tourne versla solution réplication et je te tiens au courant du
résultat.
A plus
--
Christian



Salut,

"Christian Marty"
| Afin de récupérer les données venant de plusieurs collègues, je cherche à
| ajouter les données stockées dans 2 tables liées par une relation 1 : N dans
| leur équivalentes chargées de tout conserver. Une requête ajout classique
| renvoie des messages d'erreur (intégrité d'index non respectée). En fait, il
| faudrait pouvoir écrire une requête ajout conteneant les 2 tables sources et
| lui donner comme adresse une requête sélection conteneant les 2 tables de
| destination.


Pas très clair tout cela, mais...

Je dois comprendre que tu ne peux/sais pas mettre la base en réseau ?

Lier la source de 2 tables se fait par une requête "union"

Select champ1, champ2, champ3 From Table1
Union
Select champ1, champ2, champ3 from table2

mais... envoyer vers 2 tables de destination !!!

Je me demande si tu ne devrais pas te tourner vers la "réplication"
Cela permet de faire des mises à jour entre des bases non liées "physiquement"


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw




Avatar
Christian Marty
Bonjour,
J'ai donc essayé la réplication, qui me paraissait donner la solution à mon
problème. Mais cette solution aurait sans doute marché si elle avait été
appliquée à tout le monde dés le développement de l'application. Ce qu'il
faudrait, c'est pouvoir transformer une base exixtante en réplica d'une
autre base existante qui serait alors le réplica maitre. Mais celà ne me
semble pas possible.
Je me tourne vers une autre solution, qui consiste à transformer la table N
en une table 1 (le coté N admet au maximum 6 valeurs pour chaque
enregistrement de la table coté 1) en démultipliant les champs en 6. On a
alors une relation 1-1. Ensuite, il suffit de créer une nouvelle table à
l'aide d'une requête fusionnant les 2 tables. Pour finir, une requête ajout
permettra de faire les mises à jour en provenance de tous les opérateurs de
saisie.
Je crois que c'est un peu bricolo, mais je suis un peu coincé.... De plus
celà demande de transformer la table N manuellement........ à moins qu'il
existe une solution informatique?
Merci de l'attention que tu porte à mon problème
A plus
--
Christian



Salut,

"Christian Marty"
| Afin de récupérer les données venant de plusieurs collègues, je cherche à
| ajouter les données stockées dans 2 tables liées par une relation 1 : N dans
| leur équivalentes chargées de tout conserver. Une requête ajout classique
| renvoie des messages d'erreur (intégrité d'index non respectée). En fait, il
| faudrait pouvoir écrire une requête ajout conteneant les 2 tables sources et
| lui donner comme adresse une requête sélection conteneant les 2 tables de
| destination.


Pas très clair tout cela, mais...

Je dois comprendre que tu ne peux/sais pas mettre la base en réseau ?

Lier la source de 2 tables se fait par une requête "union"

Select champ1, champ2, champ3 From Table1
Union
Select champ1, champ2, champ3 from table2

mais... envoyer vers 2 tables de destination !!!

Je me demande si tu ne devrais pas te tourner vers la "réplication"
Cela permet de faire des mises à jour entre des bases non liées "physiquement"


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw