Bonjour,
J'utilise la fonction dmax +1 pour numéroter des commandes dans un
formulaire principal en allant chercher le no de ma numérotation
automatique, clé primaire de la table concernée.
Lorsque je supprime un enregistrement en amont, avant le dernier (ex : le 10
alors que j'en ai 12)
j'ai, du coup, un "trou" (8,9,11,12)
Comment éviter cela, sachant que je dois laisser la possibilité de supprimer
un enregistrement en amont?
Merci pour les conseils.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Raymond [mvp]
Bonjour.
pour trouver le premier trou dans une clé primaire tu peux utiliser une requête comme ceci: SELECT TOP 1 DCount("*","Table1","numero <" & [numero])+1 AS Compteur FROM Table1 WHERE (((DCount("*","Table1","numero <" & [numero])+1)<>[numero])) ORDER BY Table1.Numero;
à vérifier. -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ Pour débuter sur le forum: http://www.mpfa.info/ Nouvelle base Access des communes françaises avec longitude, latitude et 13246 sites internet officiels http://ardecheearth.free.fr/basededonnees.htm
"Hb" a écrit dans le message de news: 44ec081d$0$873$ | Bonjour, | J'utilise la fonction dmax +1 pour numéroter des commandes dans un | formulaire principal en allant chercher le no de ma numérotation | automatique, clé primaire de la table concernée. | Lorsque je supprime un enregistrement en amont, avant le dernier (ex : le 10 | alors que j'en ai 12) | j'ai, du coup, un "trou" (8,9,11,12) | Comment éviter cela, sachant que je dois laisser la possibilité de supprimer | un enregistrement en amont? | Merci pour les conseils. | | HB | |
Bonjour.
pour trouver le premier trou dans une clé primaire tu peux utiliser une
requête comme ceci:
SELECT TOP 1 DCount("*","Table1","numero <" & [numero])+1 AS Compteur
FROM Table1
WHERE (((DCount("*","Table1","numero <" & [numero])+1)<>[numero]))
ORDER BY Table1.Numero;
à vérifier.
--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Nouvelle base Access des communes françaises avec
longitude, latitude et 13246 sites internet officiels
http://ardecheearth.free.fr/basededonnees.htm
"Hb" <adsea77.logis.aaaae@wanadoo.fr> a écrit dans le message de news:
44ec081d$0$873$ba4acef3@news.orange.fr...
| Bonjour,
| J'utilise la fonction dmax +1 pour numéroter des commandes dans un
| formulaire principal en allant chercher le no de ma numérotation
| automatique, clé primaire de la table concernée.
| Lorsque je supprime un enregistrement en amont, avant le dernier (ex : le
10
| alors que j'en ai 12)
| j'ai, du coup, un "trou" (8,9,11,12)
| Comment éviter cela, sachant que je dois laisser la possibilité de
supprimer
| un enregistrement en amont?
| Merci pour les conseils.
|
| HB
|
|
pour trouver le premier trou dans une clé primaire tu peux utiliser une requête comme ceci: SELECT TOP 1 DCount("*","Table1","numero <" & [numero])+1 AS Compteur FROM Table1 WHERE (((DCount("*","Table1","numero <" & [numero])+1)<>[numero])) ORDER BY Table1.Numero;
à vérifier. -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ Pour débuter sur le forum: http://www.mpfa.info/ Nouvelle base Access des communes françaises avec longitude, latitude et 13246 sites internet officiels http://ardecheearth.free.fr/basededonnees.htm
"Hb" a écrit dans le message de news: 44ec081d$0$873$ | Bonjour, | J'utilise la fonction dmax +1 pour numéroter des commandes dans un | formulaire principal en allant chercher le no de ma numérotation | automatique, clé primaire de la table concernée. | Lorsque je supprime un enregistrement en amont, avant le dernier (ex : le 10 | alors que j'en ai 12) | j'ai, du coup, un "trou" (8,9,11,12) | Comment éviter cela, sachant que je dois laisser la possibilité de supprimer | un enregistrement en amont? | Merci pour les conseils. | | HB | |
Hb
Merci pour l'aide, je vais essayer, Mais en fait, je cherche à garder une numérotation continue, indépendamment des effacements d'enregistrements, peut être est ce un cas classique ?
"Raymond [mvp]" a écrit dans le message de news:
Bonjour.
pour trouver le premier trou dans une clé primaire tu peux utiliser une requête comme ceci: SELECT TOP 1 DCount("*","Table1","numero <" & [numero])+1 AS Compteur FROM Table1 WHERE (((DCount("*","Table1","numero <" & [numero])+1)<>[numero])) ORDER BY Table1.Numero;
à vérifier. -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ Pour débuter sur le forum: http://www.mpfa.info/ Nouvelle base Access des communes françaises avec longitude, latitude et 13246 sites internet officiels http://ardecheearth.free.fr/basededonnees.htm
"Hb" a écrit dans le message de news: 44ec081d$0$873$ | Bonjour, | J'utilise la fonction dmax +1 pour numéroter des commandes dans un | formulaire principal en allant chercher le no de ma numérotation | automatique, clé primaire de la table concernée. | Lorsque je supprime un enregistrement en amont, avant le dernier (ex : le
10 | alors que j'en ai 12) | j'ai, du coup, un "trou" (8,9,11,12) | Comment éviter cela, sachant que je dois laisser la possibilité de supprimer | un enregistrement en amont? | Merci pour les conseils. | | HB | |
Merci pour l'aide, je vais essayer,
Mais en fait, je cherche à garder une numérotation continue, indépendamment
des effacements d'enregistrements,
peut être est ce un cas classique ?
"Raymond [mvp]" <xyzofficesystem.accessxyz@free.fr> a écrit dans le message
de news:eU1aLZpxGHA.3464@TK2MSFTNGP03.phx.gbl...
Bonjour.
pour trouver le premier trou dans une clé primaire tu peux utiliser une
requête comme ceci:
SELECT TOP 1 DCount("*","Table1","numero <" & [numero])+1 AS Compteur
FROM Table1
WHERE (((DCount("*","Table1","numero <" & [numero])+1)<>[numero]))
ORDER BY Table1.Numero;
à vérifier.
--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Nouvelle base Access des communes françaises avec
longitude, latitude et 13246 sites internet officiels
http://ardecheearth.free.fr/basededonnees.htm
"Hb" <adsea77.logis.aaaae@wanadoo.fr> a écrit dans le message de news:
44ec081d$0$873$ba4acef3@news.orange.fr...
| Bonjour,
| J'utilise la fonction dmax +1 pour numéroter des commandes dans un
| formulaire principal en allant chercher le no de ma numérotation
| automatique, clé primaire de la table concernée.
| Lorsque je supprime un enregistrement en amont, avant le dernier (ex :
le
10
| alors que j'en ai 12)
| j'ai, du coup, un "trou" (8,9,11,12)
| Comment éviter cela, sachant que je dois laisser la possibilité de
supprimer
| un enregistrement en amont?
| Merci pour les conseils.
|
| HB
|
|
Merci pour l'aide, je vais essayer, Mais en fait, je cherche à garder une numérotation continue, indépendamment des effacements d'enregistrements, peut être est ce un cas classique ?
"Raymond [mvp]" a écrit dans le message de news:
Bonjour.
pour trouver le premier trou dans une clé primaire tu peux utiliser une requête comme ceci: SELECT TOP 1 DCount("*","Table1","numero <" & [numero])+1 AS Compteur FROM Table1 WHERE (((DCount("*","Table1","numero <" & [numero])+1)<>[numero])) ORDER BY Table1.Numero;
à vérifier. -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ Pour débuter sur le forum: http://www.mpfa.info/ Nouvelle base Access des communes françaises avec longitude, latitude et 13246 sites internet officiels http://ardecheearth.free.fr/basededonnees.htm
"Hb" a écrit dans le message de news: 44ec081d$0$873$ | Bonjour, | J'utilise la fonction dmax +1 pour numéroter des commandes dans un | formulaire principal en allant chercher le no de ma numérotation | automatique, clé primaire de la table concernée. | Lorsque je supprime un enregistrement en amont, avant le dernier (ex : le
10 | alors que j'en ai 12) | j'ai, du coup, un "trou" (8,9,11,12) | Comment éviter cela, sachant que je dois laisser la possibilité de supprimer | un enregistrement en amont? | Merci pour les conseils. | | HB | |
Raymond [mvp]
Bonjour.
dans ce cas un simple DMax +1 suffit pour obtenir la plus forte valeur +1.
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ Pour débuter sur le forum: http://www.mpfa.info/ Nouvelle base Access des communes françaises avec longitude, latitude et 13246 sites internet officiels http://ardecheearth.free.fr/basededonnees.htm
"Hb" a écrit dans le message de news: 44ec3de1$0$862$ | Merci pour l'aide, je vais essayer, | Mais en fait, je cherche à garder une numérotation continue, indépendamment | des effacements d'enregistrements, | peut être est ce un cas classique ? |
Bonjour.
dans ce cas un simple DMax +1 suffit pour obtenir la plus forte valeur +1.
--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Nouvelle base Access des communes françaises avec
longitude, latitude et 13246 sites internet officiels
http://ardecheearth.free.fr/basededonnees.htm
"Hb" <adsea77.logis.aaaae@wanadoo.fr> a écrit dans le message de news:
44ec3de1$0$862$ba4acef3@news.orange.fr...
| Merci pour l'aide, je vais essayer,
| Mais en fait, je cherche à garder une numérotation continue,
indépendamment
| des effacements d'enregistrements,
| peut être est ce un cas classique ?
|
dans ce cas un simple DMax +1 suffit pour obtenir la plus forte valeur +1.
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ Pour débuter sur le forum: http://www.mpfa.info/ Nouvelle base Access des communes françaises avec longitude, latitude et 13246 sites internet officiels http://ardecheearth.free.fr/basededonnees.htm
"Hb" a écrit dans le message de news: 44ec3de1$0$862$ | Merci pour l'aide, je vais essayer, | Mais en fait, je cherche à garder une numérotation continue, indépendamment | des effacements d'enregistrements, | peut être est ce un cas classique ? |