Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Calcul d'un code automatique

7 réponses
Avatar
jcp66
Bonsoir
Dans une table j'ai des objets qui sont rattachés à un site et je voudrait
leur donner un numero automatiquement à la saisie qui soit fonction du site.
Ainsi si le numero du site est AAA et qu'il y a dans la table 80 objets qui
y sont rattachés (AAA001 à AAA080), je voudrais que le formulaire de saisie
me propose pour cet objet le numero AAA081.
Quelqu'un verrait il une solution à ce probleme?
Par avance merci
cdlt
jcp

7 réponses

Avatar
3stone
Salut,

"jcp66"
| Dans une table j'ai des objets qui sont rattachés à un site et je voudrait
| leur donner un numero automatiquement à la saisie qui soit fonction du site.
| Ainsi si le numero du site est AAA et qu'il y a dans la table 80 objets qui
| y sont rattachés (AAA001 à AAA080), je voudrais que le formulaire de saisie
| me propose pour cet objet le numero AAA081.
| Quelqu'un verrait il une solution à ce probleme?


Jusqu'ici, ce n'est qu'un souhait ;-)

Où est le problème ?
Tu en dis tellement peu (il y a 80 objets dans la table, c'est vague...)
qu'il est difficile de te proposer du code !

Et si c'est comme pour les images, tu dira : "marche pas" ;-(

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
jcp66
Avec mes excuses si ce n'est pas suffisamment précis.
Je reformule donc ma question.
Dans un formulaire je dois donner un numero de code à l'objet saisi.
Les objets sont rattachés à un site.
S'il y a déjà 80 enregistrements pour le site AAA je devrai donner le numero
81 etc ce qui fera le numero AAA81.
Il faut donc que je puisse compter le nombre d'enregistrements de la table
qui ont dans la rubrique site "AAA"
En espérant que j'ai été un peu plus clair. Et désolé pour les images que je
n'ai pas su faire fonctionner.
cdlt
jcp


"3stone" a écrit dans le message de news:

Salut,

"jcp66"
| Dans une table j'ai des objets qui sont rattachés à un site et je
voudrait
| leur donner un numero automatiquement à la saisie qui soit fonction du
site.
| Ainsi si le numero du site est AAA et qu'il y a dans la table 80 objets
qui
| y sont rattachés (AAA001 à AAA080), je voudrais que le formulaire de
saisie
| me propose pour cet objet le numero AAA081.
| Quelqu'un verrait il une solution à ce probleme?


Jusqu'ici, ce n'est qu'un souhait ;-)

Où est le problème ?
Tu en dis tellement peu (il y a 80 objets dans la table, c'est vague...)
qu'il est difficile de te proposer du code !

Et si c'est comme pour les images, tu dira : "marche pas" ;-(

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




Avatar
3stone
Salut,

"jcp66"
| Dans un formulaire je dois donner un numero de code à l'objet saisi.
| Les objets sont rattachés à un site.

site... web ?


| S'il y a déjà 80 enregistrements pour le site AAA je devrai donner le numero
| 81 etc ce qui fera le numero AAA81.

Si tu compte simplement le nombre... mais qu'à un moment donné
tu en supprime un, problème : tu auras un doublon !

Tu dois rechercher le plus grand numéro et l'incrémenter.


| Il faut donc que je puisse compter le nombre d'enregistrements de la table
| qui ont dans la rubrique site "AAA"


Ces codes composés compliques souvent et inutilement la tâche...

Avec un champ "Rubrique", il suffirait de le mettre dans la clause where:
Select Max(LeNumero) From LaTable Where Rubrique='aaa'

Il est donc plus productif de séparer ces données et de créer
simplement un clé primaire composé (à champ multiple)
ou index composé...


Mais bon, pour ton code composé, tu peux aller voir chez Raymond,
il avait préparé un exemple pour montrer comment gérer cela.

Bon... j'ai fini par trouver ;-(
http://officesystem.access.free.fr/ex_numauto_personnel.htm


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
jcp66
Merci
Non rien à voir avec un site web. Il s'agit d'un lieu physique.
Le comptage avec Select Max me plait bien mais à quoi correspond LeNumero.
est ce le numero genere ?
Ou dois je placer cette requete. J'essaye de la mettre dans

Private Sub CodeSite_AfterUpdate()
Commune = CodeSite.Column(2)
Site = CodeSite.Column(3)
Select Max(LeNumero) From T_Site Where CodeSite='aaa'
End Sub

Mais j'ai un message d'erreur (texte apparait en arouge)

Excusez mes questions mais je debute en access.
merci
jcp


"3stone" a écrit dans le message de news:

Salut,

"jcp66"
| Dans un formulaire je dois donner un numero de code à l'objet saisi.
| Les objets sont rattachés à un site.

site... web ?


| S'il y a déjà 80 enregistrements pour le site AAA je devrai donner le
numero
| 81 etc ce qui fera le numero AAA81.

Si tu compte simplement le nombre... mais qu'à un moment donné
tu en supprime un, problème : tu auras un doublon !

Tu dois rechercher le plus grand numéro et l'incrémenter.


| Il faut donc que je puisse compter le nombre d'enregistrements de la
table
| qui ont dans la rubrique site "AAA"


Ces codes composés compliques souvent et inutilement la tâche...

Avec un champ "Rubrique", il suffirait de le mettre dans la clause
where:
Select Max(LeNumero) From LaTable Where Rubrique='aaa'

Il est donc plus productif de séparer ces données et de créer
simplement un clé primaire composé (à champ multiple)
ou index composé...


Mais bon, pour ton code composé, tu peux aller voir chez Raymond,
il avait préparé un exemple pour montrer comment gérer cela.

Bon... j'ai fini par trouver ;-(
http://officesystem.access.free.fr/ex_numauto_personnel.htm


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



Avatar
Fabien
Bonjour Jcp66
Private Sub CodeSite_AfterUpdate()
Commune = CodeSite.Column(2)
Site = CodeSite.Column(3)
Num_Max_Pour_Site= Dmax("[LeNumero]","T_Site","[CodeSite]='" &
Me.Site & "'") 'Retourne dans Num_Max_Pour_Site la valeur la plus grande

du champ [LeNumero] de la table T_Site pour les enregistrement dont le
site est égale au site présent dans le formulaire.
End Sub


De cette façon se devrait être ok


Merci
Non rien à voir avec un site web. Il s'agit d'un lieu physique.
Le comptage avec Select Max me plait bien mais à quoi correspond LeNumero.
est ce le numero genere ?
Ou dois je placer cette requete. J'essaye de la mettre dans

Private Sub CodeSite_AfterUpdate()
Commune = CodeSite.Column(2)
Site = CodeSite.Column(3)
Select Max(LeNumero) From T_Site Where CodeSite='aaa'
End Sub

Mais j'ai un message d'erreur (texte apparait en arouge)

Excusez mes questions mais je debute en access.
merci
jcp


"3stone" a écrit dans le message de news:

Salut,

"jcp66"
| Dans un formulaire je dois donner un numero de code à l'objet saisi.
| Les objets sont rattachés à un site.

site... web ?


| S'il y a déjà 80 enregistrements pour le site AAA je devrai donner le
numero
| 81 etc ce qui fera le numero AAA81.

Si tu compte simplement le nombre... mais qu'à un moment donné
tu en supprime un, problème : tu auras un doublon !

Tu dois rechercher le plus grand numéro et l'incrémenter.


| Il faut donc que je puisse compter le nombre d'enregistrements de la
table
| qui ont dans la rubrique site "AAA"


Ces codes composés compliques souvent et inutilement la tâche...

Avec un champ "Rubrique", il suffirait de le mettre dans la clause
where:
Select Max(LeNumero) From LaTable Where Rubrique='aaa'

Il est donc plus productif de séparer ces données et de créer
simplement un clé primaire composé (à champ multiple)
ou index composé...


Mais bon, pour ton code composé, tu peux aller voir chez Raymond,
il avait préparé un exemple pour montrer comment gérer cela.

Bon... j'ai fini par trouver ;-(
http://officesystem.access.free.fr/ex_numauto_personnel.htm


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







Avatar
jcp66
Merci beaucoup Fabien
Cela marche super
a+

"Fabien" a écrit dans le message de news:
46b18012$0$5082$

Bonjour Jcp66
Private Sub CodeSite_AfterUpdate()
Commune = CodeSite.Column(2)
Site = CodeSite.Column(3)
Num_Max_Pour_Site= Dmax("[LeNumero]","T_Site","[CodeSite]='" &
Me.Site & "'") 'Retourne dans Num_Max_Pour_Site la valeur la plus grande

du champ [LeNumero] de la table T_Site pour les enregistrement dont le
site est égale au site présent dans le formulaire.
End Sub


De cette façon se devrait être ok


Merci
Non rien à voir avec un site web. Il s'agit d'un lieu physique.
Le comptage avec Select Max me plait bien mais à quoi correspond
LeNumero. est ce le numero genere ?
Ou dois je placer cette requete. J'essaye de la mettre dans

Private Sub CodeSite_AfterUpdate()
Commune = CodeSite.Column(2)
Site = CodeSite.Column(3)
Select Max(LeNumero) From T_Site Where CodeSite='aaa'
End Sub

Mais j'ai un message d'erreur (texte apparait en arouge)

Excusez mes questions mais je debute en access.
merci
jcp


"3stone" a écrit dans le message de news:

Salut,

"jcp66"
| Dans un formulaire je dois donner un numero de code à l'objet saisi.
| Les objets sont rattachés à un site.

site... web ?


| S'il y a déjà 80 enregistrements pour le site AAA je devrai donner le
numero
| 81 etc ce qui fera le numero AAA81.

Si tu compte simplement le nombre... mais qu'à un moment donné
tu en supprime un, problème : tu auras un doublon !

Tu dois rechercher le plus grand numéro et l'incrémenter.


| Il faut donc que je puisse compter le nombre d'enregistrements de la
table
| qui ont dans la rubrique site "AAA"


Ces codes composés compliques souvent et inutilement la tâche...

Avec un champ "Rubrique", il suffirait de le mettre dans la
clause where:
Select Max(LeNumero) From LaTable Where Rubrique='aaa'

Il est donc plus productif de séparer ces données et de créer
simplement un clé primaire composé (à champ multiple)
ou index composé...


Mais bon, pour ton code composé, tu peux aller voir chez Raymond,
il avait préparé un exemple pour montrer comment gérer cela.

Bon... j'ai fini par trouver ;-(
http://officesystem.access.free.fr/ex_numauto_personnel.htm


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










Avatar
Fabien
Merci beaucoup Fabien
Cela marche super
a+

"Fabien" a écrit dans le message de news:
46b18012$0$5082$
Bonjour Jcp66
Private Sub CodeSite_AfterUpdate()
Commune = CodeSite.Column(2)
Site = CodeSite.Column(3)
Num_Max_Pour_Site= Dmax("[LeNumero]","T_Site","[CodeSite]='" &
Me.Site & "'") 'Retourne dans Num_Max_Pour_Site la valeur la plus grande

du champ [LeNumero] de la table T_Site pour les enregistrement dont le
site est égale au site présent dans le formulaire.
End Sub
De cette façon se devrait être ok



Merci
Non rien à voir avec un site web. Il s'agit d'un lieu physique.
Le comptage avec Select Max me plait bien mais à quoi correspond
LeNumero. est ce le numero genere ?
Ou dois je placer cette requete. J'essaye de la mettre dans

Private Sub CodeSite_AfterUpdate()
Commune = CodeSite.Column(2)
Site = CodeSite.Column(3)
Select Max(LeNumero) From T_Site Where CodeSite='aaa'
End Sub

Mais j'ai un message d'erreur (texte apparait en arouge)

Excusez mes questions mais je debute en access.
merci
jcp


"3stone" a écrit dans le message de news:

Salut,

"jcp66"
| Dans un formulaire je dois donner un numero de code à l'objet saisi.
| Les objets sont rattachés à un site.

site... web ?


| S'il y a déjà 80 enregistrements pour le site AAA je devrai donner le
numero
| 81 etc ce qui fera le numero AAA81.

Si tu compte simplement le nombre... mais qu'à un moment donné
tu en supprime un, problème : tu auras un doublon !

Tu dois rechercher le plus grand numéro et l'incrémenter.


| Il faut donc que je puisse compter le nombre d'enregistrements de la
table
| qui ont dans la rubrique site "AAA"


Ces codes composés compliques souvent et inutilement la tâche...

Avec un champ "Rubrique", il suffirait de le mettre dans la
clause where:
Select Max(LeNumero) From LaTable Where Rubrique='aaa'

Il est donc plus productif de séparer ces données et de créer
simplement un clé primaire composé (à champ multiple)
ou index composé...


Mais bon, pour ton code composé, tu peux aller voir chez Raymond,
il avait préparé un exemple pour montrer comment gérer cela.

Bon... j'ai fini par trouver ;-(
http://officesystem.access.free.fr/ex_numauto_personnel.htm


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







OK !

Mais prend en compte la remarque de 3stone quant aux doublons ....
Sinon tu vas avoir des surprises a moins qu'il n'y ait jamais de
surpressions.