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 :

Not In(Select ..


Sujet :

Access

  1. #1
    Invité
    Invité(e)
    Par défaut Not In(Select ..


    Il me semblait que l'on pouvait mettre dan une requête un critère du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Not In (SELECT NumFac FROM TblFact)
    Est-je révé !? En tout cas ça ne fonctionne pas !

    En fait dans une table "TblFact" j'aurais voulu importer des factures qui n'éxiste pas dans cette table ?

    Suis-je obligé de passé par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LEFT JOIN [Tbl Fact] ON [TblX ChronosTmp].NumFac = [Tbl Fact].NumFact WHERE [Tbl Fact].NumFact Is Null;"
    Ce qui est beaucoup plus long en écriture

  2. #2
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 585
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 585
    Billets dans le blog
    67
    Par défaut
    Salut,

    Oui tu peux faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE  [TblX ChronosTmp].NumFac Not In (SELECT NumFac FROM TblFact)
    @+
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  3. #3
    Invité
    Invité(e)
    Par défaut Et bien ....
    Salut User,

    Je savais bien que je n'avais pas révé !

    Mais chez moi avec la requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT [Cpte], [Aff], [NumFac], [Commune], [Travaux], [DateFac], [MtFacHT], [MtFacTTC], [Expr1], [Expr2], [Expr3]
    FROM [TblX ChronosTmp]
    WHERE [NumFac] Not In (SELECT NumFact FROM [Tbl Factures]);
    Ca marche po, le select ne me renvoie rine du tout !
    Alors que j'ai bien vérifier :
    1) dans ma table "Tbl Factures" je n'ai pas les facture de Juillet
    2) dans ma table "Tblx ChronosTmp" je les ai bien

    Je ne comprends po

  4. #4
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonjour,

    Il y a bien un NumFac et un NumFact?

    pgz

  5. #5
    Invité
    Invité(e)
    Par défaut
    PgZ

    Il y a bien un NumFac et un NumFact?


    Dans ma table des chronos temporaire (TblX ChronosTmp) créée via un fichier Excel lié, il y a "NumFac"

    Dans ma table des factures (Tbl Factures) il y a NumFact

    Je ne voulais pas mettre le même champ pour ne pas avoir de pb

    Nota : NumFact est un champ texte, est-ce que cela change quelque chose !?

    A+

  6. #6
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 585
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 585
    Billets dans le blog
    67
    Par défaut
    Hello,

    et avec le Left Join, ca marche:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LEFT JOIN [Tbl Fact] ON [TblX ChronosTmp].NumFac = [Tbl Fact].NumFact WHERE [Tbl Fact].NumFact Is Null;"


    Peux-tu confirmer ?

    @+
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  7. #7
    Invité
    Invité(e)
    Par défaut Oui je confirme...
    Salut USER,

    Oui je confirme avec le LEFT JOIN, ça fonctionne !
    Donc c'est la solution que j'ai adopté pour le moment, mais je ne comprend pas pourquoi l'autre ne fonctionne pas !?

    Si personne n'a d'idée je vais mettre résolu

  8. #8
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 585
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 585
    Billets dans le blog
    67
    Par défaut
    Je te confirm que le Not In (Select ..
    avec un champ text fonctionne bien..

    La je ne vois vraiment pas

    A toi de voir pour le tag résolu...

    @+
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  9. #9
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Re,

    Moi je pense que tu as une solution, mais la question que tu as posée n'est pas résolue pour autant. Et c'est assez perturbant...
    Serait-ce trop te demander que de montrer les 2 tables, pour faire cette requête de non concordance?

    Cordialement,

    pgz

  10. #10
    Membre Expert

    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 399
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 399
    Par défaut
    Bonjour,

    A mon avis, il faut au moins un enregistrement dans la table <TblFact> pour que ça fonctionne avec l'opérateur In.

    Philippe

    Correction : Je viens de tester la requête suivante avec une table factures vierge et ça fonctionne sous Access 2003. C'est pas ça donc !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT [TblX ChronosTmp].Cpte, [TblX ChronosTmp].aff
    FROM [TblX ChronosTmp]
    WHERE ((([TblX ChronosTmp].NumFac) Not In (select numfact from [tbl factures])));

  11. #11
    Expert éminent

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

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

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Par défaut
    Bonjour

    Cette erreur est souvent due à la présence de NULL dans le champ retourné par la sous requête.

    http://access.developpez.com/faq/?page=Concept#ReqOpIn

  12. #12
    Invité
    Invité(e)
    Par défaut Bravo...


    Merci à toi au grand maitre Tofalu

    Le problème était bien là ..... Il trainait des valeurs null

    Merci à tous pour votre aide

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

Discussions similaires

  1. NOT IN (SELECT) sous MySQL
    Par tinou66644 dans le forum Requêtes
    Réponses: 4
    Dernier message: 17/06/2011, 12h05
  2. where V1, V2 not in (select V1, V2 /édité/
    Par raphdn dans le forum Développement
    Réponses: 7
    Dernier message: 29/05/2009, 11h02
  3. Réponses: 18
    Dernier message: 05/12/2008, 10h45
  4. [SQL]: Requête NOT IN SELECT(...)
    Par CAPPE dans le forum Langage SQL
    Réponses: 4
    Dernier message: 23/06/2005, 14h06
  5. a,b,c NOT IN (select a,b,c from table)
    Par szdavid dans le forum Langage SQL
    Réponses: 4
    Dernier message: 11/05/2005, 09h19

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