Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Langages serveur > ASP
ASP Forum sur la programmation ASP. Avant de poster : Cours ASP, FAQ ASP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/07/2006, 13h08   #1
Invité régulier
 
Inscription : mai 2006
Messages : 56
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 56
Points : 7
Points : 7
Par défaut récupérer le maximum d'un champ

je récupére avec une requête le champ qui m'interesse en faisant rs("mon_champ")

je voudrais savoir comment obtenir le maximum de ce champ et pouvoir l'utiliser après sachant que mon champ contient des dates

merci d'avance
badboys206s16 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2006, 13h33   #2
Membre expérimenté
 
Avatar de Phiss
 
Homme
Développeur Web
Inscription : mai 2005
Messages : 660
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 30
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2005
Messages : 660
Points : 581
Points : 581
Avec ta requete tu récupère combien d'enregistrements?
__________________
" L'absence diminue les médiocres passions et augmente les grandes, comme le vent éteint les bougies et allume le feu. "
La Rochefoucauld
Phiss est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2006, 13h37   #3
Invité régulier
 
Inscription : mai 2006
Messages : 56
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 56
Points : 7
Points : 7
ca depend pourquoi?
badboys206s16 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2006, 13h47   #4
Membre expérimenté
 
Avatar de Phiss
 
Homme
Développeur Web
Inscription : mai 2005
Messages : 660
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 30
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2005
Messages : 660
Points : 581
Points : 581
tu veux récupérer quoi comme maximum?
Car dans ton premier message tu ne nous fais part que d'un enregistrement et pas d'une liste ou l'on aurait put avoir un maximum...

En gros ton max tu veux le récupérer par rapport à ta base ou par rapport à autre chose?
__________________
" L'absence diminue les médiocres passions et augmente les grandes, comme le vent éteint les bougies et allume le feu. "
La Rochefoucauld
Phiss est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2006, 13h49   #5
Invité régulier
 
Inscription : mai 2006
Messages : 56
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 56
Points : 7
Points : 7
je fais une requête et je veux récupérer la date la plus récente de cette requête
badboys206s16 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2006, 13h56   #6
Membre expérimenté
 
Avatar de Phiss
 
Homme
Développeur Web
Inscription : mai 2005
Messages : 660
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 30
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2005
Messages : 660
Points : 581
Points : 581
on peut voir ta requete?

sinon essaies avec un
Code :
max(ton_champ) as dateplusrecente
dans ta requete
__________________
" L'absence diminue les médiocres passions et augmente les grandes, comme le vent éteint les bougies et allume le feu. "
La Rochefoucauld
Phiss est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2006, 14h27   #7
Invité régulier
 
Inscription : mai 2006
Messages : 56
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 56
Points : 7
Points : 7
est-ce que je peux faire un truc du genre :

Code :
1
2
 
DateDiff("h", max(rs("mon_champ")), getdate())
badboys206s16 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2006, 15h27   #8
Membre expérimenté
 
Avatar de Phiss
 
Homme
Développeur Web
Inscription : mai 2005
Messages : 660
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 30
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2005
Messages : 660
Points : 581
Points : 581
max(rs("monchamp")) va te retourner la même chose que rs("monchamp")

en effet rs ne peut contenir qu'un seul enregistrement et donc une seule valeur de "monchamp".

si tu veux le max d'une valeur dans une atble il faut faire une requete du genre

Code :
select max(tonchamp) as maxchp from matable where si_besoin_est
ensuite tu as la valeur max de ton champ en lisant la valeur de maxchp.
__________________
" L'absence diminue les médiocres passions et augmente les grandes, comme le vent éteint les bougies et allume le feu. "
La Rochefoucauld
Phiss est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2006, 08h42   #9
Invité régulier
 
Inscription : mai 2006
Messages : 56
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 56
Points : 7
Points : 7
merci pour ton aide

le problème c'est que ma requête est en faite un procédure stockée dans laquelle je crée un nouvelle table avec tous les champs dont j'ai besoin.

je ne peux pas recupérer le max comme tu le dis car je n'aurai qu'une seule date à la fin donc cela n'ira pas dans ma table

sinon j'affiche le résultat de ma requête à l'écran dans un tableau est t'il possible de récupérer le max en passant par le tableau ?

merci
badboys206s16 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2006, 15h48   #10
Membre expérimenté
 
Avatar de Phiss
 
Homme
Développeur Web
Inscription : mai 2005
Messages : 660
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 30
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2005
Messages : 660
Points : 581
Points : 581
il y a une solution.
Lorsque tu affiches tes lignes tu compare le numéro de la ligne que tu affiches avec les autres et si tu as une valeur plus grande tu la mets de coté. Puis tu passes à la valeur suivante.
__________________
" L'absence diminue les médiocres passions et augmente les grandes, comme le vent éteint les bougies et allume le feu. "
La Rochefoucauld
Phiss est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2006, 16h27   #11
Invité régulier
 
Inscription : mai 2006
Messages : 56
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 56
Points : 7
Points : 7
ok c'est une idée

tu pourrai détailler un peu plus s'il te plait...
badboys206s16 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2006, 16h57   #12
Membre expérimenté
 
Avatar de Phiss
 
Homme
Développeur Web
Inscription : mai 2005
Messages : 660
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 30
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2005
Messages : 660
Points : 581
Points : 581
je ne sais pas ou tu affiches toutes lignes.

En gros tu dois avoir une boucle du style
Code :
1
2
3
4
do while not RS.eof
 
 
loop
Alors avant ça tu initialise une variable du style valmax = 0

Ensuite dans ton do while tu testes la valeur dont tu veux le max et tu la compare avec cette variable.
Si celle que tu lis actuellement est plus grande tu remplace la valeur de la variable valmax par la valeur de l'enregistrement que tu es en train de lire.
__________________
" L'absence diminue les médiocres passions et augmente les grandes, comme le vent éteint les bougies et allume le feu. "
La Rochefoucauld
Phiss est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2006, 15h29   #13
Invité régulier
 
Inscription : mai 2006
Messages : 56
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 56
Points : 7
Points : 7
super ton idée
merci
badboys206s16 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2006, 16h08   #14
Invité régulier
 
Inscription : mai 2006
Messages : 56
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 56
Points : 7
Points : 7
j'ai réussi à récupérer ma date dans la variable max_valeur en faisant :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
dim max_valeur
max_valeur = 0
		do while not rs1.EOF 
		if rs("date") > max_valeur then
			max_valeur = rs("date")
		else
			max_valeur = max_valeur
		end if
		Response.Write "<tr > ... </tr>"
		rs.movenext
		loop
maintenant, je voudrais mettre en rouge une case, si la différence entre la date contenue dans max_valeur et la date d'aujourd'hui est supérieure à 10 minutes

Code :
1
2
3
4
5
6
7
8
 
	urgence=DateDiff("n",max_valeur,date())
	if urgence > 10 then
	urg="rouge"
	else
	urg="blanc"
	end if
	Response.Write "<tr><td class=" & urg & "> ... </tr>"
mon problème c'est que la case reste toujours en rouge
merci
badboys206s16 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2006, 16h16   #15
Membre expérimenté
 
Avatar de Phiss
 
Homme
Développeur Web
Inscription : mai 2005
Messages : 660
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 30
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2005
Messages : 660
Points : 581
Points : 581
tu a squoi dans tes class rouge et blanc?
__________________
" L'absence diminue les médiocres passions et augmente les grandes, comme le vent éteint les bougies et allume le feu. "
La Rochefoucauld
Phiss est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2006, 16h17   #16
Invité régulier
 
Inscription : mai 2006
Messages : 56
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 56
Points : 7
Points : 7
Code :
1
2
3
4
 
background=red;
 
background=white;
badboys206s16 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2006, 16h25   #17
Membre expérimenté
 
Avatar de Phiss
 
Homme
Développeur Web
Inscription : mai 2005
Messages : 660
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 30
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2005
Messages : 660
Points : 581
Points : 581
Et avec cela tu as quoi?

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
dim max_valeur
max_valeur = 0
do while not rs1.EOF 
	if rs("date") > max_valeur then
		max_valeur = rs("date")
	else
		max_valeur = max_valeur
	end if
	urgence=DateDiff("n",max_valeur,date())
	if urgence > 10 then
		urg="#ff0000"
	else
		urg="#ffffff"
	end if
    	Response.Write "<tr><td bgcolor=" & urg & "> ... </tr>"
	rs.movenext
loop
__________________
" L'absence diminue les médiocres passions et augmente les grandes, comme le vent éteint les bougies et allume le feu. "
La Rochefoucauld
Phiss est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2006, 16h30   #18
Invité régulier
 
Inscription : mai 2006
Messages : 56
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 56
Points : 7
Points : 7
en faite c'est une case de l'en tête de mon tableau que je veux mettre en rouge
Code :
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
 
 
urgence=DateDiff("n",max_valeur,date())
	if urgence > 10 then
	urg="rouge"
	else
	urg="blanc"
	end if
	Response.Write "<tr><td class=" & urg & "> ... </tr>"
 
dim max_valeur
max_valeur = 0
do while not rs1.EOF 
	if rs("date") > max_valeur then
		max_valeur = rs("date")
	else
		max_valeur = max_valeur
	end if
	urgence=DateDiff("n",max_valeur,date())
	if urgence > 10 then
		urg="#ff0000"
	else
		urg="#ffffff"
	end if
    	Response.Write "<tr><td bgcolor=" & urg & "> ... </tr>"
	rs.movenext
loop
j'ai donc quelque chose comme ca
sinon cela revient au même avec ton code
badboys206s16 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2006, 16h50   #19
Membre expérimenté
 
Avatar de Phiss
 
Homme
Développeur Web
Inscription : mai 2005
Messages : 660
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 30
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2005
Messages : 660
Points : 581
Points : 581
Code :
1
2
3
4
5
6
7
urgence=DateDiff("n",max_valeur,date())
	if urgence > 10 then
	urg="rouge"
	else
	urg="blanc"
	end if
	Response.Write "<tr><td class=" & urg & "> ... </tr>"
Si tu fais ceci avant le reste, ta variable max_valeur n'est pas initialisé.

ensuite essaie de faire un response.write avant le
__________________
" L'absence diminue les médiocres passions et augmente les grandes, comme le vent éteint les bougies et allume le feu. "
La Rochefoucauld
Phiss est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2006, 16h56   #20
Invité régulier
 
Inscription : mai 2006
Messages : 56
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 56
Points : 7
Points : 7
ok tu as raison le problème c'est que je fais le datediff, max_valeur vaut zéro
donc le date_diff est énorme et forcément supérieur à 10 donc voilà pourquoi c'est toujours en rouge

ce que je ne comprend pas c'est que si après ma boucle pour remplir mon tableau je met un response.write de max_valeur

j'obtient une ligne au dessus de mon tableau avec ma date maximum donc je pense que ca allait marcher
badboys206s16 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h42.


 
 
 
 
Partenaires

Hébergement Web