Requete Count() et affichage ASP - ASP - Programmation
Marsh Posté le 20-07-2006 à 18:42:28
Bonjour, 
 
nb (ligne 14) est une variable, n'est-ce pas? Ou est ce que tu lui donne sa valeur? 
 
Sylvain.
Marsh Posté le 20-07-2006 à 18:53:29
.execute te ramène un recordset. 
déjà, toi tu ne le récupère pas. 
ensuite, un recordset est un mélange de stream et de collection. 
 
donc : 
 
set rs = conn.execute(...) 
if not rs.EOF then 
  response.write rs("nb" ) 
end if
Marsh Posté le 21-07-2006 à 08:10:42
Super merci beaucoup MagicBuzz ca marche comme ca? 
 
Mais pourrais tu prendre 2 minutes pour m'expliquer le fonctionnement de la condition if not rs.EOF ?? 
En gros je comprend que l'on test le resultat de la requete. Si la requete est ok on renvoie le resultat (et encore je me trompe peut etre) mais le EOF sert à quoi? que représente t'il ? 
 
Merci
Marsh Posté le 21-07-2006 à 09:17:09
EOF = End Of File (fin du fichier en Français) 
le test est donc = si on est pas à la fin du fichier alors on affiche le résultat 
Marsh Posté le 21-07-2006 à 09:38:04
Merci Flyman 
 
Sinon autre problème j'ai fait mon tableau pour les statistique que je veux afficher c'est a dire du genre 
Nb intervention pour 2004, 2005, 2006 et prochainement 2007 (je prepare le terrain) et cela egalement juste pour le Hardware et juste pour le Software (pas de souci je rajoute une clause Where) 
 
Donc avec la solution donné impeccable les resultats s'affiche bien. Cela dit après il faut que je fasse un pourcentage après du nb hardware et par année. 
Donc il faut que je prenne mon nombre total que je divise par le nb hard et que je multiplie par 100  
 
Mais le souci c'est que je ne peux pas recupérer mes variable nb puisqu'elle sont a l'intérieur de la condition. 
 
Comment je puis faire? voici un bout de code 
 
En regardant vers le bas il y a une colone qui se nomme pourcentage Hardware donc j'aimerai recupérer la valeur du nb de 2004 ainsi que la valeur du NB 2004 hardware pour en faire le calcul comment faire? 
 
Je sais c'est pas très claire mais je sais pas trop comment explique  
 
 
| Code : 
 | 
Marsh Posté le 21-07-2006 à 13:24:31
En gros ce que je voulais essayé de faire comprendre c'est comment je peux faire pour récupérer ma variable nb un peu plus loin dans le script sans refaire la requete. 
 
Merci d'avance 
 
Edit : Je dis peut etre une connerie et si je fait un truc du genre 
| Code : 
 | 
 
 
Est ce que cela valide? 
 
EDIT 2 : 
 
Bon bas non ca ne marche pas voila ce qu'il me repond 
| Citation :   | 
 
 
Une idée ?
Marsh Posté le 21-07-2006 à 16:38:18
C'est bon j'ai trouver ma bétise  
tt_2004 = rs("nb" ) 
 
Ensuite partout dans la page je peux recuperer la valeur en faisant 
Response.Write (tt_2004) 
 
Par contre maintenant probleme 
 
tt_2004 c'est le nombre d'intervention en 2004 
tth_2004 c'est le nombre d'interention Hardware en 2004 
 
Donc j'ai créer une fonction pour me calculé la moyenne 
 
| Code : 
 | 
 
 
Mais je n'arrive pas à appeler la fonction dans le corp 
 
Je fais pourtant 
| Code : 
 | 
 
 
Mais il me repond  
 
TYpe incompatible à la ligne 13 
Cette dite ligne est : CalcMoy = (nb / tt) * 100 
 
Donc comment doit je faire pour appeler correctement la fonction? 
 
Merci d'avance 
Marsh Posté le 24-07-2006 à 15:18:28
C'est bon j'ai trouver 
 
c'est un problème de typage puisqu'il sort de la base de donné il est forcement en chaine de caractère alors il faut le convertir pour cela j'ai fait 
 
lors de la creation de la variable 
| Code : 
 | 
 
donc Cint pour convertir en integer 
 
et dans la fonction j'ai mis 
 
| Code : 
 | 
 
Round() pour avoir que 2 chiffre après la virgule 
 
Et la niquel ca fonctionne  
 
Marsh Posté le 24-07-2006 à 15:19:03
A priori je dirais que les résultats de ta requête doivent être des chaînes de caractère, dans ce cas il faudrait les convertir (la fonction Cint peut-être).
Marsh Posté le 24-07-2006 à 17:03:58
Je te grier  a une minute pret
 a une minute pret 
 
mais en effet ce que tu dis est juste puisque c'est ce que j'ai fait et que cela fonctionne 
 
en tout cas merci  
 
Marsh Posté le 20-07-2006 à 13:19:44
Bonjour tout le monde.
Je débute dans l'ASP et je me trouve face a un probleme. J'utilise une base de donné Mysql. J'ai fait des pages d'ajout dans la base de donné et de visu de ce qui s'y trouve (après ajout).
pas de souci les insertions se font bien et ensuite je vois bien ce que j'ai affiché et tous ca en asp.
Maintenant j'aimerais connaitre le nombre d'enregistrement qui se trouve dans ma table intervention.
Alors j'ai fait ca
Lorsque j'appel la page rien ne s'affiche page totalement blanche. Pourquoi? je n'ai meme pas d'erreur de compilation ou je ne sais quoi