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

Bases de données Delphi Discussion :

conversion item combobox


Sujet :

Bases de données Delphi

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 22
    Par défaut conversion item combobox
    bonjour,
    j'utilise delphi7les procedures stockées et sql server.
    ma requete en sql est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    proc moy_score_total
    @mois datetime, @an datetime
    as
    select 
    AVG (ECH_NORTON.Et_phy+ECH_NORTON.Et_ment+ECH_NORTON.Activite
    +ECH_NORTON.Mobilite+ECH_NORTON.Incontinence) as Moyenne
    from ech_norton
    where datepart(month, date)= @mois and datepart(year, date) = @an
    donc je veux une moyenne en choisissant dans un combobox le mois et dans un second l'année et mettre dans un edit la valeur de la moyenne. La requete marche en sql si je remplace @mois per par ex '10' et @an par '2004'.
    En delphi, voici la procédure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    procedure TFMoy_Score.BitBtn1Click(Sender: TObject);
    begin
         with datamodule2.ProcStoMoy_ScTot do
           begin
             active := false;
             parameters.ParamByName('@mois').Value := (CBMois.ItemIndex);
             parameters.ParamByName('@an').Value := (CBAn.ItemIndex);
             active := true;
             execproc;
           end;
     
         edit1.Text := inttostr(datamodule2.ProcStoMoy_ScTotMoyenne.Value);
    C'est ici que ca coince : parameters.ParamByName('@mois').Value := (CBMois.ItemIndex);
    Je ne sais pas si c'est assez clair, en tout cas merci d'avance

  2. #2
    Membre éclairé
    Inscrit en
    Novembre 2004
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 43
    Par défaut
    Salut,

    je pense que c'est la propriété Text (qui te ramène la valeur dans ta combo) de tes combobox qui vont te donner ce que tu cherches et non la propriété ItemIndex qui elle te renvoie l'index de l'élément choisi dans ta combo.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 22
    Par défaut
    salut,
    j'ai essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strtodate(CBMois.items.Text)
    : ca ne marche pas non plus

  4. #4
    Membre éclairé
    Inscrit en
    Novembre 2004
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 43
    Par défaut
    Non il s'agit juste de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
             parameters.ParamByName('@mois').Value := CBMois.Text; 
             parameters.ParamByName('@an').Value := CBAn.Text;
    Où tes combos contiennent je suppose des valeurs comme '2004', '2003' pour l'année et '01', '02' etc ... pour le mois.

    J'éspère que ca résout ton problème.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 22
    Par défaut
    désolé,
    mais ca ne marche pas
    voici l'erreur renvoyée : "l'application utiluse un type de valeur incorrecte pour l'opération en cours"

    @mois et @an sont de type datetime en sql, il faut donc faire une conversion (enfin je pense)

    merci pour ton aide

  6. #6
    Membre éprouvé

    Profil pro
    Inscrit en
    Avril 2002
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 99
    Par défaut
    Pourquoi sont-ils de type date ? tu ne peux pas dire que 2004 ou 01 est une date, ça ne marche pas si tu les mets en type number ?

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 22
    Par défaut
    Merci rbag,
    je m'étais completement fourvoyé; les deux paramétres en sql doivent etre des integer puisque la fonction datepart renvoie une partie de date en entier.
    merci encore

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. item combobox en gras
    Par skywaukers dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 13/12/2008, 17h43
  2. utilisation Items Combobox
    Par bmeda72 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/08/2008, 15h00
  3. Réponses: 3
    Dernier message: 27/02/2008, 14h21
  4. ajout item combobox
    Par cl@ndestIno dans le forum Windows
    Réponses: 1
    Dernier message: 07/02/2007, 20h15
  5. 1er item combobox bleui
    Par rober dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 11/11/2006, 02h19

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