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

IHM Discussion :

Afficher le nombre d'enregistrements sur une recherche [AC-2007]


Sujet :

IHM

  1. #1
    Membre régulier
    Homme Profil pro
    Téléconseiller
    Inscrit en
    Novembre 2007
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Téléconseiller
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2007
    Messages : 134
    Points : 106
    Points
    106
    Par défaut Afficher le nombre d'enregistrements sur une recherche
    Dans un formulaire de recherche à multicritères
    Je souhaite afficher le nombre d'enregistrements trouvés dans table sur le nombre total.
    Dans un des tuto, j'ai trouvé ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
       Me.LblStats.Caption = DCount("*", "T_Medias", SQLWhere) & "/" & DCount("*", "T_Medias")
    Cela fonctionne pour une requête faite sur une seule table.

    Mais dès qu'il s'agit d'une requête sur plusieurs tables, j'ai un message d'erreur
    voici la requête

    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
    33
     
        SQL = "SELECT MediaID, TitreMedia, Rangement, LibelleGenre, LibelleSupportMedia, NomAuteur, NomEditeur " _
            & "FROM T_Medias, T_Genres, T_SupportMedia, T_Auteurs, T_Editeurs " _
            & "WHERE T_Medias!CodeGenre = T_Genres!GenreID AND T_Medias!CodeSupport = T_SupportMedia!SupportID " _
            & "AND T_Medias!CodeAuteur = T_Auteurs!AuteurID And T_Medias!CodeEditeur = T_Editeurs!NumEditeur " _
            & "AND T_Medias!MediaID <> 0 "
     
        If Not Me.ChkAuteur Then
            SQL = SQL & "AND T_Auteurs!NomAuteur LIKE '*" & Me.TxtAuteur & "*'"
        End If
     
        If Not Me.ChkEditeur Then
            SQL = SQL & "AND T_Editeurs!NomEditeur LIKE '*" & Me.TxtEditeur & "*'"
        End If
     
        If Not Me.ChkGenre Then
            SQL = SQL & "AND T_Genres!LibelleGenre = '" & Me.CboGenre & "'"
        End If
     
        If Not Me.ChkSupport Then
            SQL = SQL & "AND T_SupportMedia!LibelleSupportMedia = '" & Me.CboSupport & "'"
        End If
     
        If Not Me.ChkTitre Then
            SQL = SQL & "AND T_Medias!TitreMedia LIKE '*" & Me.TxtTitre & "*'"
        End If
     
     
        SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1))
     
        SQL = SQL & ";"
     
        Me.LblStats.Caption = DCount("*", "T_Medias", SQLWhere) & "/" & DCount("*", "T_Medias")
    Je souhaite savoir comment modifier cette requête pour voir s'afficher le résultat dans le label "LblStats"
    Merci d'avance

  2. #2
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    yfchauer bonjour,

    Ton erreur dans DCount("*", "T_Medias", SQLWhere) vise à rehcercher à partir du filtre SqlWhere (jointures) dans une table donc nécessairement il ne peut interpréter le résultat.

    Donc pour récupérer le nombre d'occurences dans ta requête

    Vérifier avant par une condition if si nb_n'est pas vide ou null( 0 enregistrements trouvés)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Set rst = CurrentDb.OpenRecordset(SQL_String)
    Nb_Record = rst.RecordCount
    rst.Close
    '
    Me.LblStats.Caption = cstr(Nb_Record) & "/" & DCount("*", "T_Medias")
    JimBoLion

  3. #3
    Membre régulier
    Homme Profil pro
    Téléconseiller
    Inscrit en
    Novembre 2007
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Téléconseiller
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2007
    Messages : 134
    Points : 106
    Points
    106
    Par défaut
    Bonjour jimbolion,

    J'ai essayé le code,
    il m'affiche 0 s'il n'y a aucune occurrence
    et 1 si le requête renvoie un résultat supérieur à 0.
    Je ne sais pas si j'ai loupé un truc
    Merci

  4. #4
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    ychauer bonsoir,

    Il est vrai qu'il faut faire une lecture de la requête afin d'en deduire le nombre total de lignes donc (Access continue à nous jouer des tours)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Set rst = CurrentDb.OpenRecordset(SQL_String)
    If rst.EOF Then
      Nb_Record = 0
    Else
      rst.MoveLast
      Nb_Record = rst.RecordCount
    End If
    rst.Close
    Me.LblStats.Caption = cstr(Nb_Record) & "/" & DCount("*", "T_Medias")
    Je viens de faire le test sur une grosse table cela fonctionne !

    Bonne soirée

    JimBoLion

  5. #5
    Membre régulier
    Homme Profil pro
    Téléconseiller
    Inscrit en
    Novembre 2007
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Téléconseiller
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2007
    Messages : 134
    Points : 106
    Points
    106
    Par défaut
    Bonsoir jimbolion
    Merci de la réponse
    cela fonctionne parfaitement comme je le voulais

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 13/04/2010, 13h54
  2. Afficher le nombre d'enregistrement sur un état
    Par ludolan dans le forum IHM
    Réponses: 1
    Dernier message: 14/12/2006, 16h45
  3. [CR 9.0]Comment limiter le nombre d'enregistrements sur une page
    Par popol666 dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 06/11/2006, 15h27
  4. limitation du nombre d'enregistrement sur une jointure
    Par coredump dans le forum Langage SQL
    Réponses: 2
    Dernier message: 18/06/2005, 16h13
  5. Réponses: 4
    Dernier message: 29/05/2004, 14h29

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