VB 2005 + ACCESS : Multi-Utilisateurs

cs_AzertyH Messages postés 69 Date d'inscription samedi 25 mars 2006 Statut Membre Dernière intervention 18 janvier 2007 - 4 juin 2006 à 07:42
bulbizzard Messages postés 1 Date d'inscription mercredi 27 août 2003 Statut Membre Dernière intervention 6 octobre 2008 - 6 oct. 2008 à 11:53
Bonjour,

Je viens de réaliser un logiciel avec VB2005 et une base de données Access. Je m'adresse aux personnes qui connaissent bien Vb.net + Access, car m'a question n'est pas une question en générale, mais bien spécifique à ces 2 logiciels de dévellopement!

Faut-il gérer l'accès concurentielle à ma base de données, ou, est-ce-que VB2005 gère lui-même les accès à cette base?

Pour détailler un peu plus...
J'ai un soft en VB2005 et une base ACCESS. Cette dernière est placée sur le réseau. Le logiciel en VB2005 est placé sur plusieurs PC. En fait , le soft en VB2005 exploite les données de ma base ACCESS.
Mais, il faut penser que tôt ou tart deux utilisateurs qui utilisent le soft vb2005 (sur 2 PC différents), mettront occasionellement ma base de données à jours et en même temps... 
Donc là, normalement, y a problème! Mais, j'espère que VB2005 à la faculté de gerer ces 2 utilisateurs simultanés? Remarque: On utilise " UPDATE " pour mettre à jour la BBD.

Donc voilà, je me bas pour savoir comment sa marche, mais je ne trouve décidément pas! J'insiste à m'adresser à des personnes compétantes dans mon cas très précis (et non pas des cas similaires venant d'autres softs de dévelloppement). Pouvez vous me donner des liens ou je pourais trouver du code en VB2005 (ou 2003), si il faut programmer l'accès concurenciel.

Merci de votre aide, cordialement

25 réponses

nawalbel Messages postés 1 Date d'inscription lundi 19 février 2007 Statut Membre Dernière intervention 19 février 2007
19 févr. 2007 à 22:02
je cherche le sybolede data dans vb2005
je vous pries de m'aider
0
cs_oubaid639 Messages postés 5 Date d'inscription mardi 10 janvier 2006 Statut Membre Dernière intervention 14 mars 2007
20 févr. 2007 à 17:45
Re,
tu peux preciser ce que tu veux exactement ?
et tu programme aussi sous VB.NET 2005 ?
0
alextozo Messages postés 3 Date d'inscription mercredi 27 juin 2001 Statut Membre Dernière intervention 31 mars 2007
3 avril 2007 à 16:33
Bonjour,

Je ne comprends pas autour de quoi tourne le polemique. Le probleme est simple.
Celui qui pose la question connqit-il ce qu'il veut faire ou est-il en train d'embrouiller les gens?
Quelque soit les cqs moi je lui propose la solution suivante et que moi meme je pratique actuellement pour une entreprise en attente de passer en SQL Saerver.

Vb 2005 se connecte à tout type de base de donées du moins la majorité connu.
Access est l'un des bons gestionnaire de base de données et le plus simple et compatible tout produit office.

Tu as un réseau je suppose de trois postes A B et C
C est le serveur.
Tu crées un dossier BASE sur le serveur C sur une des partition donnée
ex: c:\BASE
Tu copies ton fichier de base de données access dans ce dossier
Tu partages ce dossiers en prenan soin de definir les autorisations en controle total par les utilisateurs en question (Ecriture-lecture-Modif-Supression)
Access naturellement sans paramétrage special peut être ouvert par plusieurs utilisateur donc par plusieurs interfaces Visual BAsic sur les machines A et B. Alors tu n'as rien a faire de particulier.

Tu prepares ton interface pour se connecter en Visual Basic.
Il faut savoir que tu as la possibilité de te connecter de deux manières à cette base de données access se trouvant sur le serveur.

   Tu crées sur chaque ordinateur un lien ODBC et qui se connecte à la base sur le dossier partagé
   Ou tu te connectes directement au fichier en explorant le repertoire partagé sur le serveur.

Et je parie que tu peux connecter meme 6 personnes sur ta base et les difficultés se sentiront rapidement
Access a une taille de 2 gigat donc evite de grosses données comme des images
A partir de 6 personnes tu sens une lenteur surtout si la connection se fait sur la meme table.
Si les utilisateurs doivent utiliser le meme enregistrement, access bloque le premier et attend sa mise à jour, ce qui explique une fois de plus la lenteur.
Si tu as plus de question ecris-moi alexandre.tozo@laposte.net

Mais soit preci et sache decrire tes projets et ce que tu veux faire.
Merci pour ta comprehension
Alexandre
0
cs_AzertyH Messages postés 69 Date d'inscription samedi 25 mars 2006 Statut Membre Dernière intervention 18 janvier 2007
3 avril 2007 à 19:53
Salut alextozo,

Si les utilisateurs doivent utiliser le meme enregistrement, access bloque le premier et attend sa mise à jour

Voilà, ce que tu dit, c'est exactement ce que je recherche comme réponse. Seulement pour pouvoir y répondre il faudrait me donner des preuves.

Et tu sure que lorsque plusieurs Visual Basic accèdent au même enregistrement en même temps dans access, y a pas de bug?
Si c'est vrai alors, dois-je en déduire qu' Access bloque l'access à l'autre utilisateur qui souhaite accéder au même enregistrement? Mais alors dans ce cas, comment l'interface visual basic réagit lorqu'Access bloque? Visual Basic comprend-t-il ce blocage et quelle est alors sa réaction? Attent-il jentillement que l'autre utilisateur ferme sa connection à la base de donnée? Dans ce cas plutôt "sinchrone", il y aurait un blocage de visual basic sur le pc du client et pendant le temps que l'autre finisse sa requette à Access.

Voilà un échantillon de ce que je trouve pas très claire, dans l'accès concurentielle à une base access et Visuale Basic 2005. Pour que je sois convincu je dois d'abord comprendre tout ce qui ce passe!

Merci pour votre aide
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bulbizzard Messages postés 1 Date d'inscription mercredi 27 août 2003 Statut Membre Dernière intervention 6 octobre 2008
6 oct. 2008 à 11:53
bulbizzard

j'ai moi aussi développé une application comme la tienne. Et je peux te confirmer qu'ACCESS gère trés biens les accés simultanés à une base postée sur un serveur distant. Pour m'en assuré j'ai effectué un test probant: sur les 3 machines qui attaquent la même base j'ai programmé 3 routines qui se chargent d'écrire des enregistrements en boucle c'est à dire 1000 records dont un champ pour identifier la machine émettrice bien entendu. j'ai lancé les routines en même temps Et là oh stupéfaction ! aucun enregistrement n'a été perdu et aucun plantage ne s'est produit : vive ACCESS !!!! Il est bien entendu qu'a la création de ta base access tu dois la paramétrer de tel sorte qu'elle accepte les accés simultanés. j'espère t'avoir suffisamment renseigné sinon n'hésites pas à me le faire savoir
0
Rejoignez-nous