un Numéro Automatique mal incrémenté provoque une erreur.

Discussions et dépannage concernant Access (Toutes versions).

Modérateur : Modérateurs

Répondre
kobalt
Membre récent
Membre récent
Messages : 3
Enregistré le : 02 juin 2005, 23:00:00
Localisation : Nantes

Message par kobalt » 16 janv. 2003, 11:03:00

Lorque je veux ajouter un enregistrement, j'obtiens ce message d'erreur :
"Modifications non effectuées : risque de doublons dans champ index, clé
principale ou relation interdisant les doublons. Modifiez les données des
champs contenant les doublons, enlevez ou redéfinissez les l'index pour
permettre les doublons et recommencez."

J'utilise Access 2000 et il semble que c'est lié à  cela d'après Microsoft...
Mais ils n'apportent pas de solutions pour corriger ce bug!

HELP ME!!!

<IMG SRC="/images/smiles/confused_smile46.gif"> <IMG SRC="/images/smiles/whatchutalkingabout_smile46.gif"> <IMG SRC="/images/smiles/sad_smile46.gif"> <IMG SRC="/images/smiles/cry_smile46.gif">


Mutchafu
Membre récent
Membre récent
Messages : 4
Enregistré le : 02 juin 2005, 23:00:00
Localisation : Herve
Contact :

Message par Mutchafu » 04 févr. 2003, 09:21:00

En fait tu encodes une clef qui existe déjà  c'est pour ca ton erreur.
Donne moi les champs de ta table ainsi que parametre (clefs, index, etc ..) et table liée pour qu'on puisse mieux t'aider.

nicopan
Membre habitué
Membre habitué
Messages : 126
Enregistré le : 02 juin 2005, 23:00:00
Localisation : Coutances

Message par nicopan » 04 févr. 2003, 15:06:00

salut,

Il est preferable d'utiliser un entier long comme clef et de gerer toi-même la numérotation automatique d'une facon très simple :

Function AttribNum(Champ As String, Table As String) As Long
Dim i As Long

i = Nz(DMax(Champ, Table), 0)
If i >= 0 Then
AttribNum = i + 1
Else
AttribNum = 1
End If
End Function

Tu donnes le nom du champ de ta clé et le nom de la table en parametre la fonction te renvoie le numero.

Fonction a executer sur Formbeforeupdate ou sur l'afterupdate de champs sensibles de ton formulaire.

Intéret : Qd tu recopies qq données de ta table ds une autre, tu n'as aucun pb avec la numérotation auto d'Access. et tu maitrises tout (ou presque) au lieu de laisser Bill s'en occuper.

NiCo

Répondre

Retourner vers « Access »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 3 invités