Merci de la réponse..mais comment le faire? That is the problem
"Brubru" a écrit dans le message de news: 4316e5ba$
Bonjour, Je pense qu'il faut que tu réactualises ta requête AVANT chaque nouvelle insertion....
-- BruBru
3stone
Salut,
"jc" | Bonjour à tous en espérant que vous avez passé de bonnes vacances. | | J'ai une requête, et dans un champ nouveau j'ai un dmax +1. C'est ok mais il | applique le même nombre à toutes les lignes de la requête.
Parce que c'est exactement ce que tu demande !!!
DMax renvoi le plus grand et tu ajoute 1, il est donc normal que le plus grand sois toujours le même, même si augmenté de 1...
| Qu'il trouve le premier, ok mais comment faire pour qu'il continue | l'augmentation par rapport au présédent résultat. | | exemple: | | TOTO 50001 C'est obtenu en faisant un dmax "champ";"table")+1 | TITI 50002 C'est ce que je souhaite. alors que j'obtiens pour | tous 50001
Tu doit donc trier ta requête sur les noms... et de ne compter que ceux qui se trouvent *avant* le nom actuel dans la liste... et ajouter un Nz() pour éviter le Null !
=Nz( DMax("*";"latable";"lenom<" & lenom);0) + 1
mais si tu as deux fois TOTO, tu obtiendra une égalité...
"jc"
| Bonjour à tous en espérant que vous avez passé de bonnes vacances.
|
| J'ai une requête, et dans un champ nouveau j'ai un dmax +1. C'est ok mais il
| applique le même nombre à toutes les lignes de la requête.
Parce que c'est exactement ce que tu demande !!!
DMax renvoi le plus grand et tu ajoute 1, il est donc normal que le plus grand
sois toujours le même, même si augmenté de 1...
| Qu'il trouve le premier, ok mais comment faire pour qu'il continue
| l'augmentation par rapport au présédent résultat.
|
| exemple:
|
| TOTO 50001 C'est obtenu en faisant un dmax "champ";"table")+1
| TITI 50002 C'est ce que je souhaite. alors que j'obtiens pour
| tous 50001
Tu doit donc trier ta requête sur les noms... et de ne compter que ceux
qui se trouvent *avant* le nom actuel dans la liste...
et ajouter un Nz() pour éviter le Null !
=Nz( DMax("*";"latable";"lenom<" & lenom);0) + 1
mais si tu as deux fois TOTO, tu obtiendra une égalité...
"jc" | Bonjour à tous en espérant que vous avez passé de bonnes vacances. | | J'ai une requête, et dans un champ nouveau j'ai un dmax +1. C'est ok mais il | applique le même nombre à toutes les lignes de la requête.
Parce que c'est exactement ce que tu demande !!!
DMax renvoi le plus grand et tu ajoute 1, il est donc normal que le plus grand sois toujours le même, même si augmenté de 1...
| Qu'il trouve le premier, ok mais comment faire pour qu'il continue | l'augmentation par rapport au présédent résultat. | | exemple: | | TOTO 50001 C'est obtenu en faisant un dmax "champ";"table")+1 | TITI 50002 C'est ce que je souhaite. alors que j'obtiens pour | tous 50001
Tu doit donc trier ta requête sur les noms... et de ne compter que ceux qui se trouvent *avant* le nom actuel dans la liste... et ajouter un Nz() pour éviter le Null !
=Nz( DMax("*";"latable";"lenom<" & lenom);0) + 1
mais si tu as deux fois TOTO, tu obtiendra une égalité...