OVH Cloud OVH Cloud

Problème compteur NumAUTO

5 réponses
Avatar
alain.corai
Bonjour,

Dans une table, j'ai un champ DO_ID_DOSSIER de type Num=E9roAuto.
Il reste des enregistrements dans cette table avec le dernier
DO_ID_DOSSIER =3D 67.

Est-il possible que si l'on ajoute d'autres enregistrements dans
cette table de commencer DO_ID_DOSSIER =3D 1, tout en gardant
les enregistrements d=E9j=E0 existant avec leur num=E9ro ?

Y a t'il une solution ?

En vous remerciant,

Cordialement,

alain

5 réponses

Avatar
ze Titi
Bonjour

Tu peux passer par une procédure VBA qui te donnerait le premier
DO_ID_DOSSIER non utilisé dans ta table.
Par exemple :

Function numeroterDossiers() as Long
Dim i as Long
For i=1 to DLast("DO_ID_DOSSIER","taTable")-1
if dcount("DO_ID_DOSSIER","taTable","DO_ID_DOSSIER")=0 then
numeroterDossiers=i
exit sub
end if
Next i
numeroterDossiers=DLast("DO_ID_DOSSIER","taTable")+1
End Function

et dans le formulaire qui te permet d'ajouter les enregistrements dans
ta table, tu utilises:

tonRecordset.DO_ID_DOSSIER=numeroterDossiers


Dans ton message
du dimanche
Bonjour,

Dans une table, j'ai un champ DO_ID_DOSSIER de type NuméroAuto.
Il reste des enregistrements dans cette table avec le dernier
DO_ID_DOSSIER = 67.

Est-il possible que si l'on ajoute d'autres enregistrements dans
cette table de commencer DO_ID_DOSSIER = 1, tout en gardant
les enregistrements déjà existant avec leur numéro ?

Y a t'il une solution ?

En vous remerciant,

Cordialement,

alain


--
Voilou !
Bon code
Cordialement,

Ze Titi

Avatar
alain.corai
bonjour,

Cette fonction me revoie bien le dernier numéro,
mais je veux savoir si il y a une solution pour
forcer un numéroAuto à démarrer à un numéro défini
par l'utilisateur sachant qu'il reste des enregistrements
dans la table.

Exemple : DO_ID_DOSSIER = 70 et DO_ID_DOSSIER = 71

Si j'ajoute d'autres enregistrements je veux commencer DO_ID_DOSSIER =
1, 2, 3, ect ...
Tout en gardant les DO_ID_DOSSIER = 70 et 71

Peux-t'on contourner cette numérotation de type Auto

Merci de votre aide

Cordialement,

Alain


Bonjour

Tu peux passer par une procédure VBA qui te donnerait le premier
DO_ID_DOSSIER non utilisé dans ta table.
Par exemple :

Function numeroterDossiers() as Long
Dim i as Long
For i=1 to DLast("DO_ID_DOSSIER","taTable")-1
if dcount("DO_ID_DOSSIER","taTable","DO_ID_DOSSIER")=0 then
numeroterDossiers=i
exit sub
end if
Next i
numeroterDossiers=DLast("DO_ID_DOSSIER","taTable")+1
End Function

et dans le formulaire qui te permet d'ajouter les enregistrements dans
ta table, tu utilises:

tonRecordset.DO_ID_DOSSIER=numeroterDossiers


Dans ton message
du dimanche
Bonjour,

Dans une table, j'ai un champ DO_ID_DOSSIER de type NuméroAuto.
Il reste des enregistrements dans cette table avec le dernier
DO_ID_DOSSIER = 67.

Est-il possible que si l'on ajoute d'autres enregistrements dans
cette table de commencer DO_ID_DOSSIER = 1, tout en gardant
les enregistrements déjà existant avec leur numéro ?

Y a t'il une solution ?

En vous remerciant,

Cordialement,

alain


--
Voilou !
Bon code
Cordialement,

Ze Titi



Avatar
ze Titi
Bonjour

Euh pardon, en relisant mon code, je m'aperçois que j'ai écrit une
conceté...

A la place du Exit Sub, il faut écrire Exit Function...

Normalement, cette fonction bouche les trous qu'il pourrait y avoir
dans ta table.

A tester, bien entendu...

Dans ton message
du lundi
bonjour,

Cette fonction me revoie bien le dernier numéro,
mais je veux savoir si il y a une solution pour
forcer un numéroAuto à démarrer à un numéro défini
par l'utilisateur sachant qu'il reste des enregistrements
dans la table.

Exemple : DO_ID_DOSSIER = 70 et DO_ID_DOSSIER = 71

Si j'ajoute d'autres enregistrements je veux commencer DO_ID_DOSSIER > 1, 2, 3, ect ...
Tout en gardant les DO_ID_DOSSIER = 70 et 71

Peux-t'on contourner cette numérotation de type Auto

Merci de votre aide

Cordialement,

Alain


Bonjour

Tu peux passer par une procédure VBA qui te donnerait le premier
DO_ID_DOSSIER non utilisé dans ta table.
Par exemple :

Function numeroterDossiers() as Long
Dim i as Long
For i=1 to DLast("DO_ID_DOSSIER","taTable")-1
if dcount("DO_ID_DOSSIER","taTable","DO_ID_DOSSIER")=0 then
numeroterDossiers=i
exit sub
end if
Next i
numeroterDossiers=DLast("DO_ID_DOSSIER","taTable")+1
End Function

et dans le formulaire qui te permet d'ajouter les enregistrements dans
ta table, tu utilises:

tonRecordset.DO_ID_DOSSIER=numeroterDossiers


Dans ton message
du dimanche
Bonjour,

Dans une table, j'ai un champ DO_ID_DOSSIER de type NuméroAuto.
Il reste des enregistrements dans cette table avec le dernier
DO_ID_DOSSIER = 67.

Est-il possible que si l'on ajoute d'autres enregistrements dans
cette table de commencer DO_ID_DOSSIER = 1, tout en gardant
les enregistrements déjà existant avec leur numéro ?

Y a t'il une solution ?

En vous remerciant,

Cordialement,

alain


--
Voilou !
Bon code
Cordialement,

Ze Titi



--
Voilou !
Bon code
Cordialement,

Ze Titi



Avatar
ze Titi
Et j'en ai oublié une autre...

Function numeroterDossiers() as Long
Dim i as Long
For i=1 to DMax("DO_ID_DOSSIER","taTable")-1
if dcount("DO_ID_DOSSIER","taTable","DO_ID_DOSSIER=" & i)=0 then
numeroterDossiers=i
exit Function
end if
Next i
numeroterDossiers=DLast("DO_ID_DOSSIER","taTable")+1
End Function

Ca doit aller beaucoup mieux comme ça...

Dans ton message du lundi
Bonjour

Euh pardon, en relisant mon code, je m'aperçois que j'ai écrit une conceté...

A la place du Exit Sub, il faut écrire Exit Function...

Normalement, cette fonction bouche les trous qu'il pourrait y avoir dans ta
table.

A tester, bien entendu...

Dans ton message du
bonjour,

Cette fonction me revoie bien le dernier numéro,
mais je veux savoir si il y a une solution pour
forcer un numéroAuto à démarrer à un numéro défini
par l'utilisateur sachant qu'il reste des enregistrements
dans la table.

Exemple : DO_ID_DOSSIER = 70 et DO_ID_DOSSIER = 71

Si j'ajoute d'autres enregistrements je veux commencer DO_ID_DOSSIER >> 1, 2, 3, ect ...
Tout en gardant les DO_ID_DOSSIER = 70 et 71

Peux-t'on contourner cette numérotation de type Auto

Merci de votre aide

Cordialement,

Alain


Bonjour

Tu peux passer par une procédure VBA qui te donnerait le premier
DO_ID_DOSSIER non utilisé dans ta table.
Par exemple :

Function numeroterDossiers() as Long
Dim i as Long
For i=1 to DLast("DO_ID_DOSSIER","taTable")-1
if dcount("DO_ID_DOSSIER","taTable","DO_ID_DOSSIER")=0 then
numeroterDossiers=i
exit sub
end if
Next i
numeroterDossiers=DLast("DO_ID_DOSSIER","taTable")+1
End Function

et dans le formulaire qui te permet d'ajouter les enregistrements dans
ta table, tu utilises:

tonRecordset.DO_ID_DOSSIER=numeroterDossiers


Dans ton message
du dimanche
Bonjour,

Dans une table, j'ai un champ DO_ID_DOSSIER de type NuméroAuto.
Il reste des enregistrements dans cette table avec le dernier
DO_ID_DOSSIER = 67.

Est-il possible que si l'on ajoute d'autres enregistrements dans
cette table de commencer DO_ID_DOSSIER = 1, tout en gardant
les enregistrements déjà existant avec leur numéro ?

Y a t'il une solution ?

En vous remerciant,

Cordialement,

alain


-- Voilou !
Bon code
Cordialement,

Ze Titi




--
Voilou !
Bon code
Cordialement,

Ze Titi




Avatar
3stone
Salut,

a écrit
Cette fonction me revoie bien le dernier numéro,
mais je veux savoir si il y a une solution pour
forcer un numéroAuto à démarrer à un numéro défini
par l'utilisateur sachant qu'il reste des enregistrements
dans la table.

Exemple : DO_ID_DOSSIER = 70 et DO_ID_DOSSIER = 71

Si j'ajoute d'autres enregistrements je veux commencer DO_ID_DOSSIER 1, 2, 3, ect ...
Tout en gardant les DO_ID_DOSSIER = 70 et 71

Peux-t'on contourner cette numérotation de type Auto



Un numéroauto n'est pas fait pour travailler "sans trous" !!!

Les trous ne doivent pas gèner, pour autant que tu utilise ce
type de champ à bon escient.

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/