OVH Cloud OVH Cloud

table liée ...

6 réponses
Avatar
Denis
Bonsoir à tous!

Lorsque j'utilise "DoCmd.TransferDatabase " pour lier une table SQL, cette
liaison s'effectue bien, à détail prêt:
si un autre utilisateur est également connecté cette même base Access, il ne
verra cette nouvelle table liée qu'une fois déconnecté / reconnecté,
bienqu'elle est immédiatement visible depuis le poste ou la liaison a été
faite ....

Existe t-il une solution pour que celle-ci soit visible pour tous les
utilisateurs connecté dés sa création ?

Merci d'avance ...

Denis.

6 réponses

Avatar
3stone
Salut,

"Denis"
| Lorsque j'utilise "DoCmd.TransferDatabase " pour lier une table SQL, cette
| liaison s'effectue bien, à détail prêt:
| si un autre utilisateur est également connecté cette même base Access, il ne
| verra cette nouvelle table liée qu'une fois déconnecté / reconnecté,
| bienqu'elle est immédiatement visible depuis le poste ou la liaison a été
| faite ....
|
| Existe t-il une solution pour que celle-ci soit visible pour tous les
| utilisateurs connecté dés sa création ?


Si je comprends bien...

La base à laquelle tu lie la table n'est pas locale, mais se trouve sur
le "serveur" et tout le monde à un raccourci vers cette base ?

Si c'est cela, la méthode est (très) mauvaise et encore heureux que cela
ne fonctionne pas comme tu le souhaite.


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
Denis
Effectivement, ce que j'ais écris n'est pas très clair. Donc:

- un serveur A, sur lequel est hébergé/partagé le fichier MDE d'Access,
- un serveur B, sur lequel tourne SQL Server hébergeant pratiquement toutes
les tables d'Access, et d'autres bases de données également utilisées par le
MDE,
- enfin, les clients qui n'utilisent que le MDE à partir du réseau ...

Dans le fonctionnement, à un certain moment, je crée une nouvelle table sur
le serveur SQL.
Pour pouvoir l'exploiter plus simplement, je fais une liaison vers Access,
avec "DoCmd.TransferDatabase " ....

Dans ce cas de figure, je pense ne pas pouvoir envisager que chaque
utilisateur ait sa propre base "frontale": si untel crée une nouvelle table,
l'autre ne la verra jamais .... a moins de vérifier régulièrement si une
nouvelle table existe, etc. ....

Qu'en penses tu ? est-ce vraiment si mauvais ?

Merci pour ton avis...
Denis.


"3stone" a écrit dans le message de news:
%
Salut,
Si je comprends bien...

La base à laquelle tu lie la table n'est pas locale, mais se trouve sur
le "serveur" et tout le monde à un raccourci vers cette base ?

Si c'est cela, la méthode est (très) mauvaise et encore heureux que cela
ne fonctionne pas comme tu le souhaite.
--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/


Avatar
3stone
re,

"Denis"
| Effectivement, ce que j'ais écris n'est pas très clair. Donc:
|
| - un serveur A, sur lequel est hébergé/partagé le fichier MDE d'Access,


et donc chacun démarre cette MDE du serveur A ?

- même constatation que tout à l'heure...


| - un serveur B, sur lequel tourne SQL Server hébergeant pratiquement toutes
| les tables d'Access, et d'autres bases de données également utilisées par le
| MDE,
| - enfin, les clients qui n'utilisent que le MDE à partir du réseau ...
|
| Dans le fonctionnement, à un certain moment, je crée une nouvelle table sur
| le serveur SQL.
| Pour pouvoir l'exploiter plus simplement, je fais une liaison vers Access,
| avec "DoCmd.TransferDatabase " ....


toutes les tables sont donc liées à la MDE du serveur A ??

- ce qui a (aurait) comme résultat que la base utilise le moteur JET (serveur de fichier)
- annulle(rait) presque totalement l'avantage de l'utilisation de SQL Server !


| Dans ce cas de figure, je pense ne pas pouvoir envisager que chaque
| utilisateur ait sa propre base "frontale": si untel crée une nouvelle table,
| l'autre ne la verra jamais .... a moins de vérifier régulièrement si une
| nouvelle table existe, etc. ....

- chaque utilisateur sa propre frontale: un principe fondamental pour Access

- je ne connait pas d'application ou "untel" à le besoin de créer une table
(accessible par tous), si ce n'est justement en local pour un usage qui lui
est propre (rapatriement de données pour des stats ou autres "travaux lourds")

On ne parle pas ici d'évolution de l'application, bien entendu.

J'ai donc l'impression que l'on a installé SQL Server "parce que c'est mieux",
mais qu'il résulte de la mise en oeuvre quelque chose de moins propre et/ou
moins performant qu'une application totalement basée sur de l'Access, mais
bien pensée.

Ce serait dommage...


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
Denis
et donc chacun démarre cette MDE du serveur A ?


oui, tout à fait ...

toutes les tables sont donc liées à la MDE du serveur A ??


oui, tout à fait (bis)

ce qui a (aurait) comme résultat que la base utilise le moteur JET
(serveur de fichier)
annulle(rait) presque totalement l'avantage de l'utilisation de SQL Server
!


Et c'est grave "docteur" ?
Pourtant, initialement, la base était entièrement sous Acces : le jour ou on
a migré les table, le changement a été radical d'un point de vue rapidité
dans les requête...

- je ne connait pas d'application ou "untel" à le besoin de créer une
table
(accessible par tous), si ce n'est justement en local pour un usage qui
lui
est propre (rapatriement de données pour des stats ou autres "travaux
lourds")


Je pense effectivement que cette application peut être classée dans "travaux
lourds" : elle permet de stocker/gérer les logs d'une trentaine de serveur
(pour l'instant):
Pour chaque controleur de domaine, une table lui est dédiée / créée lors de
son ajout.
La quantité des logs stockés est énorme ne serait-ce que pour un serveur
.... je ne peux pas me permettre de tout mettre dans une seule et unique
table ...


J'ai donc l'impression que l'on a installé SQL Server "parce que c'est
mieux",
mais qu'il résulte de la mise en oeuvre quelque chose de moins propre
et/ou
moins performant qu'une application totalement basée sur de l'Access, mais
bien pensée.


Le serveur SQL était déjà en place avec plusieurs bases à sa charge : j'ai
pensé, (à juste titre aux vue des bénéfices en terme de rapidité d'exécution
de requête) qu'il serait judicieux d'en profiter.

De loin, je ne suis pas un pro dans le domaine, tu l'as bien compris ...
maintenant, je ne demande qu'a faire avancer le "chmilblic" ;-)

Merci pour ton avis.

DNI.

Avatar
3stone
re,

"Denis"
| Je pense effectivement que cette application peut être classée dans "travaux
| lourds" : elle permet de stocker/gérer les logs d'une trentaine de serveur
| (pour l'instant):
| Pour chaque controleur de domaine, une table lui est dédiée / créée lors de
| son ajout.
| La quantité des logs stockés est énorme ne serait-ce que pour un serveur
| .... je ne peux pas me permettre de tout mettre dans une seule et unique
| table ...
|
|
| > J'ai donc l'impression que l'on a installé SQL Server "parce que c'est
| > mieux",
| > mais qu'il résulte de la mise en oeuvre quelque chose de moins propre
| > et/ou
| > moins performant qu'une application totalement basée sur de l'Access, mais
| > bien pensée.
|
| Le serveur SQL était déjà en place avec plusieurs bases à sa charge : j'ai
| pensé, (à juste titre aux vue des bénéfices en terme de rapidité d'exécution
| de requête) qu'il serait judicieux d'en profiter.


Si les tables sont réellement liées, que tu n'utilise pas les procédures stockées...
il faudra me convaincre par quel miracle tu as obtenu ce gain en rapidité !!

Tu utilise Access de façon conventionnelle (hormis le fait que tu as l'appli sur
le serveur, ce qui entre autre, obligent les formulaires et le reste à transiter
aussi par le réseau) et dans ce cas, c'est JET, serveur de fichiers faut-il le
rappeller, qui fait le boulot. Dans cette configuration, les données transitent via
le réseau de la même manière qu'une simple base Access...

Mais bon, l'important est ta satisfaction et non la mienne ;-)


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
Denis
Bon, je crois qu'il va falloir que je revoie tout ça : vais faire des tests
afin de repartir vers le contexte dorsale / frontale.
Cependant, j'ai refais le test entre ACCESS seul et Access + SQL, y'a pas
photo !
Te remercies pour tes conseils.
Cordialement,

Denis.

"3stone" a écrit dans le message de news:

re,

"Denis"
| Je pense effectivement que cette application peut être classée dans
"travaux
| lourds" : elle permet de stocker/gérer les logs d'une trentaine de
serveur
| (pour l'instant):
| Pour chaque controleur de domaine, une table lui est dédiée / créée lors
de
| son ajout.
| La quantité des logs stockés est énorme ne serait-ce que pour un serveur
| .... je ne peux pas me permettre de tout mettre dans une seule et unique
| table ...
|
|
| > J'ai donc l'impression que l'on a installé SQL Server "parce que c'est
| > mieux",
| > mais qu'il résulte de la mise en oeuvre quelque chose de moins propre
| > et/ou
| > moins performant qu'une application totalement basée sur de l'Access,
mais
| > bien pensée.
|
| Le serveur SQL était déjà en place avec plusieurs bases à sa charge :
j'ai
| pensé, (à juste titre aux vue des bénéfices en terme de rapidité
d'exécution
| de requête) qu'il serait judicieux d'en profiter.


Si les tables sont réellement liées, que tu n'utilise pas les procédures
stockées...
il faudra me convaincre par quel miracle tu as obtenu ce gain en rapidité
!!

Tu utilise Access de façon conventionnelle (hormis le fait que tu as
l'appli sur
le serveur, ce qui entre autre, obligent les formulaires et le reste à
transiter
aussi par le réseau) et dans ce cas, c'est JET, serveur de fichiers
faut-il le
rappeller, qui fait le boulot. Dans cette configuration, les données
transitent via
le réseau de la même manière qu'une simple base Access...

Mais bon, l'important est ta satisfaction et non la mienne ;-)


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/