OVH Cloud OVH Cloud

Incrémentation sur Numéro Auto

7 réponses
Avatar
juju
bonjour,=20

en access 2000, lorsque j'ins=E8re un nouvel enregistrement=20
dans une de mes tables - vide ou poss=E9dant d=E9j=E0 des=20
enregistrements -, il y a incr=E9mentation du num=E9ro auto=20
(propri=E9t=E9s du champ : cl=E9 primaire, type de donn=E9es int,=20
d=E9but compteur 1, incr=E9ment 1, index=E9 sans doublons).

Si je supprime le dernier enregistrement et que j'en=20
recr=E9e un (que ce soit par le biais d'un formulaire ou=20
directement dans la table), il ne prend pas l'incr=E9ment en=20
tenant compte des enregistrement supprim=E9s, mais il repart=20
=E0 "num=E9ro dernier enregistrement + 1" (et je n'ai pas=20
compil=E9 entre temps...)

or il faut absolument que mes num=E9ros auto soient=20
incr=E9ment=E9s en tenant compte des lignes supprim=E9es...

y'a t'il une option qui r=E9git =E7a ??
si oui, o=F9 est-elle ??

merci de votre aide

juju

7 réponses

Avatar
Pierre CFI
bonjour
tu n'as pas l'option comptacter à la fermeture par hasard ?

--
Pierre CFI
MVP Microsoft Access

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"juju" a écrit dans le message de news: 02ae01c36c71$3ae13d90$
bonjour,

en access 2000, lorsque j'insère un nouvel enregistrement
dans une de mes tables - vide ou possédant déjà des
enregistrements -, il y a incrémentation du numéro auto
(propriétés du champ : clé primaire, type de données int,
début compteur 1, incrément 1, indexé sans doublons).

Si je supprime le dernier enregistrement et que j'en
recrée un (que ce soit par le biais d'un formulaire ou
directement dans la table), il ne prend pas l'incrément en
tenant compte des enregistrement supprimés, mais il repart
à "numéro dernier enregistrement + 1" (et je n'ai pas
compilé entre temps...)

or il faut absolument que mes numéros auto soient
incrémentés en tenant compte des lignes supprimées...

y'a t'il une option qui régit ça ??
si oui, où est-elle ??

merci de votre aide

juju
Avatar
juju
j'ai fait un lapsus dans mon message d'origine : quand je
disais "compilé", je pensais "compacté" !
donc a priori non, et de toute façon je ne ferme pas la
base entre-temps...
au cas où, peux-tu me dire où je trouve cette option ?
je n'arrive pas à mettre la main dessus...

merci

juju

-----Message d'origine-----
bonjour
tu n'as pas l'option comptacter à la fermeture par
hasard ?


--
Pierre CFI
MVP Microsoft Access

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"juju" a écrit dans le
message de news: 02ae01c36c71$3ae13d90$

bonjour,

en access 2000, lorsque j'insère un nouvel enregistrement
dans une de mes tables - vide ou possédant déjà des
enregistrements -, il y a incrémentation du numéro auto
(propriétés du champ : clé primaire, type de données int,
début compteur 1, incrément 1, indexé sans doublons).

Si je supprime le dernier enregistrement et que j'en
recrée un (que ce soit par le biais d'un formulaire ou
directement dans la table), il ne prend pas l'incrément en
tenant compte des enregistrement supprimés, mais il repart
à "numéro dernier enregistrement + 1" (et je n'ai pas
compilé entre temps...)

or il faut absolument que mes numéros auto soient
incrémentés en tenant compte des lignes supprimées...

y'a t'il une option qui régit ça ??
si oui, où est-elle ??

merci de votre aide

juju


.



Avatar
Denis Taglia
Bonjour,
Sans compacter le compteur n'est pas reinitialise.
Creer un champs numero logique et utiliser la fonction dmax ou maxDom pour
avoir la valeur la plus elever ajouter 1.
C'est une solution, mais ça ne prendra pas les numeros supprimes inferieur.
@+
Denis


"juju" a écrit dans le message de
news:0a8d01c36c76$aa16af60$
j'ai fait un lapsus dans mon message d'origine : quand je
disais "compilé", je pensais "compacté" !
donc a priori non, et de toute façon je ne ferme pas la
base entre-temps...
au cas où, peux-tu me dire où je trouve cette option ?
je n'arrive pas à mettre la main dessus...

merci

juju

-----Message d'origine-----
bonjour
tu n'as pas l'option comptacter à la fermeture par
hasard ?


--
Pierre CFI
MVP Microsoft Access

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"juju" a écrit dans le
message de news: 02ae01c36c71$3ae13d90$

bonjour,

en access 2000, lorsque j'insère un nouvel enregistrement
dans une de mes tables - vide ou possédant déjà des
enregistrements -, il y a incrémentation du numéro auto
(propriétés du champ : clé primaire, type de données int,
début compteur 1, incrément 1, indexé sans doublons).

Si je supprime le dernier enregistrement et que j'en
recrée un (que ce soit par le biais d'un formulaire ou
directement dans la table), il ne prend pas l'incrément en
tenant compte des enregistrement supprimés, mais il repart
à "numéro dernier enregistrement + 1" (et je n'ai pas
compilé entre temps...)

or il faut absolument que mes numéros auto soient
incrémentés en tenant compte des lignes supprimées...

y'a t'il une option qui régit ça ??
si oui, où est-elle ??

merci de votre aide

juju


.



Avatar
Pierre CFI
.../...
dans outils/options générale compacter à la ferneture
mais là il y a qq chose, si ton champ est numauto, et que tu le supprime (si l'enregistrement a été validé) il ne doit pas
réapparaitre sans compactage

--
Pierre CFI
MVP Microsoft Access

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"juju" a écrit dans le message de news: 0a8d01c36c76$aa16af60$
j'ai fait un lapsus dans mon message d'origine : quand je
disais "compilé", je pensais "compacté" !
donc a priori non, et de toute façon je ne ferme pas la
base entre-temps...
au cas où, peux-tu me dire où je trouve cette option ?
je n'arrive pas à mettre la main dessus...

merci

juju

-----Message d'origine-----
bonjour
tu n'as pas l'option comptacter à la fermeture par
hasard ?


--
Pierre CFI
MVP Microsoft Access

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"juju" a écrit dans le
message de news: 02ae01c36c71$3ae13d90$

bonjour,

en access 2000, lorsque j'insère un nouvel enregistrement
dans une de mes tables - vide ou possédant déjà des
enregistrements -, il y a incrémentation du numéro auto
(propriétés du champ : clé primaire, type de données int,
début compteur 1, incrément 1, indexé sans doublons).

Si je supprime le dernier enregistrement et que j'en
recrée un (que ce soit par le biais d'un formulaire ou
directement dans la table), il ne prend pas l'incrément en
tenant compte des enregistrement supprimés, mais il repart
à "numéro dernier enregistrement + 1" (et je n'ai pas
compilé entre temps...)

or il faut absolument que mes numéros auto soient
incrémentés en tenant compte des lignes supprimées...

y'a t'il une option qui régit ça ??
si oui, où est-elle ??

merci de votre aide

juju


.



Avatar
juju
précisions :
- les options de compactage sont bien décochées.
- quand je suis en train d'insérer un enregistrement, tout
se passe comme si access affectait un numéro temporaire
(dernier enregistrement + 1); puis quand je valide, il me
met bien le numéro attendu (tenant compte des
enregistrements supprimés).
Le problème, c'est que j'ai du code a exécuter entre ces
deux moments, et que du coup ça me génère des incohérences
dans mes tables...

des idées ?
merci

juju


-----Message d'origine-----
j'ai fait un lapsus dans mon message d'origine : quand je
disais "compilé", je pensais "compacté" !
donc a priori non, et de toute façon je ne ferme pas la
base entre-temps...
au cas où, peux-tu me dire où je trouve cette option ?
je n'arrive pas à mettre la main dessus...

merci

juju

-----Message d'origine-----
bonjour
tu n'as pas l'option comptacter à la fermeture par
hasard ?


--
Pierre CFI
MVP Microsoft Access

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"juju" a écrit dans le
message de news: 02ae01c36c71$3ae13d90$

bonjour,

en access 2000, lorsque j'insère un nouvel enregistrement
dans une de mes tables - vide ou possédant déjà des
enregistrements -, il y a incrémentation du numéro auto
(propriétés du champ : clé primaire, type de données int,
début compteur 1, incrément 1, indexé sans doublons).

Si je supprime le dernier enregistrement et que j'en
recrée un (que ce soit par le biais d'un formulaire ou
directement dans la table), il ne prend pas l'incrément
en


tenant compte des enregistrement supprimés, mais il
repart


à "numéro dernier enregistrement + 1" (et je n'ai pas
compilé entre temps...)

or il faut absolument que mes numéros auto soient
incrémentés en tenant compte des lignes supprimées...

y'a t'il une option qui régit ça ??
si oui, où est-elle ??

merci de votre aide

juju


.

.





Avatar
juju
Mouais....
en fait, je n'ai pas tout dit : je travaille sur un
projet .adp, i.e. un frontal access qui attaque une base
sql...
je ne l'ai pas précisé tout de suite, parce que sinon
personne ne répond à mes questions sur les forums access,
non plus que sur les forums sql d'ailleurs (enfin,
j'exagère, mais à peine ! on m'appelle Caliméro...)
bref, du coup je ne demande pas l'impossible, mais juste
une adéquation entre le numéro auto access et celui de sql
(pourquoi access ne va pas voir dans la table alors que le
formulaire est basé dessus ??), pour que l'insertion
SIMPLE suite à la création d'un nouvel enregistrement se
fasse sans que j'ai des messages à la @#!%¤# !! qui me
signalent que l'insert n'est pas possible.

je suis un lecteur assidû de science-fiction, mais il ne
me semble pas demander à access de me créer un paradoxe
temporel ou de m'imprimer un robot positronique !?!

juju


-----Message d'origine-----
Bonjour Juju!

Il va falloir attendre une version future d'Access (pas
la version 2003 mais

une encore plus future). Associee au nouveau chipset
d'Intel, cette version

sera capable de lire dans le futur si les enregistrements
seront bien

sauvegardes avant d'affecter un numero. Cette version
sera capable de

prendre en compte les utilisateurs qui font semblant de
sauvegarder un

enregistrement, ceux qui ont l'intention de le
sauvegarder mais qui n'y

arrivent pas, ceux qui les sauvegardent mais qui les
effacent apres, ceux

qui font semblant de travailler quand le patron regarde,
ceux qui se sont

trompes mais qui ne le referont pas c'est promis, et meme
ceux qui font leur

petit boulot-metro-dodo.
Un des avantage, quelque peu deroutant pour l'utilisateur
non averti, il est

vrai, est l'economie de place sur le disque: les
documents inutiles ne

seront meme pas sauvegardes.

(Ironie OFF, pour ceux qui auraient des doutes ;-)

Treves de plaisanteries, si votre cahier des charges a
une sequence bien

definie pour la sauvegarde des enregistrement et
l'affectation des numeros,

il est possible d'accomoder la numerotation automatique
d'Access.


Bonne continuation.

--
Daniel :-)

Computing Technologies International - www.computing-
tech.com - We

provide solutions...

"juju" wrote in message
news:09c101c36c84$c9b43820$
précisions :
- les options de compactage sont bien décochées.
- quand je suis en train d'insérer un enregistrement, tout
se passe comme si access affectait un numéro temporaire
(dernier enregistrement + 1); puis quand je valide, il me
met bien le numéro attendu (tenant compte des
enregistrements supprimés).
Le problème, c'est que j'ai du code a exécuter entre ces
deux moments, et que du coup ça me génère des incohérences
dans mes tables...

des idées ?
merci

juju



.



Avatar
Daniel Carollo
Re-bonjour Juju!

Raison de plus. Vous avez un frontal qui demande la creation d'un nouvel
enregistrement. La base qui cree cet enregistrement. Il faut surtout mener a
terme ces deux operations, quitte a effacer l'enregistrement s'il est devenu
redondant. Il n'y a rien de pire que des petits bouts de code qui vont faire
leurs petites affaires avec un numero d'enregistrement qui va peut-etre
exister, ou peut-etre pas...

Je ne comprend pas bien ce que vous entendez par:
l'insertion SIMPLE suite à la création d'un nouvel enregistrement se
fasse sans que j'ai des messages à la @#!%¤# !! qui me
signalent que l'insert n'est pas possible.


Essayez-vous d'inserer des enregistrements qui existent deja?


--
Daniel :-)

Computing Technologies International - www.computing-tech.com - We
provide solutions...

"juju" wrote in message
news:0ae801c36c9e$354bf9b0$
Mouais....
en fait, je n'ai pas tout dit : je travaille sur un
projet .adp, i.e. un frontal access qui attaque une base
sql...
je ne l'ai pas précisé tout de suite, parce que sinon
personne ne répond à mes questions sur les forums access,
non plus que sur les forums sql d'ailleurs (enfin,
j'exagère, mais à peine ! on m'appelle Caliméro...)
bref, du coup je ne demande pas l'impossible, mais juste
une adéquation entre le numéro auto access et celui de sql
(pourquoi access ne va pas voir dans la table alors que le
formulaire est basé dessus ??), pour que l'insertion
SIMPLE suite à la création d'un nouvel enregistrement se
fasse sans que j'ai des messages à la @#!%¤# !! qui me
signalent que l'insert n'est pas possible.

je suis un lecteur assidû de science-fiction, mais il ne
me semble pas demander à access de me créer un paradoxe
temporel ou de m'imprimer un robot positronique !?!

juju