[]
Nombre de membres 1 membre
Connectés : ( personne )
 

La Charte du Forum - La Charte du Forum

Forum - Forum
Problèmes Access des débutants - Problèmes Access des débutants


clos par 3Stone le 06/09/2016 : 14:34  Sujet n° 767  un compteur automatique

le 14/04/2016 : 07:21
par pascal6041

Anonyme

visiteur

Bonjour,

Je suis tout débutant et  sur access 2003.

J'ai une table  concernant une collection de timbres tabTimbres,mon champ d'index principal  est NoTimbre  et aussi une table reprenant tous les pays (représentés par leur code iso a 3 lettres: BEL,FRA,ITA...) tabPays.

Sur mon formulaire d'encodage le pays est choisi dans une liste déroulante.
Je voudrais  lorsque  je choisis le pays dans la liste déroulante,qu'un champs (RéfPays) se remplisse automatiquement en  s'incrémentant de 1 à chaque nouveau enregistrement (BEL 1, BEL 2, BEL 3,FRA 1, FRA 2...etc)

J'ai  essayé avec l'option créer et en  utilisant la commande  cpteDom mais  je n'y arrive  pas,  je ne comprend  déjà pas bien  comment  utiliser sa syntaxe : CpteDom («expr»; «domain»; «criteria»)

(En plus je ne connais encore rien en vba...)
J'ai  lu  des posts du forum  mais  sans pouvoir solutionner mon problème.
Un grand merci  si  quelqu'un peut m'éclairer.
 sujet clos  Haut
Réponse n° 1
--------
le 14/04/2016 : 13:37
par 3Stone

3Stone

Administrateur

Bonjour,
 

Citation :

Je voudrais lorsque je choisis le pays dans la liste déroulante,qu'un champs (RéfPays) se remplisse automatiquement en s'incrémentant de 1 à chaque nouveau enregistrement (BEL 1, BEL 2, BEL 3,FRA 1, FRA 2...etc)

 
C'est une mauvaise idée... pour plusieurs raisons k

Il ne faut jamais créer de champ qui additionne différentes valeurs (non atomique) et qui ne respecte pas la "première forme normale".
Les valeurs "BEL", "FRA", etc. sont déjà stockées ailleurs, donc pas de répétitions.
La seconde partie, la numérotation... n'a pas d'utilité non plus.
Imagine que tu supprimes un timbre! Cette belle numérotation perdra totalement son intérêt. Ce doit être l'identifiant qui garanti l'unicité.

Par contre, on peut admettre que tu souhaites savoir à tout moment de combien de timbre "BEL" ou "FRA" tu dispose.

La piste du CpteDom était correcte n
Il ne faut juste pas vouloir le stocker dans une table !

Sur ton formulaire, tu crées donc une simple zone de texte (Textbox) qui aura comme source :
 

Code :
= DCount("*";"tabTimbres";"Champ_Pays ='" & Me.lstChamp_Pays & "'")

 
Explication:

Champ_Pays est le nom du champ source de ta liste déroulante par laquelle tu choisis le pays.
lstChamp_Pays est le nom de la "zone de texte" de ta liste déroulante.

Note :
une zone de texte (TextBox) a comme source un champ.
une liste déroulante (ListBox) comprend une liste et une zone de texte.

Cordialement,
Pierre (3Stone)

  clos par 3Stone le 06/09/2016 : 14:34  Haut
actif sujet actif   clos sujet clos   Important! Important!   Nouveau Nouveau message   -   Rectifier Rectifier message   Clôturer Clôturer sujet   Remonter Remonter
[]
Catégories de discussion  Forum 



Haut