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
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    juillet 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Auditeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : juillet 2015
    Messages : 3
    Points : 3
    Points
    3
    Par défaut 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

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    novembre 2006
    Messages
    19 675
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : novembre 2006
    Messages : 19 675
    Points : 175 585
    Points
    175 585
    Par défaut
    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
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    juillet 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Auditeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : juillet 2015
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    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

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    novembre 2006
    Messages
    19 675
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : novembre 2006
    Messages : 19 675
    Points : 175 585
    Points
    175 585
    Par défaut
    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
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    juillet 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Auditeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : juillet 2015
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Re,

    Merci pour ces explications, tout marche à merveille.

    Je vais continuer à progresser.

    Encore une fois merci.

    Cordialement.

  6. #6
    Membre du Club
    Homme Profil pro
    Chargé d'études statistique
    Inscrit en
    février 2017
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Algérie

    Informations professionnelles :
    Activité : Chargé d'études statistique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : février 2017
    Messages : 94
    Points : 59
    Points
    59
    Par défaut 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.

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

Discussions similaires

  1. [SQL] Compter le nombre d'occurences dans une table par valeur
    Par SpaceFrog dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 16/04/2008, 18h22
  2. Compter le nombre d'occurence dans un tableau
    Par titou250 dans le forum Excel
    Réponses: 2
    Dernier message: 08/01/2008, 17h25
  3. Compter le nombre d'occurence dans une chaine
    Par shirya dans le forum Langage
    Réponses: 2
    Dernier message: 16/10/2007, 21h39
  4. Compter le nombre de A dans un champs
    Par crovette51101 dans le forum Access
    Réponses: 3
    Dernier message: 24/11/2006, 16h41
  5. Compter le nombre de caracteres dans un champs
    Par joxbl dans le forum Langage SQL
    Réponses: 1
    Dernier message: 24/02/2006, 15h37

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