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 :

ACCESS 2003 : Pb sur requête


Sujet :

Requêtes et SQL.

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 190
    Points : 72
    Points
    72
    Par défaut ACCESS 2003 : Pb sur requête
    Bonjour,

    Voilà, j'ai une requête avec 3 tables SALARIES, CONTRATS, VISITES MEDICALES.
    les tables CONTRATS et VISITES MEDICALES sont liées à la table SALARIES par le N° de salarié.
    Pour chaque salarié il y a un ou +sieurs contrats, et il y a une ou +sieurs visites médicales.
    je voudrais obtenir la liste des salariés présent dans la société (ça c'est facile), avec leur dernière visite médicale (ça, ça l'est moins!).
    Tout ce que je réussi à faire, c'est la liste des salariés avec toutes leurs visites médicales.

    Avez vous une idée ?

  2. #2
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 612
    Points
    58 612
    Billets dans le blog
    11
    Par défaut
    Salut,

    Pour ma part, je ferai deux requêtes une première qui interroge la table des visites médicales avec la dernière visite (max sur le champ date), et une seconde reprenant la première (idem que celle que tu faisais mais avec en plus la requête 1).

    @+.
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 190
    Points : 72
    Points
    72
    Par défaut
    quand je fais ma 2ème requête j'ai 1 erreur:

    Vous avez essayé d'exécuter une requête ne comprenant pas l'expression spécifiée <nom> comme une partie de la fonction d'agrégat. (Erreur 3122)
    Vous avez essayé d'exécuter une requête ne comprenant pas l'expression spécifiée comme une partie de lafonction d'agrégat ou du groupement.

    Cause possible :

    Vous n'avez pas saisi de fonction d'agrégat dans l'instruction TRANSFORM.
    comment je fais ?

  4. #4
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 612
    Points
    58 612
    Billets dans le blog
    11
    Par défaut
    Salut,

    Peux-tu mettre des requêtes pour que je vois ce qui te bloque.
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 190
    Points : 72
    Points
    72
    Par défaut
    ça donne ça en mode sql :

    SELECT Max([Date de visite]) AS Expr1, [T_visites medicales].[N° Visite], [T_visites medicales].[Num Salarié]
    FROM [T_visites medicales];
    en fait je ne peux pas ajouter de champ avec la fonction max()

  6. #6
    Membre expérimenté
    Avatar de Mahefasoa
    Homme Profil pro
    Manager IT
    Inscrit en
    Octobre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Manager IT

    Informations forums :
    Inscription : Octobre 2003
    Messages : 835
    Points : 1 664
    Points
    1 664
    Par défaut
    Salut,
    La fonction MAX s'utilise avec les regroupements (GROUP BY). Regroupe alors ta requête.
    La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici nous avons réuni théorie et pratique: Rien ne fonctionne ... et personne ne sait pourquoi!
    Albert Einstein

  7. #7
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 612
    Points
    58 612
    Billets dans le blog
    11
    Par défaut
    Essaie avec le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Max([Date de visite]) AS Expr1, [T_visites medicales].[N° Visite], [T_visites medicales].[Num Salarié]
    FROM [T_visites medicales]
    GROUP BY [T_visites medicales].[N° Visite], [T_visites medicales].[Num Salarié];
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 190
    Points : 72
    Points
    72
    Par défaut
    Impeccable ça marche

    merci à vous deux

  9. #9
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2015
    Messages : 14
    Points : 20
    Points
    20
    Par défaut
    Bonjour,
    J'ai le même problème et je découvre qu'il est impossible d'effectuer un calcul sur agrégat en renseignant des colonnes qui ne font pas partie des variables de regroupement ? C'est vraiment incomplet, normalement SQL le permet... Qque chose m'échappe ???

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

Discussions similaires

  1. Graphique Access 2003 avec des Requêtes
    Par cams170986 dans le forum Access
    Réponses: 2
    Dernier message: 22/11/2006, 17h54
  2. [Access 2003] Tri sur champ vide
    Par arnaud_verlaine dans le forum Langage SQL
    Réponses: 4
    Dernier message: 21/11/2006, 12h07
  3. ACCESS 2003 : TRI sur le mois
    Par Eric26 dans le forum Access
    Réponses: 3
    Dernier message: 10/06/2006, 21h17
  4. [Access 2003]Problème de requête?
    Par steeves5 dans le forum Access
    Réponses: 4
    Dernier message: 22/05/2006, 13h42
  5. [Access 2003] Insertion de requête
    Par lolo_bob2 dans le forum Access
    Réponses: 1
    Dernier message: 12/05/2006, 18h48

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