2010-10-05 5 views
3

j'ai une base de données MS Access sur un lecteur réseau avec un userform qui a plusieurs utilisateurs (tous en utilisant en même temps)MS Access DB sur le réseau avec plusieurs utilisateurs

La forme exécute une mise à jour-requête qui ajoutera données dans une table de données brutes.

Est-ce que quelqu'un sait comment je peux faire ce travail si deux utilisateurs (ou plus) exécutent la requête de mise à jour en même temps? Je suppose que cela doit être fait en utilisant des tables temporaires ...

Merci, James

+0

avez-vous divisé en un front-end et back-end? –

+0

Non, je ne l'ai pas. Je vais essayer ça. Je suis nouveau ici, voulez-vous que je vous upvote ou quelque chose de similaire? Je ne suis pas sûr de savoir comment je vous signale comme répondant à ma question. – Waller

+0

upvoting est à votre discrétion. –

Répondre

8

Juste pour ajouter quelques pages de mon site Web à cette discussion.

Vous souhaitez scinder la MDB en une MDB frontale contenant les requêtes, les formulaires, les rapports, les macros et les modules avec uniquement les tables et les relations dans la MDB principale. L'entité FE est copiée sur chaque ordinateur des utilisateurs réseau. La MDB FE est liée aux tables de la base de données principale MDB qui réside sur un serveur. Vous effectuez des mises à jour de la MDB FE et les distribuez aux utilisateurs, probablement en tant que MDE.

Voir la page "Splitting your app into a front end and back end Tips" pour plus d'informations. Voir l'utilitaire gratuit Auto FE Updater pour rendre la distribution de nouvelles FE relativement indolore. L'utilitaire prend également très bien en charge Terminal Server/Citrix. Visitez également ma page Access Performance FAQ.

+0

+1. Voter parce que Tony est une excellente ressource pour tout ce qui concerne MS Access. –

+0

Mitch, Merci pour vos gentils mots –

+0

juste dire comment c'est.Je voterais 10 fois si je le pouvais. Votre site m'a aidé plusieurs fois pendant une décennie! –

4

Access ne se comporte pas bien si la base de données complète (extrémité forme avant, plus la base de données back-end) est accessible par plusieurs utilisateurs d'un réseau partager. Essayez de fractionner en frontal (un sur chaque machine client) et un seul backend (tables) sur le partage réseau et utilisez des tables liées dans le frontal.

How to manually split a Access database in Microsoft Access

Information about query performance in an Access database

Microsoft Access Performance Tips to Speed up Your Access Databases

Tony Toews Microsoft Access Performance FAQ est digne d'être lue.

+0

Merci. Je vais essayer ça. EDIT: Il ne me permettra pas de vous upvote parce que je n'ai aucune réputation. Cela a répondu à ma question, donc je serais reconnaissant si quelqu'un pouvait upvote Mitch Wheat! – Waller

+2

Et bien sûr, n'oubliez pas l'excellent programme de mise à jour Access Auto FE sur http://autofeupdater.com/ Dieu, je devrais obtenir une commission! –

+2

En outre, ce n'est pas seulement le fractionnement qui est crucial, mais en donnant à chaque utilisateur une copie individuelle de la partie frontale. Les deux sont les pratiques les plus élémentaires de tout déploiement d'application Access - votre application ne fonctionnera tout simplement pas de manière fiable si vous ne faites pas ces deux choses (scinder et donner un frontal individuel à chaque utilisateur). –

Questions connexes