Afficher le résultat d'un COUNT d'une requete SQL dans un Label ou Txt

cs_chamsy Messages postés 10 Date d'inscription lundi 14 janvier 2002 Statut Membre Dernière intervention 11 février 2002 - 14 janv. 2002 à 13:26
cs_christophe Messages postés 64 Date d'inscription lundi 24 septembre 2001 Statut Membre Dernière intervention 13 septembre 2005 - 14 janv. 2002 à 16:51
Sur un formulaire MDI, j'ai un Adodc relié à un DataGrid qui affiche un certain nombre de réponse. J'aimerai compter le nombre de lignes et afficher : "IL Y A ... RESULTATS". J'ai essayé toute les propriétés du DataGrid : ApproxCount et VisibleRows. Dans aucun des cas je n'obtiens mon résultat, il affiche le nombre de ligne que contient ma base de donnée. Il faut savoir que ma requête est écrite dans la feuille précedente. Dans cette feuille l'utilisateur a le choix de plusieurs critères pour effectuer sa recherche. Merci d'avance pour votre aide. Chamsy

11 réponses

cs_christophe Messages postés 64 Date d'inscription lundi 24 septembre 2001 Statut Membre Dernière intervention 13 septembre 2005
14 janv. 2002 à 14:48
je te propose plusieurs solutions, la première :

tu comptes tous les enregistments via une boucle en utilisatant les proprietes .eof et .bof

la seconde :

tu executes une nouvelle requete SQL te renvoyant le résultat..

A plus
0
cs_chamsy Messages postés 10 Date d'inscription lundi 14 janvier 2002 Statut Membre Dernière intervention 11 février 2002
14 janv. 2002 à 15:55
En fait voila comment ça se passe : dans une premiere feuille l'utilisateur selectionne un ou plusieurs critères, puis il clique sur "valider". Il se déclanche alors une procédure dans laquelle je fais une requete qui intervient sur un Adodc, mais l'adodc se trouve sur ma page suivante. Dans la suite de cette procédure je décharge ma MDI précédente et je charge ma MDI (ou se trouve mon Adodc). Sur cette MDI, il se trouve donc un Adodc et un DataGrid. Dans le DataGrid, il s'affiche les résultat de la requête suivant les critères. Tout fonctionne correctement jusque là. Dans cette feuille, j'ai écrit en haut un label : "IL Y A ..... OBJET(S) TROUVE(S)". Je cherche à afficher dans ce label le nombre de lignes qui se trouvent dans mon DataGrid. Il faut savoir que dans mon Adodc, j'ai une requête classique : "SELECT * FROM OBJET;", celle si est modifiée lors du chargement par ma requête qui se trouve sur ma feuille précédente. Voilà, j'espère que ces explications sont claires. Et je ne peux pas ecrire : Lblnb = AdoEcr.RecordSource = "SELECT COUNT(*) FROM OBJET ...". Merci d'avance pour votre réponse.
Chamsy
0
cs_chamsy Messages postés 10 Date d'inscription lundi 14 janvier 2002 Statut Membre Dernière intervention 11 février 2002
14 janv. 2002 à 15:57
En fait voila comment ça se passe : dans une premiere feuille l'utilisateur selectionne un ou plusieurs critères, puis il clique sur "valider". Il se déclanche alors une procédure dans laquelle je fais une requete qui intervient sur un Adodc, mais l'adodc se trouve sur ma page suivante. Dans la suite de cette procédure je décharge ma MDI précédente et je charge ma MDI (ou se trouve mon Adodc). Sur cette MDI, il se trouve donc un Adodc et un DataGrid. Dans le DataGrid, il s'affiche les résultat de la requête suivant les critères. Tout fonctionne correctement jusque là. Dans cette feuille, j'ai écrit en haut un label : "IL Y A ..... OBJET(S) TROUVE(S)". Je cherche à afficher dans ce label le nombre de lignes qui se trouvent dans mon DataGrid. Il faut savoir que dans mon Adodc, j'ai une requête classique : "SELECT * FROM OBJET;", celle si est modifiée lors du chargement par ma requête qui se trouve sur ma feuille précédente. Voilà, j'espère que ces explications sont claires. Et je ne peux pas ecrire : Lblnb = AdoEcr.RecordSource = "SELECT COUNT(*) FROM OBJET ...". Merci d'avance pour votre réponse.
Chamsy
0
cs_chamsy Messages postés 10 Date d'inscription lundi 14 janvier 2002 Statut Membre Dernière intervention 11 février 2002
14 janv. 2002 à 16:01
En fait voila comment ça se passe : dans une premiere feuille l'utilisateur selectionne un ou plusieurs critères, puis il clique sur "valider". Il se déclanche alors une procédure dans laquelle je fais une requete qui intervient sur un Adodc, mais l'adodc se trouve sur ma page suivante. Dans la suite de cette procédure je décharge ma MDI précédente et je charge ma MDI (ou se trouve mon Adodc). Sur cette MDI, il se trouve donc un Adodc et un DataGrid. Dans le DataGrid, il s'affiche les résultat de la requête suivant les critères. Tout fonctionne correctement jusque là. Dans cette feuille, j'ai écrit en haut un label : "IL Y A ..... OBJET(S) TROUVE(S)". Je cherche à afficher dans ce label le nombre de lignes qui se trouvent dans mon DataGrid. Il faut savoir que dans mon Adodc, j'ai une requête classique : "SELECT * FROM OBJET;", celle si est modifiée lors du chargement par ma requête qui se trouve sur ma feuille précédente. Voilà, j'espère que ces explications sont claires. Et je ne peux pas ecrire : Lblnb = AdoEcr.RecordSource = "SELECT COUNT(*) FROM OBJET ...". Merci d'avance pour votre réponse.
Chamsy
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_chamsy Messages postés 10 Date d'inscription lundi 14 janvier 2002 Statut Membre Dernière intervention 11 février 2002
14 janv. 2002 à 16:03
En fait voila comment ça se passe : dans une premiere feuille l'utilisateur selectionne un ou plusieurs critères, puis il clique sur "valider". Il se déclanche alors une procédure dans laquelle je fais une requete qui intervient sur un Adodc, mais l'adodc se trouve sur ma page suivante. Dans la suite de cette procédure je décharge ma MDI précédente et je charge ma MDI (ou se trouve mon Adodc). Sur cette MDI, il se trouve donc un Adodc et un DataGrid. Dans le DataGrid, il s'affiche les résultat de la requête suivant les critères. Tout fonctionne correctement jusque là. Dans cette feuille, j'ai écrit en haut un label : "IL Y A ..... OBJET(S) TROUVE(S)". Je cherche à afficher dans ce label le nombre de lignes qui se trouvent dans mon DataGrid. Il faut savoir que dans mon Adodc, j'ai une requête classique : "SELECT * FROM OBJET;", celle si est modifiée lors du chargement par ma requête qui se trouve sur ma feuille précédente. Voilà, j'espère que ces explications sont claires. Et je ne peux pas ecrire : Lblnb = AdoEcr.RecordSource = "SELECT COUNT(*) FROM OBJET ...". Merci d'avance pour votre réponse.
Chamsy
0
cs_chamsy Messages postés 10 Date d'inscription lundi 14 janvier 2002 Statut Membre Dernière intervention 11 février 2002
14 janv. 2002 à 16:05
En fait voila comment ça se passe : dans une premiere feuille l'utilisateur selectionne un ou plusieurs critères, puis il clique sur "valider". Il se déclanche alors une procédure dans laquelle je fais une requete qui intervient sur un Adodc, mais l'adodc se trouve sur ma page suivante. Dans la suite de cette procédure je décharge ma MDI précédente et je charge ma MDI (ou se trouve mon Adodc). Sur cette MDI, il se trouve donc un Adodc et un DataGrid. Dans le DataGrid, il s'affiche les résultat de la requête suivant les critères. Tout fonctionne correctement jusque là. Dans cette feuille, j'ai écrit en haut un label : "IL Y A ..... OBJET(S) TROUVE(S)". Je cherche à afficher dans ce label le nombre de lignes qui se trouvent dans mon DataGrid. Il faut savoir que dans mon Adodc, j'ai une requête classique : "SELECT * FROM OBJET;", celle si est modifiée lors du chargement par ma requête qui se trouve sur ma feuille précédente. Voilà, j'espère que ces explications sont claires. Et je ne peux pas ecrire : Lblnb = AdoEcr.RecordSource = "SELECT COUNT(*) FROM OBJET ...". Merci d'avance pour votre réponse.
Chamsy
0
cs_christophe Messages postés 64 Date d'inscription lundi 24 septembre 2001 Statut Membre Dernière intervention 13 septembre 2005
14 janv. 2002 à 16:18
Bon je vais te donner le code avec une requete sql (c'est a dire ma deuxième solution)

'ca je pense que tu l'as deja fait
dim bd as ADODB.connection
dim sql as string
dim calculnb as ADODB.recordset

set bd = New ADODB.connection
bd.open "ta connexion"

set calculnb = new ADODB.recordset
sql = "SELECT count(....) as nb FROM..."
calculnb.open sql,bd

if calculnb.eof = false then
msgbox calculnb!nb
end if

calculnb.close
bd.close
set calculnb = nothing
set bd = nothing

PS : Pas besoin d'envoyer 50 messages identiques, on répond quand on a le temps....
0
cs_christophe Messages postés 64 Date d'inscription lundi 24 septembre 2001 Statut Membre Dernière intervention 13 septembre 2005
14 janv. 2002 à 16:21
Bon je vais te donner le code avec une requete sql (c'est a dire ma deuxième solution)

'ca je pense que tu l'as deja fait
dim bd as ADODB.connection
dim sql as string
dim calculnb as ADODB.recordset

set bd = New ADODB.connection
bd.open "ta connexion"

set calculnb = new ADODB.recordset
sql = "SELECT count(....) as nb FROM..."
calculnb.open sql,bd

if calculnb.eof = false then
msgbox calculnb!nb
end if

calculnb.close
bd.close
set calculnb = nothing
set bd = nothing

PS : Pas besoin d'envoyer 50 messages identiques, on répond quand on a le temps....
0
cs_christophe Messages postés 64 Date d'inscription lundi 24 septembre 2001 Statut Membre Dernière intervention 13 septembre 2005
14 janv. 2002 à 16:23
Bon je vais te donner le code avec une requete sql (c'est a dire ma deuxième solution)

'ca je pense que tu l'as deja fait
dim bd as ADODB.connection
dim sql as string
dim calculnb as ADODB.recordset

set bd = New ADODB.connection
bd.open "ta connexion"

set calculnb = new ADODB.recordset
sql = "SELECT count(....) as nb FROM..."
calculnb.open sql,bd

if calculnb.eof = false then
msgbox calculnb!nb
end if

calculnb.close
bd.close
set calculnb = nothing
set bd = nothing

PS : Pas besoin d'envoyer 50 messages identiques, on répond quand on a le temps....
0
cs_chamsy Messages postés 10 Date d'inscription lundi 14 janvier 2002 Statut Membre Dernière intervention 11 février 2002
14 janv. 2002 à 16:43
Excusez moi pour tout ces messages, mais j'avais des erreur d'affichage et je ne savais pas que ça prenait en compte.
Merci beaucoup pour ta réponse. Le problème est résolu.
Merci beaucoup
Chamsy
0
cs_christophe Messages postés 64 Date d'inscription lundi 24 septembre 2001 Statut Membre Dernière intervention 13 septembre 2005
14 janv. 2002 à 16:51
Desolé de mettre enervé car g eu les memes pb d'affichage...
A plus
0
Rejoignez-nous