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

Access Discussion :

[SQL] Requêtant ne sortant que les lignes dont un champ est différent de la précédent


Sujet :

Access

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 43
    Points : 47
    Points
    47
    Par défaut [SQL] Requêtant ne sortant que les lignes dont un champ est différent de la précédent
    Bonjour,

    Est-il possible de créer une query (servant pour un report) de ne ?sortir que les tuples dont le ChampX a changé par rapport au précédent.

    Par exemple, pour la valeur d'un compte sur un mois on n'obtient les valeurs uniques : si le compte est à 200€ pendant 5 jours, on n'obtient qu'une seule sortie au premier jour et à 200€, la suite ayant un montant différent.

    Merci d'avance pour votre aide

  2. #2
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    Dans ton cas des soldes bancaires, je vois bien un SQL du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT tblTest.Date, tblTest.Solde
    FROM tblTest
    WHERE IsUnchanged([Solde])=False
    ORDER BY tblTest.Date;
    avec la fonction IsUnchanged

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim LastVal As Double
    
    Function IsUnchanged(ByVal Val As Double) As Boolean
    
    If Val <> LastVal Then
        IsUnchanged = False
        LastVal = Val
    Else
        IsUnchanged = True
    End If
    
    End Function

  3. #3
    Membre habitué
    Inscrit en
    Août 2004
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Août 2004
    Messages : 159
    Points : 131
    Points
    131
    Par défaut
    Bonjour,

    Cafeine, je ne vois pas comment tu mets à jour ta variable LastVal ?

  4. #4
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    dans mon code c'est là


  5. #5
    Membre habitué
    Inscrit en
    Août 2004
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Août 2004
    Messages : 159
    Points : 131
    Points
    131
    Par défaut
    Oops à plus les yeux en face des trous, désolé
    En tout cas je note le principe du mix requête + variables mises à jour par du code, ça pourra être réutilisé plus tard. Merci

  6. #6
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 43
    Points : 47
    Points
    47
    Par défaut
    Merci beaucoup,
    ça marche niquel !

    Access dispose de pas mal de possibilités...

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/05/2015, 09h47
  2. [AC-2007] Requête COUNT - afficher les lignes dont le compte est null
    Par Tchebichef dans le forum Requêtes et SQL.
    Réponses: 17
    Dernier message: 10/09/2012, 11h04
  3. Réponses: 5
    Dernier message: 19/05/2010, 11h10
  4. Réponses: 6
    Dernier message: 26/11/2008, 23h27
  5. Réponses: 2
    Dernier message: 27/02/2008, 19h45

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