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

Requêtes et SQL. Discussion :

Requête syntaxe de calcul par comparaison


Sujet :

Requêtes et SQL.

  1. #1
    Candidat au Club
    Inscrit en
    Juillet 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Requête syntaxe de calcul par comparaison
    Bonjour
    Entre débutant et confirmé sous Access 2003, je n'arrive pas à trouver la syntaxe suivante avec 4 champs dans une requête [A] [B] [C] [D]
    [D] = ([D] enregistrement précédent) + ([A]-[B]) si [C]=1
    et si [C] = 0 , [D]= ([D] enregistrement précédent) tout en sachant que l'enregistrement N°1, n'a pas d' enregistrement précédent.
    sous excel, la fonction donne D2 =si(C2=1;D1+A2-B2;D1)
    Un peu compliqué, avec les crochets, les parenthèses, les points-virgules.
    Merci de me renseigner

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    access n'a pas de numéro de ligne il faut donc ajouter un numero auto
    essaye ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT a.champnumero, a.champa, a.champb, a.champc,
     matable.champnumero, matable.champa, matable.champb, matable.champc
    FROM matable AS a, matable
    WHERE matable.champnumero=(select max(champnumero) from matable where champnumero<a.champnumero);
    Elle est pas belle la vie ?

  3. #3
    Membre confirmé Avatar de chrifo
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    444
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 444
    Points : 481
    Points
    481
    Par défaut
    Bonjour,
    Si "l'enregistrement précédent" est identifiable, vous pouvez passer par une sous-requête, mais dans tous les cas, je vous conseille une boucle sur un recordset, en gardant à chaque fois la valeur de D pour l'enregistrement passé.
    Je penche, donc je suis

Discussions similaires

  1. [AC-2010] Requête syntaxe modifié par système
    Par FAISA KISS dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 08/10/2012, 19h45
  2. [XL-2003] Calcul par comparaison en VBA
    Par didou038 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 12/06/2011, 12h11
  3. [Toutes versions] requête de calcul par ligne
    Par damsmut dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 11/05/2010, 15h10
  4. Réponses: 2
    Dernier message: 01/05/2010, 20h38
  5. [Access] Calcule par ligne dans une requête
    Par Belze dans le forum Langage SQL
    Réponses: 2
    Dernier message: 13/02/2006, 09h09

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