|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre éprouvé
![]() Inscription : mai 2006 Messages : 661 ![]() |
Bonjour,
Ma BDD est composée d'une dorsale placée sur le réseau, et de deux frontales. Mes enregistrements sont dotés d'un numéro auto. Petit soucis, lorsqu'un des deux utilisateurs crée un nouvel enregistrement, il prend le bon numéro auto, mais lorsque l'autre utilisateur veut en créer un aussi, il prend le même numéro auto ! Apparament, tant que le premier utilisateur n'est pas sorti du formulaire de saisie de l'enregistrement en cours, l'autre personne peut prendre le même numéro auto en cliquant tout simplement sur un bouton "nouvel enregistrement"! Ce qui pose bien evidemment problème et bug tout. Pourtant, je croyais qu'avec les numéros auto, Access empéchait ceci ! Si quelqu'un à une idée, merci. |
|
|
00
|
|
|
#2 |
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 482 ![]() |
Jamais eu un truc du genre et j'utilise les AutoNum à tour de bras.
Quelle est ta version d'Access ? Ta base dorsale est une base Access ? A+ |
|
|
00
|
|
|
#3 | |
|
En attente de confirmation mail
Inscription : février 2005 Messages : 1 731 ![]() |
Bonjour,
Citation:
Dans le passé, j'ai eu ce type de problème sur des bases de données Access 2000: il pouvait arriver que, lors de l'ajout d'un nouvel enregistrement sur une certaine table, le numéro auto soit inférieur à ceux déjà utilisés, ce qui n'est techniquement pas possible. Donc, on pouvait conclure que la table était partiellement corrompue: les données étaient toujours OK, mais le compteur de référence interne utilisé pour le numéro auto avait une mauvaise valeur. Il me semble que la solution était une mise à jour du moteur de bases de donnée (alias JET). Mais je ne sais plus où ça se trouve (faut chercher... Alors comment remettre le compteur au bon "prochain numéro auto" ? Avant Jet 4.0 SP4, le compactage de la BD suffisait pour remettre ce compteur à la bonne valeur.. Depuis l'introduction de Jet 4.0 SP4, la seule manière de remettre le compteur au bon "prochain numéro auto" est de créer une nouvelle copie de la table corrompue, pour l'utiliser en lieu et place.Microsoft propose aussi une solution en VBA avec la fonction ChangeSeed() qui intervient directement sur le compteur spécial qui fournit le prochain numéro auto (cf. la propriété Seed). http://support.microsoft.com/kb/287756/en-us En attendant, tu peux quand même effectuer un compactage de la BD, ça ne peut pas faire de mal. |
|
|
|
00
|
|
|
#4 |
|
Membre éprouvé
![]() Inscription : mai 2006 Messages : 661 ![]() |
C'est de l'Access 2003 pour les dorsales et la frontale.
En fait on dirait vraiment que l'enregistrement ne s'enregistre que lorsqu'on sort de celui ci dans le formulaire, et non pas quand le numéro auto se crée, d'où la possibilité au cas où 2 utilisateurs en crée un en même tps (très peu probable mais bon, ça a du arriver une fois en un an), ça leur attribue 2 fois le même numéro auto, et pof la base bug. |
|
|
00
|
|
|
#5 |
![]() ![]() |
Bonjour,
Dans les options, le verrouillage par défaut est bien à "Enregistrement verrouillé" ? Et la propriété Verrouillage du formulaire à Enr modifié ? Domi2
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor) Ici, on ne perd pas de temps ! On en passe... Ce message (ou un autre) vous a aidé ? Votez pour lui avec
|
|
|
00
|
|
|
#6 |
|
Membre éprouvé
![]() Inscription : mai 2006 Messages : 661 ![]() |
Sur le formulaire ça y était, mais pas dans les options, je vais tester ça merci.
|
|
|
00
|
|
|
#7 | ||
|
En attente de confirmation mail
Inscription : février 2005 Messages : 1 731 ![]() |
Bonjour Herman et Domi2,
Et si on parlait un peu technique ? Citation:
Citation:
Cette attribution est sérialisée (au moyen d'un verrou qui contrôle l'accès à une propriété spéciale du champ concerné, et qui contient le prochain numéro auto à attribuer) et il ne peut pas y avoir deux attributions simultanées (c'est l'effet voulu obtenu grâce à la sérialisation). De plus, cette attribution est toujours immédiatement entérinée par JET. Concrètement, si l'ajout d'un enregistrement est finalement annulé, en revanche le compteur du champ numéro auto est incrémenté. En revanche, il existe quand même des moyens de corrompre ce mécanisme. Sur ce sujet, on peut lire avec intérêt l'excellent Allen Browne: Fixing AutoNumbers when Access assigns negatives or duplicates |
||
|
|
00
|
|
|
#8 |
|
Membre éprouvé
![]() Inscription : mai 2006 Messages : 661 ![]() |
Pourquoi quand je commence un nouvel enregistrement, et que je vais voir dans la table si il s'est bien ajouté, il n'y est toujours pas ?
C'est seulement quand je quitte l'enregistrement sur le formulaire qu'il vient s'ajouter Je vais encore chercher un peu d'où ça peut venir, et sinon tant pis, je dirais aux 2 personnes de se téléphoner avant d'utiliser la base ! ahah |
|
|
00
|
|
|
#9 | ||
|
En attente de confirmation mail
Inscription : février 2005 Messages : 1 731 ![]() |
Citation:
Je ne vois pas du tout où est le problème... En revanche, ce que tu nous a expliqué initialement est un vrai problème: Citation:
|
||
|
|
00
|
|
|
#10 | |
|
En attente de confirmation mail
Inscription : février 2005 Messages : 1 731 ![]() |
Bonjour,
Pour rendre service à ceux qui seraient concernés... Citation:
http://support.microsoft.com/kb/239114/ |
|
|
|
00
|
|
|
#11 | |
![]() ![]() |
Bonjour,
A =JBO= Citation:
Merci en tout cas pour les précisions que tu nous as apportées. A Herman Désolé de t'avoir aiguillé sur une mauvaise piste Domi2
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor) Ici, on ne perd pas de temps ! On en passe... Ce message (ou un autre) vous a aidé ? Votez pour lui avec
|
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com