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 :

Pb de suppression selon critères de date et d'occurence


Sujet :

Access

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 15
    Points : 12
    Points
    12
    Par défaut Pb de suppression selon critères de date et d'occurence
    Bonjour,

    Je dispose d'une table contenant les champs suivants:
    - clef
    - Date
    - NNI
    - Metier Précédent
    - Metier Suivant
    - UM Précédente
    - UM Suivante

    il est possible de retrouver le même NNI plusieurs fois dans la table à des dates différentes.

    Pour chaque NNI , s'il existe au moins deux fois le même NNI dans la table, j'aimerais pouvoir supprimer la ligne où se trouve la première occurence, c'est à dire où la date est la plus ancienne.

    J'ai passé la matinée a essayé de construire cette requête donc si quelqu'un a une idée elle serait la bienvenue.

    Merci d'avance

  2. #2
    Membre régulier Avatar de Sonic
    Inscrit en
    Mars 2002
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 105
    Points : 96
    Points
    96
    Par défaut
    Salut
    J'ai pas pris le temps de tester mais un truc dans le genre pourrait marcher
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DELETE * FROM MyTable where Clef NOT IN (SELECT Clef FROM MyTable HAVING Last(Date))
    Cherche à récupérer d'abord tous les enregistrements qui t'intéresse puis avec le not in ca te donne tout ceux que tu ne veux pas
    Bon courage

  3. #3
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Je pense qu'il manque un bout sonic

    Je verrai plus quelque chose du style :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    DELETE  FROM Table1 T2
       WHERE
         T2.Date= (
                   SELECT First(Date) 
                   FROM Table1 T1  
                   WHERE T2.NNI=T1.NNI 
                        AND  (
                                SELECT Count(date) 
                                FROM Table1 
                                WHERE T1.NNI=Table1.NNI
                                 )>1
                        )

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Merci Tofalu, c'est exactement ce que je voulais obtenir. Malheureusement, ta requête semble trop lourde et access plante lorsque je l'exécute

  5. #5
    Membre régulier Avatar de Sonic
    Inscrit en
    Mars 2002
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 105
    Points : 96
    Points
    96
    Par défaut
    Oui en effet j'oubliais le cas où il n'y avait qu'une ligne pour un NNI
    Merci Tofalu mais finesse20 tu pourrais dire ce qu'il indique car "ca plante" n'est pas très explicite

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Et bien lorsque j'exécute la requête le pc met un temps énorme pour afficher le résultat (environ 10 minutes) et lorsque je souhaite descendre jusqu'au dernier affichage Access ne répond plus

Discussions similaires

  1. [AC-2007] Sélection d'entrées selon des critères de dates
    Par Arnoid dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 12/04/2012, 11h50
  2. Etablir une liste dans une feuille selon un critère de date
    Par orpheus111 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/09/2011, 21h05
  3. Suppression lignes identiques selon critères
    Par stsym dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 08/06/2011, 05h37
  4. [XL-2000] Suppression plage colonne selon critères
    Par Tydher dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/04/2011, 12h45
  5. [XL-2003] Macro recherche + copie selon critère de dates
    Par exqlicit dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/09/2009, 14h50

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