[ACCESS] Statisque simple sur l'âge
Fermé
Hiwiiiii
-
20 mai 2008 à 15:25
Christounet Messages postés 1264 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 29 juillet 2010 - 22 mai 2008 à 13:43
Christounet Messages postés 1264 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 29 juillet 2010 - 22 mai 2008 à 13:43
A voir également:
- [ACCESS] Statisque simple sur l'âge
- Simple ocr - Télécharger - Bureautique
- Iphone 14 simple - Guide
- Ouvrez ce fichier avec un éditeur de texte simple (bloc-notes, textedit, gedit, etc.) pour y découvrir le nom d’un objet. ✓ - Forum Études / Formation High-Tech
- Scream age - Forum Cinéma / Télé
- You don't have permission to access this resource ✓ - Forum Réseaux sociaux
21 réponses
Christounet
Messages postés
1264
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
29 juillet 2010
1 385
20 mai 2008 à 17:21
20 mai 2008 à 17:21
Bonjour,
Pour calculer l'age tu peux utiliser le code suivant
Tu trouveras d'autres informations sur le site suivant
A plus
Pour calculer l'age tu peux utiliser le code suivant
ENT(DIFFDATE("j"; [datenaissance]; NOW( )) / 365.25)
Tu trouveras d'autres informations sur le site suivant
A plus
Désolé je n'avais pas vu votre réponse !!
ça à l'air d'être ce qu'il faut je vais essayer de la faire marcher.
Merci je vous tiens au courant.
ça à l'air d'être ce qu'il faut je vais essayer de la faire marcher.
Merci je vous tiens au courant.
On est obliger de l'utiliser dans une requête peut-être ??? Moi ça m'arrangerais de pouvoir le mettre directement dans le source contrôle d'une zone texte.
Je regardes, je regardes
Je regardes, je regardes
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bon le premier truc ça marche, cad que j'arrive à avoir l'age en fonction de la date de naissance dans une zone texte :
=DiffDate("aaaa";[TDE_naiss];Maintenant())
maintenant il faut que j'arrive à les comptabiliser dans telle ou telle catégorie, mais pour faire ça je suis obligé de créer un champ dédié, non ?
A+
=DiffDate("aaaa";[TDE_naiss];Maintenant())
maintenant il faut que j'arrive à les comptabiliser dans telle ou telle catégorie, mais pour faire ça je suis obligé de créer un champ dédié, non ?
A+
Christounet
Messages postés
1264
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
29 juillet 2010
1 385
21 mai 2008 à 11:52
21 mai 2008 à 11:52
Bonjour,
Tu peux utiliser l'ordre SQL suivant
Tu auras comme résultat 3 lignes contenant le nombre de personnes <26 , >25 et < 50 , > 49
Tu peux aussi rajouter une colonne dans ta table qui contient la valeur suivante 1 si age < 26, 2 si age entre 26 et 49, 3 si age > 49 et le code sera alors
Je pense que cela devrait faire ce que tu cherches
A plus
Tu peux utiliser l'ordre SQL suivant
select count(*) from nomdetatable where DiffDate("aaaa";[TDE_naiss];Maintenant()) < 26 union select count(*) from nomdetatable where DiffDate("aaaa";[TDE_naiss];Maintenant()) between 26 and 49 union select count(*) from nomdetatable where DiffDate("aaaa";[TDE_naiss];Maintenant()) > 49
Tu auras comme résultat 3 lignes contenant le nombre de personnes <26 , >25 et < 50 , > 49
Tu peux aussi rajouter une colonne dans ta table qui contient la valeur suivante 1 si age < 26, 2 si age entre 26 et 49, 3 si age > 49 et le code sera alors
select nouvellecolonne , count(*) from nomdetatable group by nouvellecolonne
Je pense que cela devrait faire ce que tu cherches
A plus
Merci de votre réponse, je n'avais pas pensé au SQL, je parle que votre synthaxe est bonne mais je ne sais pas comment utiliser ce code sous ACCESS, désolé mais j'ai appris le SQL sur un terminal Unix et la je suis perdu lol
Si vous pouvez m'en dire encore un peu plus, vraiment désolé pour toutes ces questions.
A+
Si vous pouvez m'en dire encore un peu plus, vraiment désolé pour toutes ces questions.
A+
Christounet
Messages postés
1264
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
29 juillet 2010
1 385
21 mai 2008 à 17:03
21 mai 2008 à 17:03
Bonjour,
Peux-tu me dire comment tu obtiens le nombre total de personnes dans ton formulaire ?
A plus
Peux-tu me dire comment tu obtiens le nombre total de personnes dans ton formulaire ?
A plus
Salut,
alors pour tout ce qui est comptage "simple", j'utilise une fonction que l'on m'a conseillé sur le forum :
=CpteDom("TDE_id";"TDE")
TDE=table demandeur emploi
je ne passe pas par le SQL, je met ça : clique droit>Donnée>Source contrôle.
A+ merci
Comme je l'ai dit ton code doit faire ce que je veux mais je ne sais pas comment l'utiliser :s
alors pour tout ce qui est comptage "simple", j'utilise une fonction que l'on m'a conseillé sur le forum :
=CpteDom("TDE_id";"TDE")
TDE=table demandeur emploi
je ne passe pas par le SQL, je met ça : clique droit>Donnée>Source contrôle.
A+ merci
Comme je l'ai dit ton code doit faire ce que je veux mais je ne sais pas comment l'utiliser :s
Christounet
Messages postés
1264
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
29 juillet 2010
1 385
22 mai 2008 à 10:26
22 mai 2008 à 10:26
Bonjour,
Tu dois d'abord crée 3 requêtes et les sauver chacune avec un nom différent
Requête 1
Comme colonne --> Expr1: Count(*)
Comme critère --> datediff('aaaa',[TDE.datedenaissance],maintenant()) < 26
Requête 2
Comme colonne --> Expr1: Count(*)
Comme critère --> datediff('aaaa',[TDE.datedenaissance],maintenant()) between 26 and 49
Requête 3
Comme colonne --> Expr1: Count(*)
Comme critère --> datediff('aaaa',[TDE.datedenaissance],maintenant()) > 49
Ensuite tu rajoutes trois champs dans ton formulaire
Ensuite tu rajoutes le code suivant en ouvrant les propriétés de ton formulaire et cliquant sur l'événement onload (j'ai Access en anglais)
J'espère que cela pourra t'aider.
A plus
Tu dois d'abord crée 3 requêtes et les sauver chacune avec un nom différent
Requête 1
Comme colonne --> Expr1: Count(*)
Comme critère --> datediff('aaaa',[TDE.datedenaissance],maintenant()) < 26
Requête 2
Comme colonne --> Expr1: Count(*)
Comme critère --> datediff('aaaa',[TDE.datedenaissance],maintenant()) between 26 and 49
Requête 3
Comme colonne --> Expr1: Count(*)
Comme critère --> datediff('aaaa',[TDE.datedenaissance],maintenant()) > 49
Ensuite tu rajoutes trois champs dans ton formulaire
Ensuite tu rajoutes le code suivant en ouvrant les propriétés de ton formulaire et cliquant sur l'événement onload (j'ai Access en anglais)
Dim db As Database ' Pointeur pour la base courante Dim rst As Recordset ' Pointeur pour le recorset devant contenir le résultat de la recherche Set db = CurrentDb ' On pointe sur la base courante Set rst = db.OpenRecordset("nomdetarequête1") 'On défini la requete rst.MoveFirst ' On pointe sur le premier élément trouvé While Not (rst.EOF) ' On passe en revue tous les enregistrement tant qu'il y en a nomchamp1.Value = rst!Expr1 ' On affiche la valeur du champ voulu de l'enregistrement courant rst.MoveNext ' On passe à l'enregistrement suivant Wend ' on va au début de la boucle rst.Close ' Fermeture du recordset Set rst = db.OpenRecordset("nomdetarequête2") 'On défini la requete rst.MoveFirst ' On pointe sur le premier élément trouvé While Not (rst.EOF) ' On passe en revue tous les enregistrement tant qu'il y en a nomchamp2.Value = rst!Expr1 ' On affiche la valeur du champ voulu de l'enregistrement courant rst.MoveNext ' On passe à l'enregistrement suivant Wend ' on va au début de la boucle rst.Close ' Fermeture du recordset Set rst = db.OpenRecordset("nomdetarequête3") 'On défini la requete rst.MoveFirst ' On pointe sur le premier élément trouvé While Not (rst.EOF) ' On passe en revue tous les enregistrement tant qu'il y en a nomchamp3.Value = rst!Expr1 ' On affiche la valeur du champ voulu de l'enregistrement courant rst.MoveNext ' On passe à l'enregistrement suivant Wend ' on va au début de la boucle rst.Close ' Fermeture du recordset
J'espère que cela pourra t'aider.
A plus
Waa tout ça pour ça lol.
Merci pour ta raison bien développé j'y travail.
Pour l'instant :
la syntaxe n'est pas bonne et l'expression "Expr1: Count(*) " je ne sais pas où elle va lol
Comme tu es en anglais je vais te donné ce que j'ai comme "champ" :
Champ: TDE_naiss
Table: TDE
Tri:
Afficher:
Critères:
Ou:
En tout cas merci je cherche
Merci pour ta raison bien développé j'y travail.
Pour l'instant :
la syntaxe n'est pas bonne et l'expression "Expr1: Count(*) " je ne sais pas où elle va lol
Comme tu es en anglais je vais te donné ce que j'ai comme "champ" :
Champ: TDE_naiss
Table: TDE
Tri:
Afficher:
Critères:
Ou:
En tout cas merci je cherche
Christounet
Messages postés
1264
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
29 juillet 2010
1 385
22 mai 2008 à 12:32
22 mai 2008 à 12:32
Bonjour,
Dans Champ, tu tapes tout simplement Count(*) et Access va rajouté Expr1 devant une fois la requête sauvée.
Dans critères tu tapes DiffDate('aaaa',[TDE.datedenaissance],Maintenant()) < 26
Concernant la fonction Datediff , c'est celle en anglais, en français c'est comme tu l'as indiqué DiffDate, désolé pour cela.
A plus
Dans Champ, tu tapes tout simplement Count(*) et Access va rajouté Expr1 devant une fois la requête sauvée.
Dans critères tu tapes DiffDate('aaaa',[TDE.datedenaissance],Maintenant()) < 26
Concernant la fonction Datediff , c'est celle en anglais, en français c'est comme tu l'as indiqué DiffDate, désolé pour cela.
A plus
J'ai essayé de voir avec ce site :
https://www.techonthenet.com/access/functions/date/datediff.php
J'ai essayé de le présenté différemment mais ça ne marche pas.
Lorsque j'essaye de sortir du champ, j'ai un message erreur de syntaxe, si je choisis ok je reviens et si je fais aide, le volet s'ouvre mais reste vide.
de plus le curseur se replace au niveau de la première virgule, cela signifie que le problème vient de la ?
Expr1 : datediff('yyyy',[TDE_naiss],maintenant())
j'ai essayé avec des guillemets, avec aaaa mais ça ne fonctionne toujours pas.
https://www.techonthenet.com/access/functions/date/datediff.php
J'ai essayé de le présenté différemment mais ça ne marche pas.
Lorsque j'essaye de sortir du champ, j'ai un message erreur de syntaxe, si je choisis ok je reviens et si je fais aide, le volet s'ouvre mais reste vide.
de plus le curseur se replace au niveau de la première virgule, cela signifie que le problème vient de la ?
Expr1 : datediff('yyyy',[TDE_naiss],maintenant())
j'ai essayé avec des guillemets, avec aaaa mais ça ne fonctionne toujours pas.
shuya89
Messages postés
470
Date d'inscription
jeudi 22 mai 2008
Statut
Membre
Dernière intervention
28 novembre 2014
39
22 mai 2008 à 11:16
22 mai 2008 à 11:16
et pourquoi au lieu de demander la dte de naissance tu met pas direct l'age
Voila la syntaxe qui fonctionne chez moi !!!!
Expr1 : DiffDate("aaaa";[TDE_naiss];Maintenant())<26
Cela retourne -1 sir c'est effectivement inférieur à 26 et 0 dans les autres cas.
Expr1 : DiffDate("aaaa";[TDE_naiss];Maintenant())<26
Cela retourne -1 sir c'est effectivement inférieur à 26 et 0 dans les autres cas.
Bahh pour que l'âge ne soit pas obsolète l'année prochaine, après c'est vrai qu'il est peut-être possible d'augmenter de 1 tous les ans je ne sais pas...
mais la j'ai besoin des date exact donc de la naissance.
mais la j'ai besoin des date exact donc de la naissance.
shuya89
Messages postés
470
Date d'inscription
jeudi 22 mai 2008
Statut
Membre
Dernière intervention
28 novembre 2014
39
22 mai 2008 à 11:22
22 mai 2008 à 11:22
et ben tu bosse sur une base de donnée que tu doit actualise donc tout les ans tu actualise l'age
j'ai pas compris xD
sinon moi je fais un log. pour des secrétaires et après il n'y aura plus aucune modification, elle vont pas s'amuser à rajouter un an partout...
Ma solution me convient lol A+
Avec ma requête précédente et un critère "-1" ça me sors ce que je veux comme résultat.
Maintenant je vais voir pour afficher ce résultat dans un texte.
sinon moi je fais un log. pour des secrétaires et après il n'y aura plus aucune modification, elle vont pas s'amuser à rajouter un an partout...
Ma solution me convient lol A+
Avec ma requête précédente et un critère "-1" ça me sors ce que je veux comme résultat.
Maintenant je vais voir pour afficher ce résultat dans un texte.