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 :

problème de comparaison table dans requète.


Sujet :

Access

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 52
    Points : 29
    Points
    29
    Par défaut problème de comparaison table dans requète.
    Bonsoir tout le monde!

    Voilà j'ai un petit problème mais qui est assez agaçant.
    En fait, j'ai une table qui m'indique toutes les chambres occupées avec juste 1 champ (cette table indique juste des numéros de chambres grâce à une requète création de table), et je voudrais à partir de cela, créer une requète qui me donne les chambres disponibles.

    J'ai donc une table avec tous les numéros de chambres et une table avec le numéro des chambre occupé. J'ai tout simplement pensé à afficher, à l'aide d'une requète, de n'afficher que les numéros de chambre différent des numéros de chambres occupés.

    J'avais mis comme critère pour le numéro des chambres:
    <>[Occupé]![Id_Chambre]

    Mais il m'affiche un résultat que voici (avec 6 chambres et les chambres 1 et 4 occupés):
    chambre dispo: 1
    2
    2
    3
    3
    4
    5
    5
    6
    6

    Je pense donc qu'il fait la comparaison sur les 6 valeurs deux fois ( une fois pour 1 et 1 fois pour 4), moi je voudrais simplement qu'il m'affiche ceci:
    2
    3
    5
    6


    J'espère m'être bien exprimé. Quelqu'un peut-il m'aider???

    Merci

  2. #2
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    slt,

    je n'ai tout compris si ce n'est que tu veux uniquement les valeurs distinctes

    ça correspond à un SELECT DISTINCT en SQL

    ou alors clique-droit sur la partie haute de la requête (là où il y a les tables)
    puis propriétés --> valeurs distinctes = Oui

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 52
    Points : 29
    Points
    29
    Par défaut
    Bah en fait ce que tu m'as dis, ça m'a permis déjà d'avoir comme résultat:
    1
    2
    3
    4
    5
    6

    Maintenant, le problème, c'est qu'il ne devrait pas afficher le 1 et le 4 puisque la chambre est occupée.

    Comme je l'ai dit il y a une table où il y a inscrit 1 et 4 qui correspondent aux chambres occupées. Dans ma requète pour le champ Id_Chambre (là où il y a la liste de toute les chambres) je voudrais mettre un critère pour que la requète ne m'affiche que 2 3 5 6 or là il affiche toujours le 1 et le 4.

    Y a pas un moyen ou un opérateur qui puisse permettre de sélectionner seulement les numéros de Id_Chambre qui ne figure pas dans le champ occupé??

  4. #4
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    il faudrait voir le code SQL de ta requête, j'ai l'impression que tu as mis deux tables sans jointure

    regarde du côté des requêtes de non correspondance (il y a un assistant quand tu crées une requête en cliquant sur le bouton "nouveau")

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 52
    Points : 29
    Points
    29
    Par défaut
    Voici le code SQL:

    SELECT DISTINCT chambre.Id_Chambre
    FROM chambre, iyech
    WHERE (chambre.Id_Chambre)<>[iyech]![Id_Chambre];
    Et pour l'assistant, malheureusement je dois travailler sur access 97 où ils n'ont pas installé les assistants.
    Par contre tu veux dire quoi par jointure??

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 52
    Points : 29
    Points
    29
    Par défaut
    Je vais essayer d'être plus clair avec un exemple:

    Imaginons que nous avons deux tables. Dans une table nous avons un champ ID avec les valeurs suivantes:
    1
    2
    3
    4
    5

    Dans une deuxième table nous avons un champ OCCUPE avec les valeurs suivantes:

    1
    3



    Comment faire pour qu'une requète nous permettre d'afficher simplement les valeurs:

    2
    4
    5



    Voilà j'espère que cela pourra illustrer mon problème.

    Merci

  7. #7
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    tu as un tutos qui explique les jointures et dans lequel il est question de non correspondance :
    http://mhubiche.developpez.com/Access/tutoJointures/

    Sinon il y a aussi l'imbrication de requête avec NOT IN ou avec NOT EXISTS

  8. #8
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    529
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 529
    Points : 464
    Points
    464
    Par défaut
    Salut,
    Bonne chance.
    Merci
    Deux, n'apprendront pas; le timide et l'arrogant

  9. #9
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    529
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 529
    Points : 464
    Points
    464
    Par défaut
    Salut,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT chambre.Id_Chambre 
    FROM chambre 
    WHERE chambre.Id_Chambre not in (SELECT Id_Chambre 
    FROM iyech);
    si j'ai oublié une parenthèse, désolé.
    Bonne chance.
    Merci
    Deux, n'apprendront pas; le timide et l'arrogant

Discussions similaires

  1. retrouver info d'1 autre table dans requête suivant id?
    Par cortex024 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 11/06/2007, 15h34
  2. Réponses: 1
    Dernier message: 07/08/2006, 10h22
  3. Accéder type champ table dans requête
    Par dyree dans le forum Access
    Réponses: 7
    Dernier message: 10/04/2006, 17h04
  4. Problème: condition sur formulaire dans requête
    Par decour dans le forum Access
    Réponses: 1
    Dernier message: 17/10/2005, 23h27
  5. Problème d'alter table dans une procédure stockée
    Par Oluha dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 16/03/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