Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Lier plusieurs tables à une seule

1 réponse
Avatar
Jean-Marc
Salut à tous,

Soit différentes mdb représentant différents secteurs.
Toutes les mdb sont semblables du point de vue de la structure.
Elles portent toutes le nom [NrMandat]-D[NrSecteur]PP.mdb, donc par exemple
2303-D65PP.mdb est la bdd du secteur 65 du mandat 2303.
Toutes les mdb sont dans le même directory. La mdb finale peut y être aussi.
Chaque mdb contient une table "Point" contenant :
NoPointNum (Entier long)
PointX (Réel double)
PointY (Réel double)
PointZ (Réel double)
PCode (Texte, longueur 6)


Soit la bdd PP contenant une table PP et une table Secteurs.
Il faut que je lie toutes les mdb à ma bdd pour pouvoir utiliser les points
des mdb des secteurs dans ma bdd.

Autre chose : Admettons le point 6000 à l'intersection des secteurs 65 et
66. Le point 6000 est présent dans la base 2303-D65PP.mdb ET dans la base
2303-D66PP.mdb
Dans ma base (finale), il ne peut y avoir qu'un seul point 6000.

Les problèmes :
la bdd finale est utilisée par des utilisateurs lambda à qui je ne peux pas
demander de lier les tables "à la main".
Tant qu'un secteur n'est pas achevé, sa mdb n'est pas (et ne peut pas être)
créée.
Les points mdb des secteurs sont susceptibles d'être modifiés, d'où le lien
des tables et pas les importations.
L'utilisateur de la table finale de peut pas modifier (via la liaison) les
valeurs d'une des tables de secteur.
Lorsque je lie "à la main" les mdb (pour faire des tests), je reçois des
tables Point, Point1, Point2, .... Comment, dans ma table PP, utiliser les
valeurs des champs de ces tables ? Si je fais une requête ajout, une modif
de la table Point d'une mdb de secteur ne se répercutera pas dans ma table
PP. Une requête MAJ avec un timer serait la seule solution que j'ai trouvée
actuellement, mais je pense qu'il doit y avoir d'autres moyens. De plus, il
me faudrait une requête MAJ ou/et une requête ajout qui lie toutes les
tables PointX quelque soit le nombre de tables Point présentes.


Une piste :
Comme la structure du nom des mdb de secteurs est fixe, il me semble que ça
doit faciliter un lien "automatique et transparent pour l'utilisateur
lambda". En effet, les numéros de secteurs peuvent être introduits
prématurément dans la mdb finale, voir créer le secteur dans la mdb finale
uniquement lorsque la bdd de secteur a été créée. Ainsi, on pourrait lier
toutes les bases dont la structure contient les numéros de secteurs repris à
la table Secteurs de la base finale.

Qui a envie de se lancer à m'aider dans ma recherche ?

Merci de vos z'avis z'avisés,
Jean-Marc

1 réponse

Avatar
linko
Connais-tu une procédure VBA pour effectuer ces liaison ?
Si oui il te faudrais une fonction pour récupérer le chemin des DB (ca pas
de prob normalement)
Peut-etre une piste pour t'aider lol
Difficile de rentrer dedans quand on ne connait pas la structure et le but
du projet.
Bonne chance.

"Jean-Marc" a écrit dans le message de news:
VoUlg.69601$
Salut à tous,

Soit différentes mdb représentant différents secteurs.
Toutes les mdb sont semblables du point de vue de la structure.
Elles portent toutes le nom [NrMandat]-D[NrSecteur]PP.mdb, donc par
exemple 2303-D65PP.mdb est la bdd du secteur 65 du mandat 2303.
Toutes les mdb sont dans le même directory. La mdb finale peut y être
aussi.
Chaque mdb contient une table "Point" contenant :
NoPointNum (Entier long)
PointX (Réel double)
PointY (Réel double)
PointZ (Réel double)
PCode (Texte, longueur 6)


Soit la bdd PP contenant une table PP et une table Secteurs.
Il faut que je lie toutes les mdb à ma bdd pour pouvoir utiliser les
points des mdb des secteurs dans ma bdd.

Autre chose : Admettons le point 6000 à l'intersection des secteurs 65 et
66. Le point 6000 est présent dans la base 2303-D65PP.mdb ET dans la base
2303-D66PP.mdb
Dans ma base (finale), il ne peut y avoir qu'un seul point 6000.

Les problèmes :
la bdd finale est utilisée par des utilisateurs lambda à qui je ne peux
pas demander de lier les tables "à la main".
Tant qu'un secteur n'est pas achevé, sa mdb n'est pas (et ne peut pas
être) créée.
Les points mdb des secteurs sont susceptibles d'être modifiés, d'où le
lien des tables et pas les importations.
L'utilisateur de la table finale de peut pas modifier (via la liaison) les
valeurs d'une des tables de secteur.
Lorsque je lie "à la main" les mdb (pour faire des tests), je reçois des
tables Point, Point1, Point2, .... Comment, dans ma table PP, utiliser les
valeurs des champs de ces tables ? Si je fais une requête ajout, une modif
de la table Point d'une mdb de secteur ne se répercutera pas dans ma table
PP. Une requête MAJ avec un timer serait la seule solution que j'ai
trouvée actuellement, mais je pense qu'il doit y avoir d'autres moyens. De
plus, il me faudrait une requête MAJ ou/et une requête ajout qui lie
toutes les tables PointX quelque soit le nombre de tables Point présentes.


Une piste :
Comme la structure du nom des mdb de secteurs est fixe, il me semble que
ça doit faciliter un lien "automatique et transparent pour l'utilisateur
lambda". En effet, les numéros de secteurs peuvent être introduits
prématurément dans la mdb finale, voir créer le secteur dans la mdb finale
uniquement lorsque la bdd de secteur a été créée. Ainsi, on pourrait lier
toutes les bases dont la structure contient les numéros de secteurs repris
à la table Secteurs de la base finale.

Qui a envie de se lancer à m'aider dans ma recherche ?

Merci de vos z'avis z'avisés,
Jean-Marc