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
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
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
ca depend pourquoi?
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
je fais une requête et je veux récupérer la date la plus récente de cette requête
on peut voir ta requete?
sinon essaies avec undans ta requete
Code : Sélectionner tout - Visualiser dans une fenêtre à part max(ton_champ) as dateplusrecente
" L'absence diminue les médiocres passions et augmente les grandes, comme le vent éteint les bougies et allume le feu. "
La Rochefoucauld
est-ce que je peux faire un truc du genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 DateDiff("h", max(rs("mon_champ")), getdate())
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
ensuite tu as la valeur max de ton champ en lisant la valeur de maxchp.
Code : Sélectionner tout - Visualiser dans une fenêtre à part select max(tonchamp) as maxchp from matable where si_besoin_est
" L'absence diminue les médiocres passions et augmente les grandes, comme le vent éteint les bougies et allume le feu. "
La Rochefoucauld
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
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
ok c'est une idée
tu pourrai détailler un peu plus s'il te plait...
je ne sais pas ou tu affiches toutes lignes.
En gros tu dois avoir une boucle du style
Alors avant ça tu initialise une variable du style valmax = 0
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 do while not RS.eof loop
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
super ton idée
merci
j'ai réussi à récupérer ma date dans la variable max_valeur en faisant :
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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
mon problème c'est que la case reste toujours en rouge
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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>"
merci
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 background=red; background=white;
Et avec cela tu as quoi?
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 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
en faite c'est une case de l'en tête de mon tableau que je veux mettre en rouge
j'ai donc quelque chose comme ca
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 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
sinon cela revient au même avec ton code
Si tu fais ceci avant le reste, ta variable max_valeur n'est pas initialisé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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>"
ensuite essaie de faire un response.write avant le
Code : Sélectionner tout - Visualiser dans une fenêtre à part if urgence > 10 then
" L'absence diminue les médiocres passions et augmente les grandes, comme le vent éteint les bougies et allume le feu. "
La Rochefoucauld
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
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager