IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP Discussion :

récupérer le maximum d'un champ


Sujet :

ASP

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 56
    Points : 17
    Points
    17
    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

  2. #2
    Membre confirmé Avatar de Phiss
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2005
    Messages
    676
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 676
    Points : 616
    Points
    616
    Par défaut
    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

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 56
    Points : 17
    Points
    17
    Par défaut
    ca depend pourquoi?

  4. #4
    Membre confirmé Avatar de Phiss
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2005
    Messages
    676
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 676
    Points : 616
    Points
    616
    Par défaut
    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

  5. #5
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 56
    Points : 17
    Points
    17
    Par défaut
    je fais une requête et je veux récupérer la date la plus récente de cette requête

  6. #6
    Membre confirmé Avatar de Phiss
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2005
    Messages
    676
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 676
    Points : 616
    Points
    616
    Par défaut
    on peut voir ta requete?

    sinon essaies avec un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  7. #7
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 56
    Points : 17
    Points
    17
    Par défaut
    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())

  8. #8
    Membre confirmé Avatar de Phiss
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2005
    Messages
    676
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 676
    Points : 616
    Points
    616
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  9. #9
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 56
    Points : 17
    Points
    17
    Par défaut
    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

  10. #10
    Membre confirmé Avatar de Phiss
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2005
    Messages
    676
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 676
    Points : 616
    Points
    616
    Par défaut
    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

  11. #11
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 56
    Points : 17
    Points
    17
    Par défaut
    ok c'est une idée

    tu pourrai détailler un peu plus s'il te plait...

  12. #12
    Membre confirmé Avatar de Phiss
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2005
    Messages
    676
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 676
    Points : 616
    Points
    616
    Par défaut
    je ne sais pas ou tu affiches toutes lignes.

    En gros tu dois avoir une boucle du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  13. #13
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 56
    Points : 17
    Points
    17
    Par défaut
    super ton idée
    merci

  14. #14
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 56
    Points : 17
    Points
    17
    Par défaut
    j'ai réussi à récupérer ma date dans la variable max_valeur en faisant :
    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
    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
     
    	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

  15. #15
    Membre confirmé Avatar de Phiss
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2005
    Messages
    676
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 676
    Points : 616
    Points
    616
    Par défaut
    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

  16. #16
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 56
    Points : 17
    Points
    17
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    background=red;
     
    background=white;

  17. #17
    Membre confirmé Avatar de Phiss
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2005
    Messages
    676
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 676
    Points : 616
    Points
    616
    Par défaut
    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

  18. #18
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 56
    Points : 17
    Points
    17
    Par défaut
    en faite c'est une case de l'en tête de mon tableau que je veux mettre en rouge
    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
    j'ai donc quelque chose comme ca
    sinon cela revient au même avec ton code

  19. #19
    Membre confirmé Avatar de Phiss
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2005
    Messages
    676
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 676
    Points : 616
    Points
    616
    Par défaut
    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>"
    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

  20. #20
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 56
    Points : 17
    Points
    17
    Par défaut
    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

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/02/2005, 23h40
  2. Récupérer la valeur d'un champ disabled
    Par nebule dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 27/01/2005, 10h45
  3. Récupérer le texte d'un champ de texte
    Par theberliner dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 04/12/2004, 10h08
  4. récupérer la valeur du 2ème champ dans un DBLookUpListBox
    Par jakouz dans le forum Bases de données
    Réponses: 3
    Dernier message: 20/07/2004, 16h45
  5. récupérer la partie décimale d’un champ
    Par maouazzani dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 21/04/2004, 16h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo