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 :

Creer des classe d'age


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 63
    Points : 42
    Points
    42
    Par défaut Creer des classe d'age
    Bonjour,
    Je travaille avec access 2000.
    J'ai une table avec 4000 patients.(id_personne, sexe, date_naissance, date_maladie) .
    J'ai créé une requête me donnant l'age auquel le patient est "tombé" malade.
    Maintenant, je voudrais réaliser des classes d'age (de 10 en 10).
    Comment faire pour avoir soit une requête soit une table qui me fait ce regroupement par classe d'age ?
    Merci de vos réponses

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonsoir
    Un moyen simple et compréhensible est de créer une table de correspondance avec deux champs.
    Ce que je connais de la médecine me fais dire qu'il n'y aura guère plus de cent lignes dans cette table.

    Age , Tranche_Age
    1 ------------ 1
    2 ------------ 1
    .
    10 ----------- 1
    11 ----------- 2
    12 ----------- 2

    Après dans ta requête en joignant la table et ta requête tu fais ce que tu veux.

    Il y a surement un moyen plus pro, mais c'est sûr que ça marche.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour

    DVP regorge de multiples ressources dont les sources Access.

    Je pense que cela devrait t'aider : Classer des données par plage

    Philippe

  4. #4
    Invité
    Invité(e)
    Par défaut
    Ah évidemment, face à de tels arguments, ma solution ressemble plus à du bricolage qu'à de l'informatique. Mais je n'arrive pas encore à connaître la Faq par coeur.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 63
    Points : 42
    Points
    42
    Par défaut
    Merci pour vos réponses et votre rapidité.

    Les techniques marchent parfaitement.
    J'avais un peu d'appréhension avec la fonction intervalle (je ne m'étais jusqu'à maintenant jamais servi des modules de prog d'Access)... et magie le résultat est là.
    Je connais le VB d'Excel, reste à découvrir la prog sous Access.

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Mars 2006
    Messages
    1 350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 350
    Points : 1 701
    Points
    1 701
    Par défaut
    Bonsoir,

    Je me réveilles un peu tard -->Tag Résolu.. et de bien belle manière.
    Et m'étonnes de ne pas y trouver Vodiem avec sa fonction switch().

    On peut aussi :
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    Public Function ClasseAge(dtNaissance As Date) As String
     
        Dim intAge As Integer
     
        intAge = DateDiff("yyyy", [dtNaissance], Now()) + _
                 Int(Format(Now(), "mmdd") < Format([dtNaissance], "mmdd"))
     
        Select Case intAge
     
        Case 0 To 10
            ClasseAge = "0 à 10 ans"
        Case 11 To 20
            ClasseAge = "11 à 20 ans"
        Case 21 To 30
            ClasseAge = "21 à 30 ans"
        Case 31 To 40
            ClasseAge = "31 à 40 ans"
        Case 41 To 50
            ClasseAge = "41 à 50 ans"
        Case 51 To 60
            ClasseAge = "51 à 60 ans"
        Case 61 To 70
            ClasseAge = "61 à 70 ans"
        Case 71 To 80
            ClasseAge = "71 à 80 ans"
        Case 81 To 90
            ClasseAge = "71 à 90 ans"
        Case Is > 90
            ClasseAge = "+ de 90 ans"
        End Select
     
    End Function
    Qu'on appelle dans notre requête par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Aldo La Classe: ClasseAge([date_naissance])
    Cordialement.

  7. #7
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    salut à tous et bienvenu ratatam25,

    francishop>
    et moi je suis surpris que tu ne nous parle pas d'un groupement sur partition() ;p

    ps: ayant rempilé pour qq jours, j'ai pris que les news.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Creer des classes à partir d'une matrice.
    Par seboututou dans le forum MATLAB
    Réponses: 1
    Dernier message: 05/10/2011, 20h49
  2. Réponses: 5
    Dernier message: 15/07/2009, 01h19
  3. penser objet (creer des classes )
    Par elmcherqui dans le forum C++
    Réponses: 3
    Dernier message: 10/05/2008, 22h34
  4. Creer des classes en vba-E
    Par azerty53 dans le forum Excel
    Réponses: 3
    Dernier message: 31/10/2006, 08h16
  5. Réponses: 3
    Dernier message: 26/04/2006, 17h06

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