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 :

Compter le nombre d'occurences dans un champ.


Sujet :

Requêtes et SQL.

  1. #1
    Candidat au Club
    Compter le nombre d'occurences dans un champ.
    Bonjour,

    Je suis sous Access 2007

    Dans une table qui s'appelle "ASSO", j'ai fait une requête simple avec 3 champs:

    NOM, PRENOM, ANNEE

    exemple :

    AAAA Jean 14 13 10 05 04 03 02 01 98 97 96 95 91
    BBBB Jules 88 87 86 85
    CCCC Luc 14 13 12 10 09 08 07 06 05 04 03 02 01 00 99 98 97 96 95 94 93 92 91 90 89

    On me demande de calculer dans un quatrième champ, le nombre d'années par ligne. je dois donc trouver pour Jean un total de 13, pour Jules un total de 4 et pour Luc un total de 25.

    Quelle est la formule à utiliser dans le quatrième champ pour avoir ce total.

    Merci pour la réponse.

  2. #2
    Rédacteur/Modérateur

    Bonjour et bienvenue chez nous,

    Par exemple, comme ceci.

    D'abord une petite fonction à loger dans un module

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Option Compare Database
    Option Explicit
     
     
    Public Function NbreOccurrences(Serie As String) As Integer
      Dim t() As String
      t = Split(Serie, " ")
      NbreOccurrences = UBound(t) + 1
    End Function


    On « splite » le texte dans un tableau
    Le nombre d'occurrences est donc égal au nombre de colonnes du tableau : le plus grand indice + 1 (puisque les indices comment à 1).


    Et alors dans une requête :





    Ou, encore plus simple, puisque dans ton exemple chaque donnée est de longueur fixe (2 caractères) :


    Si vos yeux piquent à cause des fautes d'orthographe, c'est un don que vous pouvez exploiter en cliquant ici.

    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  3. #3
    Candidat au Club
    Bonjour et merci pour cette réponse.

    Étant encore novice dans Access (Je connais les langages de programmation mais pas encore les requêtes en bases de données (mais çà viendra), deux questions :

    Comment on loge la fonction dans un module?

    Comment On « splite » le texte dans un tableau?

    Pour le reste, j'ai compris.

    Merci pour ta réponse.

    Cordialement

  4. #4
    Rédacteur/Modérateur

    Bonjour,

    Comment on loge la fonction dans un module?
    <ALT + F11> => pour accéder à l’éditeur de code VBA.



    et tu copies/colles le code que je t’ai fourni au billet N° 2.

    Comment On « splite » le texte dans un tableau?
    C’est l’instruction 7


    Pour progresser dans ton apprentissage :




    D'une manière générale, pour se documenter sur les propriétés d'un formulaire ou d'un état, ou de leurs contrôles :
    - afficher l'objet en mode construction ;
    - cliquer sur la propriété => elle se met en surbrillance ;
    - enfoncer la touche <F1>
    => l'aide Access s'ouvre à la bonne page.
    De même dans le code, placer le curseur de la souris et enfoncer F1.
    On peut aussi :
    • ouvrir l'aide <F1>, choisir l'onglet « Aide intuitive » et suivre les instructions ;
    • ouvrir la fenêtre d'exécution (<Ctrl> + G), saisir un mot-clé, y placer le curseur de la souris et enfoncer F1.


    Bonne continuation.
    Si vos yeux piquent à cause des fautes d'orthographe, c'est un don que vous pouvez exploiter en cliquant ici.

    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  5. #5
    Candidat au Club
    Re,

    Merci pour ces explications, tout marche à merveille.

    Je vais continuer à progresser.

    Encore une fois merci.

    Cordialement.

  6. #6
    Membre du Club
    Autres type d'occurences
    Bonjour a tous,

    Mon problème est presque le même, mais dans mon cas je dois compter par ligne, voici mon model de requete:


    Région Classification Poste Compte(Poste) Compte(Région)

    A Cadre Ingénieur 1 2
    A Cadre Chargé d'études 1 2
    B Maitrise Conducteur 2 3
    B Maitrise Conducteur 2 3
    B Cadre Chef d'agence 1 3

    Merci d'avance.

###raw>template_hook.ano_emploi###