La voici, la voilà :-) :
ALTER TABLE "T-Meteo" ALTER COLUMN "Id_Met" RESTART WITH n
Docgranville a écrit :
Jean Michel PIERRE a écrit :
Docgranville a écrit :
Bonjour Jean,
Sans avoir encore ouvert ta base, je dis que vu la tête du message
d'erreur, c'est normal que ton enregistrement ne soit pas dans ta
table ; la boite de dialogue t'annonce une erreur et ne procède pas
à la mise à jour (la mise à jour étant l'insertion d'un nouvel
enregistrement).
En l'occurrence, la boite te dit : "Violation of unique constraint"
; ça semble signifier que la tentative d'enregistrement s'est
traduite par une violation d'une contrainte d'unicité ; tu sembles
donc avoir tenté (involontairement je suppose) d'entrer, dans un
champ, une valeur figurant déjà dans un autre enregistrement, alors
que ce champ a été défini comme devant présenter une valeur unique
(normalement, c'est la clef primaire) ; c'est d'ailleurs ce qui
t'est précisé dans le bout de phrase suivant "duplicate value(s) for
column(s) "Id_Met"" in statement..." qui signifie "valeur en double
pour la colonne "Id_Met" dans l'instruction...
Je vais essayer d'aller voir la tête de ta table pour voir ce qui
cloche et hje reviendrai te dire si je trouve quelque chose.
A+
Bonjour,
J'aurai aussi parié sur un format date dans le contrôle du formulaire
incohérent par rapport au format date du champ de la table.
J.M
Suite des investigations :
Non, apparemment, le format de la date ne pose pas de problème ; j'ai
tenté d'insérer une date 13/3/9 et le formulaire m'a transformé ça en
Vendredi 13 Mars 2009, tout seul comme un grand.
En revanche, Jean, n'aurais tu pas envoyé une instruction particulière
à ta table ?
J'ai procédé à un certain nombre d'essais et tous se sont soldés par
des échecs ; puis, d'un seul coup, ça a fonctionné ; j'étais en train
de m'interroger, quand j'ai constaté que la clef primaire de mon
enregistrement était le 14 ; j'ai aussitôt consulté la table et je me
suis aperçu que tu avais supprimé ayant porté les numéros 14, 15 et 16
(qui suivaient le 21 Janvier) ; derrière, j'ai pu procéder à
l'enregistrement de deux nouveaux tuples, qui ont pris les clefs
primaires 15 et 16 ; ensuite, les nouveaux enregistrements que j'ai
tentés m'ont à nouveau envoyé le même message d'erreur ; j'imagine que
ma prochaine tentative fructueuse sera celle où l'auto-valeur
cherchera à attribuer la clef 39 à mon nouveau tuple.
J'en déduis donc que, pour une raison qui m'échappe, l'auto-valeur a
reçu l'instruction de repartir de 0 ; soit c'est l'auteur de la base
qui a donné cette instruction, soit c'est le système ; mais en tout
cas, le fait est là ; du coup, l'auto-valeur propose comme clef
primaire, des valeurs déjà présentes dans la table ; d'où le message
d'erreur.
La solution ? Elle est très simple : tu continues à tenter
d'enregistrer ; lorsqu'apparaît le message d'erreur, tu cliques sur
OK, puis tu tentes de ré-enregistrer ; le message d'erreur apparaît de
nouveau, tu cliques de nouveau sur OK et ainsi de suite ; visiblement,
à chaque nouvelle tentative, l'auto-valeur se ré-incrémente, ce qui
fait qu'à un moment, elle va rencontrer une valeur utile ; dans un
premier temps, tu vas donc devoir faire 14 tentatives et la 15ème sera
la bonne ; les 2 enregistrements suivants fonctionneront du premier
coup ; pour le suivant, tu devras répéter l'opération précédente
jusqu'à ce que l'auto-valeur (qui en est alors à 17) propose la valeur
39 ; après ça, ta base retrouvera un fonctionnement normal.
A ce moment là, tu auras le droit de te réjouir que l'évènement ayant
ordonné à l'auto-valeur de repartir de 0 soit arrivé alors que tu
n'avais que 35 enregistrements (environ) présents dans ta table ; si
c'était arrivé alors que tu avais déjà 235 tuples dans ta table, les
opérations auraient été un peu plus complexes...
Ceci dit, il est possible qu'une instruction existe, qui puisse te
permettre d'ordonner à l'auto-valeur de repartir directement de 39 ;
mais pour ma part, je ne connais pas cette instruction.
Espérant avoir aidé.
A+
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
---
Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 090916-0, 16/09/2009
Analyse le : 16/09/2009 18:14:38
avast! - copyright (c) 1988-2009 ALWIL Software.
http://www.avast.com
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]