cerhu > microsoft.* > microsoft.access

J'ai-Du-Bois (26/02/2008, 13h36)
Bonjour,

Je maintien aujourd'hui plusieurs base de données :
- Une base mère : une "coquille vide" dans laquelle il y a une
multitude de formulaires et de requêtes
- Une multitude de base filles qui sont des copies (copier coller),
de la base mère dans lesquels des données (toujours le même format),
sont importées.

Ce système est devenu un vrai cauchemar car à chaque modification
d'une requête ou d'un formulaire, je suis obligé de les dupliquer dans
la base mère, ainsi que dans l'ensemble des base filles (en
l'occurence le travail est tellement long et fastidieux que je ne le
fais pas).

D'où ma question :

Est il possible de dissocier formulaires-requêtes et données de tel
sorte qu'on puisse choisir la source des données à exploiter ?
S'ajoute à cela un contrainte : comme je travail en multiutilisateur,
il faut que plusieurs utilisateurs puissent se connecter en même
temps, sur plusieurs sources différentes...

Avec un tel système, une modif sur un formulaire ou sur une requête
serait répercutée sur l'ensemble des données à exploiter. Ce serait le
rêve...

J'espère que tout de même que cela peut devenir autre chose qu'un
rêve, car je passe un temps fou sur ces bases...

Je vous remercie d'avance. Si, par chance, vous pouviez apporter une
réponse à ma question, vous me souveriez réellement la vie.

Guillaume
Fabien (26/02/2008, 14h56)
J'ai-Du-Bois a écrit :
[..]
> serait répercutée sur l'ensemble des données à exploiter. Ce serait le
> rêve...
> J'espère que tout de même que cela peut devenir autre chose qu'un
> rêve, car je passe un temps fou sur ces bases...
> Je vous remercie d'avance. Si, par chance, vous pouviez apporter une
> réponse à ma question, vous me souveriez réellement la vie.
> Guillaume

Salut Guillaume,
Ne serait-il pas possible d'importer toutes tes données dans une seule
base en les identifiant par l'ajout d'un champ qui préciserait leur
provenance.
Dés lors tu peux avoir une base frontale ne contenant pas de données
mais des tables liées vers la base dorsale qui elle ne contient que les
tables.
Lorsque un utilisateur ouvre le frontal il indique la 'source' de
données a laquelle il veut acceder. En l'occurence un code qui permet
d'isoler les données selon leur provenance.
@+
J'ai-Du-Bois (26/02/2008, 15h37)
On 26 fév, 13:56, Fabien <UrbaniakFabienxx> wrote:
[..]
> provenance.
> Dés lors tu peux avoir une base frontale ne contenant pas de données
> mais des tables liées vers la base dorsale qui elle ne contient que les
> tables.
> Lorsque un utilisateur ouvre le frontal il indique la 'source' de
> données a laquelle il veut acceder. En l'occurence un code qui permet
> d'isoler les données selon leur provenance.
> @+- Masquer le texte des messages précédents -
> - Afficher le texte des messages précédents -


Bonjour,

J'y avais pensé mais, les données contenue dans une base fille
avoisine les 500 Mo en moyenne. Comme il existe de très nombreuses
bases (une quizaine pour l'instant), et qu'il y en aura de plus en
plus à l'avenir, je ne sais pas si c'est une solution viable.

Je vais cependant essayer de creuser dans ce sens.

Y aurai t'il un MVP dans la salle ?
Fabien (26/02/2008, 15h48)
J'ai-Du-Bois a écrit :
> On 26 fév, 13:56, Fabien <UrbaniakFabienxx> wrote:
> Bonjour,
> J'y avais pensé mais, les données contenue dans une base fille
> avoisine les 500 Mo en moyenne. Comme il existe de très nombreuses
> bases (une quizaine pour l'instant), et qu'il y en aura de plus en
> plus à l'avenir, je ne sais pas si c'est une solution viable.
> Je vais cependant essayer de creuser dans ce sens.
> Y aurai t'il un MVP dans la salle ?

Et si tu passais tes tables sous SQL server ?
J'ai-Du-Bois (26/02/2008, 16h19)
On 26 fév, 14:48, Fabien <UrbaniakFabienxx> wrote:
> J'ai-Du-Bois a écrit :
> Et si tu passais tes tables sous SQL server ?- Masquer le texte des messages précédents -
> - Afficher le texte des messages précédents -


Malheureusement ce n'est pas possible. Je n'ai en effet aucun budget
étant donné que les bases de données en place sont des solutions
provisoires.

Merci
Fabien (26/02/2008, 16h41)
J'ai-Du-Bois a écrit :
> On 26 fév, 14:48, Fabien <UrbaniakFabienxx> wrote:
> Malheureusement ce n'est pas possible. Je n'ai en effet aucun budget
> étant donné que les bases de données en place sont des solutions
> provisoires.
> Merci

Peut-être avec MYSQL ?
[..]
[..]
On sait jamais ;-)
Michel_D (26/02/2008, 22h24)
J'ai-Du-Bois a écrit :
[..]
> Avec un tel système, une modif sur un formulaire ou sur une requête
> serait répercutée sur l'ensemble des données à exploiter. Ce serait le
> rêve...
> J'espère que tout de même que cela peut devenir autre chose qu'un
> rêve, car je passe un temps fou sur ces bases...
> Je vous remercie d'avance. Si, par chance, vous pouviez apporter une
> réponse à ma question, vous me souveriez réellement la vie.


Tu recrée au démarrage les liaisons vers tes tables situées sur tes
bases filles, comme cela tu auras un frontal et x dorsals, par
contre il faudra être trés attentif lorsque tu vas modifier ton frontal.
J'ai-Du-Bois (27/02/2008, 11h23)
On 26 fév, 21:24, Michel_D <Michel.NOS...@orange-ft.com.invalid>
wrote:
> J'ai-Du-Bois a écrit :
> Tu recrée au démarrage les liaisons vers tes tables situées sur tes
>   bases filles, comme cela tu auras un frontal et x dorsals, par
>   contre il faudra être trés attentif lorsque tu vas modifier ton frontal.- Masquer le texte des messages précédents -
> - Afficher le texte des messages précédents -


ça maaarche !!!!

J'ai utilisé la fonction fRefreshLinks (qui elle même est combinée
avec GetOpenFileName). Les tables sont relocalisée toutes seul comme
des grandes.

Reste à tester cela en multiutilisateurs...

Les liens vers ces deux ensemble de fonctions génialissimes :

[..] -> fRefreshLinks
[..] -> GetOpenFileName

Je ne pensais pas que cela pouvais être aussi simple (pensez bien à
séparer les deux codes dans deux modules différents).

Un grand merci,
J'ai-Du-Bois (27/02/2008, 12h00)
On 27 fév, 10:23, "J'ai-Du-Bois" <duboi> wrote:
[..]
> Les liens vers ces deux ensemble de fonctions génialissimes :
> http://www.mvps.org/access/tables/tbl0009.htm-> fRefreshLinkshttp://www.mvps.org/access/api/api0001.htm-> GetOpenFileName
> Je ne pensais pas que cela pouvais être aussi simple (pensez bien à
> séparer les deux codes dans deux modules différents).
> Un grand merci,- Masquer le texte des messages précédents -
> - Afficher le texte des messages précédents -


En réalité, pas si génialissime que ça car deux utilisateurs ne
peuvent pas utiliser deux sources de données différentes à la fois.

Là, c'est un véritable problème étant donné que cela rend tout le
système inutile...

Y a t'il un moyen d'enregistrer les liens vers les tables sur le poste
de travail plutôt que en dur, dans la base access elle-même ?

Merci d'avance,

Guillaume
Michel_D (27/02/2008, 12h18)
J'ai-Du-Bois a écrit :
> On 27 fév, 10:23, "J'ai-Du-Bois" <duboi> wrote:
> En réalité, pas si génialissime que ça car deux utilisateurs ne
> peuvent pas utiliser deux sources de données différentes à la fois.
> Là, c'est un véritable problème étant donné que cela rend tout le
> système inutile...
> Y a t'il un moyen d'enregistrer les liens vers les tables sur le poste
> de travail plutôt que en dur, dans la base access elle-même ?


Tu lance ton frontal via un raccourci avec un paramêtre que tu récupère
dans une procédure exécuté automatiquement au démarrage qui t'indique
sur quel(s) dorsal(s) tu doit lier tes table(s) et donc tu recrée si
besoin les liaisons vers tes tables, est-ce que c'est plus clair !

PS: Sur le même poste de travail tu peux avoir plusieurs raccourcis
pour aller sur différentes bases.
J'ai-Du-Bois (27/02/2008, 14h52)
On 27 fév, 11:18, Michel_D <Michel.NOS...@orange-ft.com.invalid>
wrote:
[..]
> Tu lance ton frontal via un raccourci avec un paramêtre que tu récupère
>   dans une procédure exécuté automatiquement au démarrage qui t'indique
>   sur quel(s) dorsal(s) tu doit lier tes table(s) et donc tu recrée si
>   besoin les liaisons vers tes tables, est-ce que c'est plus clair !
> PS: Sur le même poste de travail tu peux avoir plusieurs raccourcis
>   pour aller sur différentes bases.- Masquer le texte des messages précédents -
> - Afficher le texte des messages précédents -


J'ai bien compris le fonctionnement que tu décrit. C'est d'ailleurs à
peu près celui que j'utilise avec les deux fonctions. Cependant mon
problème n'est pas à ce niveau.

Mon problème est le suivant : une table ne peut pas être liée à deux
tables différentes en même temps selon l'utilisateur. Je pense qu'il
n'y a pas de solution à ce problème. Par conséquent, je suis en train
d'étudier une solution de copie automatique des objets d'une base vers
les autres. Cela contourne pas trop mal mon soucis de mise à jour de
formulaire.

Merci pour vos aides. Elle m'ont été précieuse.
Gilbert (27/02/2008, 16h15)
Bonjour,

Je ne sais pas si j'ai bien interprété ce que tu décris de ton
fonctionnement, mais j'ai l'impression que chacun de tes utilisateurs ouvre
la même base "mère" (comme tu l'appelles) située sur un serveur (ou un
dossier partagé).
Si c'est bien ça tu ne peux effectivement pas avoir des liaisons sur des
tables différentes en fonction de chaque utilisateur.
Il faut que chacun de tes utilisateurs ait une copie du fichier frontal sur
son poste. Là les liaisons pourront être spécifiques à chaque utilisateur.
J'ai-Du-Bois (27/02/2008, 19h21)
On 27 fév, 15:15, "Gilbert" <ZZZZgilbert> wrote:
[..]
> n'y a pas de solution à ce problème. Par conséquent, je suis en train
> d'étudier une solution de copie automatique des objets d'une base vers
> les autres. Cela contourne pas trop mal mon soucis de mise à jour de
> formulaire.
> Merci pour vos aides. Elle m'ont été précieuse.- Masquer le texte des messages précédents -
> - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
> - Afficher le texte des messages précédents -


Merci pour cette réponse.

Cependant à ce moment je perd l'avantage d'avoir une et une seule base
à maintenir (les formulaires et les requêtes évoluent en parmance).
Michel_D (27/02/2008, 20h49)
J'ai-Du-Bois a écrit :
> On 27 fév, 15:15, "Gilbert" <ZZZZgilbert> wrote:
> Merci pour cette réponse.
> Cependant à ce moment je perd l'avantage d'avoir une et une seule base
> à maintenir (les formulaires et les requêtes évoluent en parmance).


En fait il faut plutot un fichier de comande qui rapatrie d'une part
le frontal situé sur une ressource commune et qui d'autre part lance
le frontal avec le paramêtre qui va bien.
Gilbert (27/02/2008, 21h50)
Tu dis toi-même que "Ce système est devenu un vrai cauchemar car à chaque
modification d'une requête ou d'un formulaire, je suis obligé de les
dupliquer dans la base mère, ainsi que dans l'ensemble des base filles (en
l'occurence le travail est tellement long et fastidieux que je ne le fais
pas)"

J'utilise cette méthode :
La base frontale sur le serveur et sur chaque poste de travail.
Au lieu d'ouvrir directement la base sur le poste de travail j'ouvre un
petit exe qui compare les dates de création du frontal sur le serveur et sur
le poste.
Si le frontal du poste n'est pas à jour, je copie le fichier du serveur. Et
ensuite la base est ouverte par cet exe.
Une seule base à maintenir, la mise à jour est automatique sur tous les
postes.

Discussions similaires
Chemin vers une base de données dans une page d'accès aux données

Comment seléctionner données de deux bases de données?

Migration d'une structure de base de données sans copie de données

affichage constant des donnees d'un form ulaire sur une page sans base de donnees


Fuseau horaire GMT +2. Il est actuellement 23h18. | Privacy Policy