|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |
|
Membre habitué
![]() Inscription : février 2005 Messages : 186 ![]() |
Bonjour,
Avec Access 97, j'ai une base de donnée "Appli" en local sur le bureau J'ai une autre base "Données_Affaire_1" sur le serveur J'ai une troisième base "Données_Affaire_2" sur le serveur Au démarrage de la base "Appli", je peux choisir de lier les tables de la base "Données_Affaire_1" ou "Données_Affaire_2". Je le fais en VBA avec le code inspiré du code sur la faq. Les liaisons fonctionnent bien, mais si quelqu'un est déjà connecté via "Appli" sur une des deux bases sur le serveur, je ne peux pas importer les tables de la base ouverte. J'ai le message : Citation:
Les "Appli" ayant déjà les bonnes tables chargée (par exemple, 2 "Appli" connectés en même temps sur "Données_Affaire_1") fonctionnent normalement. Aucune base n'est protégée par mot de passe. Edit de ce matin : J'ai liée les tables en passant par l'interface d'Access (Nouvelle table > lier) et je n'ai pas ce problème. Il semble donc que ça vient du code vba. Je continue de chercher... Merci pour votre aide, Jean-Marc |
|
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 098 ![]() |
Bonjour,
As-tu vérifier que l'une des personnes qui utilise la base n'est pas réglé sur Ouverture Exclusive ? Il n'y a pas de moyen d'ouvrir une base déjà ouverte en mode exclusif, à part de déconnecter l'utilisateur. Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste MsGraph et VBA - 1e Partie 2e partie Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010 Complément :Générateur de msgbox Visitez mon Blog Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine |
|
00
|
|
|
#3 |
|
Membre habitué
![]() Inscription : février 2005 Messages : 186 ![]() |
Merci pour ta réponse
J'ai trouvé le problème et je l'ai contourné. Cela provenait de la première partie du code donné dans la faq: 1) Ouverture de la base distante pour lister ses tables et mise en mémoire de leurs noms 2) Fermeture de la base distante 3) Création des tables dans la base locale et liaisons Ca plantait au point 1 lors de l'ouverture. Ce que j'ai fait, comme ce sont toujours les même tables que je lie, 1) j'ai listé à l'aide de cette requête les tables liées dans ma base locale, en filtrant le nom de la base distante qui m'intéresse. 2) je mets les noms de ces tables dans un tableau 3) Après suppression des tables liées, création des nouvelles tables et liaison avec la nouvelle base distante. Comme ça, pas besoin d'ouvrir la base distante, et pas de conflit ! J'aurais pu mettre les noms des tables à lier en dur dans mon code, mais ça aurait été moins élégant, surtout que mon appli est appelée à évoluer... Pour ma culture perso, comment règle t-on l'ouverture d'une base en mode exclusif ? Jean-Marc |
|
|
00
|
|
|
#4 | ||
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 098 ![]() |
Directement dans la fenêtre ouvrir de chaque poste. Attenant au bouton il y a une flèche.
Egalement dans les options d'Access. Il y a aussi ce code pour l'attachement des tables : Code :
Openfiles est la fonctionnalité d'affichage de la fenêtre Ouvrir. Tu peux la trouver dans la FAQ. Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste MsGraph et VBA - 1e Partie 2e partie Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010 Complément :Générateur de msgbox Visitez mon Blog Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine |
||
|
00
|
|
|
#5 |
|
Membre habitué
![]() Inscription : février 2005 Messages : 186 ![]() |
OK, merci pour le code.
D'après ce que je comprends, il n'est pas nécessaire d'effacer une table pour lui donner un nouveau lien. Je vais essayer ça, peut être que mon code gagnera en rapidité. Mais pour 18 tables, je doute. Toutefois, cette solution est plus jolie. kenavo, Jean-Marc |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com