Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Modélisation
Modélisation Le forum qui vous aide à résoudre vos questions relatives à la modélisation (tables et relations) de votre base de données sous Access. Pour les états et les formulaires, postez dans le forum IHM.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/04/2007, 10h45   #1
Invité de passage
 
Inscription : avril 2007
Messages : 11
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 11
Points : 4
Points : 4
Par défaut [conception] [07] mode multi-utilisateurs

bonjour,

j'ai partagé ma base en 2 ,dont la dorsale est sur le serveur..et chaque poste a son fichier access . le probleme est que si on est plusieurs a travailler sur le meme fichier , access ne veut pas tout enregistrer il veut ecraser les mofifs apportées par les autres..
j'aimerais savoir comment on fait pour que ca enregistre les differentes modifs des postes et que quand on ouvre le fichier par la suite ca ai pris en compte ttes les modifs...

merci de me répondre,je bloque vraiment la
Temak31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/04/2007, 10h52   #2
Membre confirmé
 
Avatar de soforever
 
Étudiant
Inscription : avril 2007
Messages : 276
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2007
Messages : 276
Points : 259
Points : 259
Bonjour,

Je suis actuellement en charge d'un projet qui fonctionne exactement de la même manière à savoir que la base de donnée se trouve sur un serveur et que chaque utilisateur dispose d'un exécutable (.mde) sur sa machine afin de ne pas avoir à charger par le réseau le code, les formulaires, etc.

Pour éviter le problème que tu rencontres, il m'a suffit de mettre un identifiant unique en incrémentation auto. Ainsi, dès qu'un utilisateur ouvre un nouvel enregistrement, cet identifiant est incrémenté à l'ouverture de celui-ci sans attendre une "validation" d'enregistrement de l'utilisateur. Il est donc impossible que 2 utilisateurs se retrouvent avec le même numéro pour leur nouvelle saisie.
soforever est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/04/2007, 11h08   #3
Invité de passage
 
Inscription : avril 2007
Messages : 11
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 11
Points : 4
Points : 4
ouais...
je ne suis pas un pro d'access et j'ai du mal a comprendre ce que tu m'a dit...
il n'y aurait pas un moyen plus facil de faire ce tu ma dit...
est ce force de faire un fichier executable sur les poste car je fais juste un fichier normal access ou les tables sont liees..
Temak31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/04/2007, 14h11   #4
Membre confirmé
 
Avatar de soforever
 
Étudiant
Inscription : avril 2007
Messages : 276
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2007
Messages : 276
Points : 259
Points : 259
Le fichier éxecutable n'est pas obligatoire mais rend l'utilisation sur poste client beaucoup plus rapide car (cf les cours trouvés sur ce site ^^) tout le code VB ainsi que les macros, etc. sont "compilés" ce qui permet d'une part de "sécuriser" le tout car les utilisateurs n'ont plus accès aux détails de la programmation : ils n'ont qu'un éxecutable de l'application.

Enfin, pour ce qui est de ton problème j'ai du mal m'exprimer car ce n'est pas très compliqué. Le principe : créer une sauvegarde directement du nouvel enregistrement de ta table sans attendre que l'enregistrement soit saisi en entier. Ensuite tu "modifies" cet enregistrement vierge avec les données saisies par l'utilisateur.

Pour cela, dans la table gérant les enregistrements rajoutés par les utilisateurs, tu crées un champ suplémentaire de type numérique avec une incrémentation automatique (option du champ lors de sa création). Ce champ peut devenir ton identifiant de ta table. Ensuite à chaque fois qu'un utilisateur ouvre un formulaire (par exemple) permettant l'ajout de données dans cette table, tu incrémentes ce compteur (ton identifiant de 1).
Cette incrémentation peut être (je dirais doit car je ne vois aps d'autres solutions pour l'instant) codée en VB.

A titre d'exemple, voilà la ligne de code (sans la gestion des erreurs) dans ma BD :
Code :
1
2
3
 
 ' Sauvegarde l'enregistrement
    DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
En espérant avoir été plus clair.
soforever est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/04/2007, 16h28   #5
Invité de passage
 
Inscription : avril 2007
Messages : 11
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 11
Points : 4
Points : 4
j'ai resolu le probleme je te remercie..
j'ai fait un fichier dorsal sur le serveur et un fichier sur chaque poste ou on peut modifier chacuns des entrees et qu'ensuite ca se conserve...
cependant on ne peut pas le faire quand plusieurs postes modifient la meme id client...mais je pense que cela n'est pas possible

merci
Temak31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/04/2007, 17h05   #6
Membre confirmé
 
Avatar de soforever
 
Étudiant
Inscription : avril 2007
Messages : 276
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2007
Messages : 276
Points : 259
Points : 259
Citation:
Envoyé par temak31
cependant on ne peut pas le faire quand plusieurs postes modifient la meme id client...mais je pense que cela n'est pas possible
En effet, de par son statut d'dentifiant ce n'est pas possible d'ou le conseil que j'ai tenté de te faire comprendre d'en ajouter un nouveau à chaque nouvelle CREATION de ligne dans ta table et non pas attribuer un id sans le "réserver" dans la BD et qui reste alors disponible pour les autres utilisateurs...

Enfin ravi que ton problème soit réglé

[Julien Courbet mode ON]Affaire suivante[/Julien Courbet]

PS : Pense à classer ton message comme merci
soforever est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h26.


 
 
 
 
Partenaires

Hébergement Web