IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes et SQL. Discussion :

[Débutant] Requête sur l'âge


Sujet :

Requêtes et SQL.

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 37
    Par défaut [Débutant] Requête sur l'âge
    Bonjour a tous

    Dans une table j'ai un champ : Date_de_naissance

    J'aimerais créer une requête avec l'age.

    Donc je me met en création de requête, je crée bien un champ Age a partir de la date de naissance : Age: (Date()-[Date_de_naissance])/365.25
    Pour l’instant tout marche parfaitement. Le seul problème c’est que j’ai plein de chiffre dernière la virgule, j’aimerai voir juste par exemple 35 (ans) et non 35.48563234364

    Deuxième petite question. Dans un formulaire je veut faire une recherche des personne agée entre X et Y année. Mais je n’arrive pas à le faire. Si qqun pouvais m’eclairer a ce sijuet…
    En effet, dans la requête si je met comme cirtère sous Age Between [...] And [...] Cela ne marche pas alors que si je le fais sous une cellule déja existante cela marche

    Si j'ai pas été très clair dire le moi et j'essaerai de préciser.

    Merci d’avance !!!!
      0  0

  2. #2
    Membre éclairé Avatar de léti07
    Inscrit en
    Février 2006
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 117
    Par défaut
    bonjour

    pour ta requete essaye ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Année([(Date()-[Date_de_naissance])
    sinon pour ton formulaire
    tu crée 2 zone de texte
    et dans ta requete tu appelle ces 2 zones de texte dans la partie critére

    en SQL ca donne ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    PARAMETERS [Formulaires]![nomformulaire]![nomzonetexte1] Short, [Formulaires]![nomformulaire]![nomzonetexte2] Short;
    SELECT champ1, champ2.....
    FROM table1, table2.....
    GROUP BY , Year(date() -[datenaiss]
    HAVING (((Year(date()-[datenaiss])>=[Formulaires]![nomformulaire]![nomzonetexte1] And (Year(date()-[datenaiss])<[Formulaires]![nomformulaire]![nomzonetexte2]));
    et pour finir tu appelle ta requete dans ton formulaire

    voila j'espere que ca va d'aider
    bon courage
      0  0

  3. #3
    Expert confirmé
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Par défaut
    Bonjour,

    Personnellement, j'utilise plutôt ceci (le tout sur une ligne) :

    Age: DiffDate("aaaa";[Date naiss];Date()) + (Format(Date();"mmjj")<Format[Date naiss];"mmjj"))

    Pour faire des tris, regarde du côté de Entre (dans les critères de ta requête)

    Domi2
      0  0

  4. #4
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 37
    Par défaut
    Alors pour : Age: Year(Date()-[Date de naissance]) en fait cela m'affiche par ce que je veux, car : le format de Date de naissance est _/_/_ ce qui fait que dans l'exemple suivant 9/21/1987 ca me met un age de 1918.

    Pour palir a ce je peux faire le tout - 1900 (ca marche et je crois pas ce ca pose trop de problème)

    Pour ce point merci bcp!!!!

    En ce qui concerne le formulaire j'ai fait la chose suivante :

    Dans le critère j'ai mis juste : >=[Formulaires]![F_Age]![F1]

    Ensuite dans le formulaire j'ai donc mon champ texte F1 tout va bien. J'ai ensuite mis un bouton avec le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Private Sub Commande2_Click()
    On Error GoTo Err_Commande2_Click
     
        Dim stDocName As String
     
        stDocName = "Q_Age"
        DoCmd.OpenQuery stDocName, acNormal, acEdit
     
    Exit_Commande2_Click:
        Exit Sub
     
    Err_Commande2_Click:
        MsgBox Err.Description
        Resume Exit_Commande2_Click
     
    End Sub
    Eheh tout fonctionne

    Je voulais juste savoir que'ce que je devait mettre dans critère (dsl j'aime pas encore trop le mode sql que je ne métrise pas encore) opur que je puisse faire un "Entre"

    Merci bcp de m'enlever cette épine du pied!!!
      0  0

  5. #5
    Membre éclairé Avatar de léti07
    Inscrit en
    Février 2006
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 117
    Par défaut
    regarde l'image que je te joint et base toi la dessus ca sera plus simple pour toi
    Images attachées Images attachées  
      0  0

  6. #6
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 37
    Par défaut
    Je suis vraiment navré, mais ca ne marche pas :

    Dans le champs : Age: (Year(Date()-[Date de naissance]))-1900
    Dans le critère : >=[Formulaires]![F_Age]![f1] And <[Forumlaires]![F_Age]![f2]

    Ensuite si j'exécute la requête ca me met un permier message pour la première date, et ensuite une autre pour la seconde. Si je rentre deux age (entre lesquelle il y a des donnée qui sont entre ces ages) ca ne m'affiche rien du tout...

    Le formulaire est bien relié et donc evidament c pareil

      0  0

  7. #7
    Membre éclairé Avatar de léti07
    Inscrit en
    Février 2006
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 117
    Par défaut
    peut tu m'envoyer ta base pour que je jette un oeil dessus ??
      0  0

Discussions similaires

  1. [MySQL] [Débutant] Requête sur date
    Par Mister Paul dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 20/03/2010, 17h04
  2. requête sur 2 tables/niveau débutant
    Par michelkey dans le forum Débuter
    Réponses: 4
    Dernier message: 23/10/2008, 08h44
  3. [XPATH][Débutant]Requête d'interrogation sur un fichier multi-schéma ?
    Par Laurent Dardenne dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 15/10/2008, 17h00
  4. [débutant] Requête SQL sur 2 tables
    Par Fly3R dans le forum VB.NET
    Réponses: 8
    Dernier message: 03/09/2007, 14h30
  5. [Débutant] execution de requète sur clic de bouton
    Par dedesite dans le forum Access
    Réponses: 5
    Dernier message: 13/12/2006, 14h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo