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

Langage SQL Discussion :

Requêtes SQL pour access


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 104
    Points : 50
    Points
    50
    Par défaut Requêtes SQL pour access
    Bonjour à tous, je n'arrive pas à trouver certaines requêtes SQL pour Access.

    Dans ma table 'action', il y a 4 colonnes:
    - 'id_action' qui est un chiffre
    - 'temps_passé' dont les données sont rentrées sous forme "hh:mm"
    - 'id_agent' qui est un chiffre et sert à dire qui a fait l'action
    - 'type' qui est une chaîne de caractères parmi une dizaine de possibilité dont "sécuriser"
    Je voudrais savoir comment faire 2 requêtes:
    - la première doit me donner le total de temps passé par tous les agents à effectuer des actions "sécuriser". Le résultat doit être la sous la forme ""hh:mm". Cette requête me bloque car le format de temps ne permet pas de faire des additions.
    - La seconde doit me donner le nombre d'agents qui ont effectué des actions "sécuriser" parmi les 15 agents de la liste. Cette requête me bloque car on ne peut pas effectuer de requêtes COUNT DISTINCT. Les sous requêtes que j'ai essayées ne m'ont pas données le résultat attendu, la syntaxe ne devait pas être bonne.
    Si quelqu'un peut m'aider… Merci d'avance...

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 209
    Points : 125
    Points
    125
    Par défaut
    Bonjour,

    Postes nous tes requêtes ici pour qu'on puisse vérifier où se trouvent les erreurs (si il y en a ...).

    Thks

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 104
    Points : 50
    Points
    50
    Par défaut Les requêtes
    Voici la première requête:
    SELECT SUM(action.Temps_passé) as Resultat
    FROM action WHERE Distinct action.type='securiser');
    mais la somme ne peut pas se faire avec un format hh:mm.

    Voici pour la seconde requête:
    SELECT COUNT(Distinct action.id_agent) as Resultat
    FROM action
    WHERE Action.type='Sécuriser';

    Puisque le COUNT n'a pas l'air de pouvoir se faire avec un DISTINCT j'ai essayé une

    sous-requête:
    SELECT COUNT (Distinct action.id_agent) as Rescultat
    FROM action
    WHERE action.id_agent = (SELECT DISTINCT action.id_agent
    FROM action
    WHERE Distinct action.type='Sécuriser';);

    Voila tout!

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 209
    Points : 125
    Points
    125
    Par défaut
    Pour la première requête il faut définir la propriété Date/heure du champs "Résultat" (celui qui sortira). Mais je ne sais pas faire désolé.

    Pour la seconde requête, au lieu de faire Distinct vu que cela ne fonctionne pas essaye de jouer avec les group by et les order by

  5. #5
    Expert éminent

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Points : 9 197
    Points
    9 197
    Par défaut Re: Les requêtes
    Avant tout, tu pourrais poser ta question sur le forum Access, tu aurais certainement plus de réponses, puisque c'est sur ce forum que sont les personnes spécialisées sur Access ...

    Ensuite
    Citation Envoyé par cciocc
    Voici la première requête:
    SELECT SUM(action.Temps_passé) as Resultat
    FROM action WHERE Distinct action.type='securiser');
    mais la somme ne peut pas se faire avec un format hh:mm.
    Quel rapport avec un format ?
    Un format est un affichage ! pas un type de données.
    Alors, ma question c'est : quel est le type de données de ta colonne ?
    Citation Envoyé par cciocc
    SELECT COUNT (Distinct action.id_agent) as Rescultat
    FROM action
    WHERE action.id_agent = (SELECT DISTINCT action.id_agent
    FROM action
    WHERE Distinct action.type='Sécuriser';
    Essaie de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT COUNT (id_agent) as Resultat 
    FROM action
    WHERE id_agent in(SELECT DISTINCT id_agent 
    			FROM action 
    			WHERE Distinct action.type='Sécuriser';);
    Mais mais je ne vois pas l'intérêt réel de cette requête (qui maintenant doit fonctionner bien mieux...)
    Tu es s^^ur qu'il ne te manque pas un GROUP BY quelque part ?

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 104
    Points : 50
    Points
    50
    Par défaut
    La requête que tu m'as proposé pour la requête concernant les agents ne marche pas (surement a cause des 2 distincts). Voici l'interet de ma requête:
    il y a 20 agents différents différents dans ma table, je voudrais savoir combien d'agents différents font des actions sécuriser.

    Pour ce qui est des données de l'autre de la colonne Temps_passé, elles sont de type numériques mais la somme ne peut s'appliquer car il y a les ':' dûs au format de l'heure.

    Merci pour tes réponses.

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

Discussions similaires

  1. Aide pour requête SQL sous Access
    Par la bulle dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 05/05/2009, 08h16
  2. Problème avec une requête SQL, pour access
    Par a.bott dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 23/09/2008, 17h08
  3. Sous-requêtes SQL pour ACCESS
    Par bastoon dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 28/08/2006, 21h41
  4. Requête SQL pour afficher un tri
    Par arnaud_verlaine dans le forum Langage SQL
    Réponses: 4
    Dernier message: 16/11/2005, 15h27
  5. problème de requète SQL pour formulaire
    Par en_stage dans le forum Requêtes et SQL.
    Réponses: 15
    Dernier message: 21/06/2005, 12h21

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