Afficher le nombre d'enregistrements sur une recherche
Résolu
yfchauer
Messages postés
78
Date d'inscription
Statut
Membre
Dernière intervention
-
yfchauer Messages postés 78 Date d'inscription Statut Membre Dernière intervention -
yfchauer Messages postés 78 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
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 :
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
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
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 :
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
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
A voir également:
- Afficher le nombre d'enregistrements sur une recherche
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Afficher le 0 devant un nombre dans excel - Guide
- Comment faire une recherche à partir d'une photo - Guide
- Je recherche une chanson - Guide
- Nombre de jours entre deux dates excel - Guide
6 réponses
Salut,
garde ta requête, fais-en un recordset. Tu pourras ensuite exécuter un .movelast, qui remplira la propriété .recordcount, que tu pourras afficher.
garde ta requête, fais-en un recordset. Tu pourras ensuite exécuter un .movelast, qui remplira la propriété .recordcount, que tu pourras afficher.
De mémoire :
Dim Rs as Recordset
'création du SQL
...
...
...
Set Rs=currentdb.openrecordset(SQL)
Rs.movefirst
Rs.movelast
msgbox Rs.recordcount
A+ blux
Dim Rs as Recordset
'création du SQL
...
...
...
Set Rs=currentdb.openrecordset(SQL)
Rs.movefirst
Rs.movelast
msgbox Rs.recordcount
A+ blux
"Les cons, ça ose tout. C'est même à ça qu'on les reconnait"
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonsoir,
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
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