Recherche des n° manquant dans série de nombre

Le
Francis
Bonjour,

Comme l'indique le titre de ce fil, je voudrais trouver, dans une
table, les numéros qui manquent dans une série de nombres qui doivent
en principe se suivre (comme des n° de chèques dans un même carnet, par
ex.).
J'imagine que ce problème a déjà été traité maintes fois, aussi ça me
rendrait service si qqun pouvait me dire où je peux trouver qquechose
dont je puisse m'inspirer.
Merci, et bonne journée,

Francis

--
Francis
fhgc@wanadoudou.fr
CINQUIÈME LOI DE YOUNG
Se tromper est humain, mais pour vraiment mettre le bordel, il faut y
ajouter un ordinateur.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jac
Le #6795851
Bonjour Francis,

pour arriver au résultat que tu veux, il faudrait que tu crées une
table contenant tous les numéros que tu attends afin de faire une
liaison dans une requête entre les numéros existants et les numéros
attendus. De cette façon, tu pourras afficher tous les N° et
éventuellement filtrer les vides de ta table de données pour ne faire
apparaître que les n° manquants.

Le mieux, serait de faire cette table dans Excel et d'en faire un
attachement dans Access.

De cette façon, faire une recopie incrémentale en partant d'un premier
n° (de chèque par exemple) permet de générer très rapidement tous les
n° attendus.

Autre solution : tu remplis ta table avec tous les n° (en les important
depuis Excel ou en utilisant l'incrémentation "naturelle" d'Access) et
au fur et à mesure de tes saisies, tu pourras toujours voir les vides
et les pas vides.
Et pour faire de nouvelles saisies, dans une requête ou un formulaire,
il suffira de filtrer.

On en reparle quand tu veux.

Jac

Bonjour,

Comme l'indique le titre de ce fil, je voudrais trouver, dans une table, les
numéros qui manquent dans une série de nombres qui doivent en principe se
suivre (comme des n° de chèques dans un même carnet, par ex.).
J'imagine que ce problème a déjà été traité maintes fois, aussi ça me
rendrait service si qqun pouvait me dire où je peux trouver qquechose dont je
puisse m'inspirer.
Merci, et bonne journée,

Francis


Francis
Le #6796231
Bonjour Jac,
Merci pour ta réponse.
En fait, j'imaginais qquechose de totalement intégré à Access, comme
une fonction qui saurait faire ça sur un champ numérique d'une table
existante.
Il me semble bien avoir vu qquechose de ce genre au cours de mes
ballades sur internet, mais plus moyen de remettre la main dessus.
@+
Francis

Jac a formulé ce samedi :
Bonjour Francis,

pour arriver au résultat que tu veux, il faudrait que tu crées une table
contenant tous les numéros que tu attends afin de faire une liaison dans une
requête entre les numéros existants et les numéros attendus. De cette façon,
tu pourras afficher tous les N° et éventuellement filtrer les vides de ta
table de données pour ne faire apparaître que les n° manquants.

Le mieux, serait de faire cette table dans Excel et d'en faire un attachement
dans Access.

De cette façon, faire une recopie incrémentale en partant d'un premier n° (de
chèque par exemple) permet de générer très rapidement tous les n° attendus.

Autre solution : tu remplis ta table avec tous les n° (en les important
depuis Excel ou en utilisant l'incrémentation "naturelle" d'Access) et au fur
et à mesure de tes saisies, tu pourras toujours voir les vides et les pas
vides.
Et pour faire de nouvelles saisies, dans une requête ou un formulaire, il
suffira de filtrer.

On en reparle quand tu veux.

Jac

Bonjour,

Comme l'indique le titre de ce fil, je voudrais trouver, dans une table,
les numéros qui manquent dans une série de nombres qui doivent en principe
se suivre (comme des n° de chèques dans un même carnet, par ex.).
J'imagine que ce problème a déjà été traité maintes fois, aussi ça me
rendrait service si qqun pouvait me dire où je peux trouver qquechose dont
je puisse m'inspirer.
Merci, et bonne journée,

Francis



--
Francis

LOI DE ROGER
C'est seulement après que l'hôtesse a servi le café, que l'avion
traverse une zone de turbulences.
EXPLICATION DE TONTON BERNARD
Le café est la cause principale de turbulences en altitude.


Jac
Le #6796211
... oui mais, comment une fonction saurait que ton carnet contient 25
ou 50 chèques ?

De 1 à 1.000 ou à 100.000, j'arrive à imaginer que celà puisse marcher.

Mais de 123.456.776 à 123.456.825 puis de 456.789.1226 à 456.789.1250,
comment Access et même le bon dieu que tu veux pourra deviner ce qui
manque ?

Sans doute avec une table des débuts et des fins de numérotation...


Bonjour Jac,
Merci pour ta réponse.
En fait, j'imaginais qquechose de totalement intégré à Access, comme une
fonction qui saurait faire ça sur un champ numérique d'une table existante.
Il me semble bien avoir vu qquechose de ce genre au cours de mes ballades sur
internet, mais plus moyen de remettre la main dessus.
@+
Francis

Jac a formulé ce samedi :
Bonjour Francis,

pour arriver au résultat que tu veux, il faudrait que tu crées une table
contenant tous les numéros que tu attends afin de faire une liaison dans
une requête entre les numéros existants et les numéros attendus. De cette
façon, tu pourras afficher tous les N° et éventuellement filtrer les vides
de ta table de données pour ne faire apparaître que les n° manquants.

Le mieux, serait de faire cette table dans Excel et d'en faire un
attachement dans Access.

De cette façon, faire une recopie incrémentale en partant d'un premier n°
(de chèque par exemple) permet de générer très rapidement tous les n°
attendus.

Autre solution : tu remplis ta table avec tous les n° (en les important
depuis Excel ou en utilisant l'incrémentation "naturelle" d'Access) et au
fur et à mesure de tes saisies, tu pourras toujours voir les vides et les
pas vides.
Et pour faire de nouvelles saisies, dans une requête ou un formulaire, il
suffira de filtrer.

On en reparle quand tu veux.

Jac

Bonjour,

Comme l'indique le titre de ce fil, je voudrais trouver, dans une table,
les numéros qui manquent dans une série de nombres qui doivent en principe
se suivre (comme des n° de chèques dans un même carnet, par ex.).
J'imagine que ce problème a déjà été traité maintes fois, aussi ça me
rendrait service si qqun pouvait me dire où je peux trouver qquechose dont
je puisse m'inspirer.
Merci, et bonne journée,

Francis






Francis
Le #6796201
Re,
En fait, j'avais dit "comme pour des chèques", histoire d'illustrer,
mais pour mon cas, c'est une série de numéros attribués à des
adhérents de mon association et dont je voudrais récupérer les vides
lorsque je crée une nouvelle inscription de façon à toujours rester
avec des numéros < à 999.
Ça t'inspire une autre solution?


Jac a formulé ce samedi :
... oui mais, comment une fonction saurait que ton carnet contient 25 ou 50
chèques ?

De 1 à 1.000 ou à 100.000, j'arrive à imaginer que celà puisse marcher.

Mais de 123.456.776 à 123.456.825 puis de 456.789.1226 à 456.789.1250,
comment Access et même le bon dieu que tu veux pourra deviner ce qui manque ?

Sans doute avec une table des débuts et des fins de numérotation...


Bonjour Jac,
Merci pour ta réponse.
En fait, j'imaginais qquechose de totalement intégré à Access, comme une
fonction qui saurait faire ça sur un champ numérique d'une table existante.
Il me semble bien avoir vu qquechose de ce genre au cours de mes ballades
sur internet, mais plus moyen de remettre la main dessus.
@+
Francis

Jac a formulé ce samedi :
Bonjour Francis,

pour arriver au résultat que tu veux, il faudrait que tu crées une table
contenant tous les numéros que tu attends afin de faire une liaison dans
une requête entre les numéros existants et les numéros attendus. De cette
façon, tu pourras afficher tous les N° et éventuellement filtrer les vides
de ta table de données pour ne faire apparaître que les n° manquants.

Le mieux, serait de faire cette table dans Excel et d'en faire un
attachement dans Access.

De cette façon, faire une recopie incrémentale en partant d'un premier n°
(de chèque par exemple) permet de générer très rapidement tous les n°
attendus.

Autre solution : tu remplis ta table avec tous les n° (en les important
depuis Excel ou en utilisant l'incrémentation "naturelle" d'Access) et au
fur et à mesure de tes saisies, tu pourras toujours voir les vides et les
pas vides.
Et pour faire de nouvelles saisies, dans une requête ou un formulaire, il
suffira de filtrer.

On en reparle quand tu veux.

Jac

Bonjour,

Comme l'indique le titre de ce fil, je voudrais trouver, dans une table,
les numéros qui manquent dans une série de nombres qui doivent en
principe se suivre (comme des n° de chèques dans un même carnet, par
ex.).
J'imagine que ce problème a déjà été traité maintes fois, aussi ça me
rendrait service si qqun pouvait me dire où je peux trouver qquechose
dont je puisse m'inspirer.
Merci, et bonne journée,

Francis





--
Francis

THEOREME de la loi de MURPHY
Tout corps plongé dans une baignoire...déclenche systématiquement la
sonnerie du téléphone !




3stone
Le #6797101
Salut,

"Francis"
| En fait, j'avais dit "comme pour des chèques", histoire d'illustrer,
| mais pour mon cas, c'est une série de numéros attribués à des
| adhérents de mon association et dont je voudrais récupérer les vides
| lorsque je crée une nouvelle inscription de façon à toujours rester
| avec des numéros < à 999.
| Ça t'inspire une autre solution?


Sur un champ numérique, évidement...

http://www.3stone.be/access/articles.php?lng=fr&pg8

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Jean-Paulo
Le #6797091
Bonjour.

Cela me parait tout simple... Une fonction attachée à une liste déroulante,
basée sur
une requète triée des numéros existants, et un tout petit bout de code VB,
qui propose
par exemple les dix premiers numéros absents... 20 lignes de VB, au plus

Exemple à venir si nécessaire...

--
Jean Paulo
"Francis"
Bonjour,

Comme l'indique le titre de ce fil, je voudrais trouver, dans une table,
les numéros qui manquent dans une série de nombres qui doivent en principe
se suivre (comme des n° de chèques dans un même carnet, par ex.).
J'imagine que ce problème a déjà été traité maintes fois, aussi ça me
rendrait service si qqun pouvait me dire où je peux trouver qquechose dont
je puisse m'inspirer.
Merci, et bonne journée,

Francis

--
Francis

CINQUIÈME LOI DE YOUNG
Se tromper est humain, mais pour vraiment mettre le bordel, il faut y
ajouter un ordinateur.




Francis
Le #6797921
Bonjour Pierre,
Merci pour le lien.
Je savais bien que j'avais vu qquechose qui traitait de ça mais, je ne
sais pas ce que j'avais pu avoir hier soir, car je suis allé au moins 3
fois sur ton site... et je suis passé à côté de ta requête.
J'espère que je saurai en faire bon usage.
@+
Francis

3stone a émis l'idée suivante :
Salut,

"Francis"
En fait, j'avais dit "comme pour des chèques", histoire d'illustrer,
mais pour mon cas, c'est une série de numéros attribués à des
adhérents de mon association et dont je voudrais récupérer les vides
lorsque je crée une nouvelle inscription de façon à toujours rester
avec des numéros < à 999.
Ça t'inspire une autre solution?



Sur un champ numérique, évidement...

http://www.3stone.be/access/articles.php?lng=fr&pg8


--
Francis

LOI DE LA GRAVITE SÉLECTIVE
En tout point de la surface du globe, toute biscotte tombera côté
beurre.


Michel_D
Le #6798331
Bonjour,

Essaye avec le SQL suivant :

SELECT T.ID+1 AS Libre
FROM LaTable AS T
WHERE T.ID Not In (SELECT T1.ID
FROM LaTABLE AS T1 INNER JOIN LaTable AS T2
ON (T1.ID=T2.ID-1) And (T1.ID+1=T2.ID))
ORDER BY T.ID;

Et pour avoir le plus petit ID disponible :

SELECT TOP 1 T.ID+1 AS Libre
FROM LaTable AS T
WHERE T.ID Not In (SELECT T1.ID
FROM LaTABLE AS T1 INNER JOIN LaTable AS T2
ON (T1.ID=T2.ID-1) And (T1.ID+1=T2.ID))
ORDER BY T.ID;


Bonjour,

Comme l'indique le titre de ce fil, je voudrais trouver, dans une table,
les numéros qui manquent dans une série de nombres qui doivent en
principe se suivre (comme des n° de chèques dans un même carnet, par ex.).
J'imagine que ce problème a déjà été traité maintes fois, aussi ça me
rendrait service si qqun pouvait me dire où je peux trouver qquechose
dont je puisse m'inspirer.
Merci, et bonne journée,

Francis



Michel_D
Le #6798321
Bonjour,

Essaye avec le SQL suivant :

SELECT T.ID+1 AS Libre
FROM LaTable AS T
WHERE T.ID Not In (SELECT T1.ID
FROM LaTABLE AS T1 INNER JOIN LaTable AS T2
ON (T1.ID=T2.ID-1) And (T1.ID+1=T2.ID))
ORDER BY T.ID;

Et pour avoir le plus petit ID disponible :

SELECT TOP 1 T.ID+1 AS Libre
FROM LaTable AS T
WHERE T.ID Not In (SELECT T1.ID
FROM LaTABLE AS T1 INNER JOIN LaTable AS T2
ON (T1.ID=T2.ID-1) And (T1.ID+1=T2.ID))
ORDER BY T.ID;


Plus simple et plus compréhensible :

SELECT TOP 1 T.ID+1 AS Libre
FROM LaTable AS T
WHERE T.ID+1 Not In (SELECT ID FROM LaTABLE)
ORDER BY T.ID;

Francis
Le #6799971
Michel_D avait écrit le 07/06/2008 :
Bonjour,

Essaye avec le SQL suivant :

SELECT T.ID+1 AS Libre
FROM LaTable AS T
WHERE T.ID Not In (SELECT T1.ID
FROM LaTABLE AS T1 INNER JOIN LaTable AS T2
ON (T1.ID=T2.ID-1) And (T1.ID+1=T2.ID))
ORDER BY T.ID;

Et pour avoir le plus petit ID disponible :

SELECT TOP 1 T.ID+1 AS Libre
FROM LaTable AS T
WHERE T.ID Not In (SELECT T1.ID
FROM LaTABLE AS T1 INNER JOIN LaTable AS T2
ON (T1.ID=T2.ID-1) And (T1.ID+1=T2.ID))
ORDER BY T.ID;


Plus simple et plus compréhensible :

SELECT TOP 1 T.ID+1 AS Libre
FROM LaTable AS T
WHERE T.ID+1 Not In (SELECT ID FROM LaTABLE)
ORDER BY T.ID;


Bonsoir Michel,
Je n'ai testé que ta dernière requête SQL, qui marche au poil, tout
comme celle de Pierre.
Pour aller au bout de la résolution de mon pb, il ne me resterait plus
qu'à récupérer le résultat de cette requête dans mon formulaire de
création d'un adhérent de façon élégante et "pro", mais là je cale un
peu.
Si tu as (ou Pierre ou x) un tuyau pour moi en la matière, je suis
preneur
@+

--
Francis

PRINCIPE DE RUBY
La probabilité de rencontrer une personne de ta connaissance augmente
quand tu es avec quelqu'un avec qui tu ne veux pas être vu.


Publicité
Poster une réponse
Anonyme