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

WinDev Discussion :

champs calculé dans une requete parametrée


Sujet :

WinDev

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2012
    Messages : 14
    Points : 17
    Points
    17
    Par défaut champs calculé dans une requete parametrée
    Bonjour tt le monde !!
    je désire faire une requete paramétré ( saisie du mois pour le calcul on veut que les resultats s'affiche)qui calcule le kilometrage parcouru par véhicule. on enregistre a chaque opération le kilometrage que le chaque vehicule a parcouru . on'a donc le kilometrage du mois=le kilométrage du 1er enregistrement du mois(M+1) moins le kilometrage de le premier enregistrement en mois (M)
    merci d'avance!

  2. #2
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 308
    Points : 9 417
    Points
    9 417
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Select Voiture,mois From TabVoiture Where mois = {pMois} ou mois = {pMoisMoinsUn}
    Le plus dur est de calculer les mois glisssants d'une année sur l'autre...

  3. #3
    Membre éprouvé Avatar de wimbish
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 416
    Points : 1 073
    Points
    1 073
    Par défaut
    Bonjour,
    Avec windev cela me semble compliqué.
    A mon avis, tu devrais passer par deux requête et du code pour le calcul (voir que du code)

    Une piste pour les requêtes: la requête UNION te renvoi deux lignes avec les km
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    (SELECT km
    FROM TabVoiture 
    WHERE date BETWEEN '20120101' AND '20120131'
    ORDER BY date ASC
    LIMIT 1 //première ligne de janvier
    UNION
    SELECT km
    FROM TabVoiture 
    WHERE date BETWEEN '20120201' AND '201202329'
    ORDER BY date ASC
    LIMIT 1 //première ligne de février
    )

    on pourrais faire automatiquement la somme avec :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SELECT SUM(km) FROM
    (SELECT km
    FROM TabVoiture 
    WHERE date BETWEEN '20120101' AND '20120131'
    ORDER BY date ASC
    LIMIT 1 //première ligne de janvier
    UNION
    SELECT km
    FROM TabVoiture 
    WHERE date BETWEEN '20120201' AND '201202329'
    ORDER BY date ASC
    LIMIT 1 //première ligne de février
    )

    Je n'ai pas trouvé comment multiplier une des valeurs par -1 pour que cette somme te donne la différence de km entre les deux date.
    Peut être que quelqu'un aura la réponse.

  4. #4
    Membre émérite
    Homme Profil pro
    Développeur et responsable micros/réseaux
    Inscrit en
    Octobre 2010
    Messages
    1 286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur et responsable micros/réseaux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 286
    Points : 2 562
    Points
    2 562
    Par défaut
    Bonjour,

    si je reprends la proposition de wimbish :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT km - (SELECT km
    FROM TabVoiture 
    WHERE date BETWEEN pDebutMoisPrec AND pFinMoisPrec
    ORDER BY date ASC
    LIMIT 1 //première ligne du mois précédent) as KM_PARCOURUS
    FROM TabVoiture 
    WHERE date BETWEEN pDebutMois AND pFinMois
    ORDER BY date ASC
    LIMIT 1 //première ligne du mois sélectionné

    A adapter de toute façon, mais les paramètres doivent être passé comme il faut en fonction de la fenêtre de départ.

    à bientôt,

    Nicolas

  5. #5
    Membre éprouvé Avatar de wimbish
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 416
    Points : 1 073
    Points
    1 073
    Par défaut
    Re,
    Tu peux aussi essayer :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SELECT SUM(val) FROM
    (SELECT km*-1 as val 
    FROM TabVoiture 
    WHERE date BETWEEN '20120101' AND '20120131'
    ORDER BY date ASC
    LIMIT 1 //première ligne de janvier
    UNION
    SELECT km as val
    FROM TabVoiture 
    WHERE date BETWEEN '20120201' AND '201202329'
    ORDER BY date ASC
    LIMIT 1 //première ligne de février
    )

Discussions similaires

  1. [AC-2010] Renvoyer La valeur d'un champ calculé d'une requete dans un champ donné d'une table
    Par ThaHardy dans le forum Requêtes et SQL.
    Réponses: 21
    Dernier message: 13/07/2015, 16h40
  2. [AC-2010] Champs calculés dans une requete
    Par chargeur123 dans le forum Access
    Réponses: 8
    Dernier message: 29/01/2012, 00h09
  3. Réponses: 2
    Dernier message: 19/11/2011, 13h21
  4. [AC-2007] 2 criteres dans un champ calculé d une requete
    Par fabian_945 dans le forum Requêtes et SQL.
    Réponses: 0
    Dernier message: 30/01/2010, 18h51
  5. [AC-2007] champ calcule dans une requete
    Par mac_2008 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 17/08/2009, 02h41

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