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

ASP Discussion :

Compter sur 2 tables


Sujet :

ASP

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 10
    Points : 5
    Points
    5
    Par défaut Compter sur 2 tables
    Bonsoir à tous et avant tout, bonne année (il est encore temps)

    Je pense que vous devriez pouvoir m'aider concernant un petit soucis que je rencontre.

    J'ai donc un site en ASP et un base Access le tout sur IIS.
    J'ai deux tables, la première est une liste de localisations (bureaux), la seconde est une liste d'utilisateurs:

    Table_bureaux
    -ID_bureau
    -Ville
    -Pays
    - ... etc

    Table_Utilisateurs
    -ID_Utilisateur
    -Bureau
    - ...etc

    Il y à donc une donnée commune dans chaque table, à savoir le bureau car chaque utilisateur est lié à un bureau.

    Ce que je souhaite faire avec ASP c'est un extract excel de toutes les données et afficher un tableau (jusque là tout va bien) .... qui compte le nb d'utilisateurs par bureau, et c'est sur ce dernier point que je bloque... mon tableau devrait m'afficher le nb d'utilisateurs pour chaque bureau.

    D'apres mes recherches sur le net et sur Developpez.com, il faudrait que j'utilise une jointure mais j'avoue que je ne m'y connais pas assez et malgres mes tentatives, je n'ai que des erreurs.

    Pourriez vous m'indiquez la marche à suivre ?
    Merci davance.

    Cyrille

  2. #2
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Salut,

    Bienvenu sur le forum et bonne année.
    Tu travailles sur Access c'est bien pour commencer.

    Ceci dit tu devrais peut-être visiter le forum Access. Tu devrais trouver tout ce qui te faut pour faire des requetes.

    Il faut différencier la base de données (Access, SQL, etc) du programme qui va te permettre de consulter tes données (IIS + ASP dans ton cas).
    Créé tes requetes dans Access puis interroge les avec ASP.

    A+

  3. #3
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Bonjour Immobilis et merci pour ton accueil.

    Je vais aller visiter le forum access, tu as raison, si j'arrive à faire ma requete sous Access ce sera déjà un bon point, bien que je tourne en rond depuis hier je ne désespère pas

    Je repasserai dans la journée si je ne m'en sort pas.

    Encore merci et bonne journée

  4. #4
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Bonsoir,

    Bon je tourne en rond.
    J'ai regardé les examples et divers topics sur le forum access mais je n'arrive pas à faire fonctionner quoique ce soit.

    En fait je suis rendu compte que je n'avais pas besoin de mes deux tables, la table utilisateurs contient déjà toutes les informations nécessaires à savoir la liste des utilisateurs et le bureau auquel ils sont rattachés, il faut donc faire un GROUP BY bureau ?

    Désolé, autant je sais afficher les données d'une base, les classer .... , autant dès qu'il sagit d'opérations plus complexes je patauge

    Un petit coup de pouce serait bienvenue.
    Merci

  5. #5
    Membre émérite Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Points : 2 953
    Points
    2 953
    Par défaut
    Désolé d'enfoncer le clou mais ça reste une question concernant le langage SQL. Il faut donc faire des recherches, poser la question dans le forum adéquat.

    Le forum est avant tout une base de connaissance, si tu poses ta question au bon endroit et qu'on t'y répond, les recherches ultérieures n'en seront que plus efficaces.

  6. #6
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    OK je vais continuer mes recherches dans le/les forum(s) adéquat.

    Bonne journée et merci quand même pour votre temps.

  7. #7
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Bonsoir tout le monde,

    Je ressort mon topic de sa tombe en espérant un petit conseil.

    J'ai fait le tour de mal de topics et voila ce que j'ai ressorti:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <%	sqlstations="SELECT COUNT (*) AS nb FROM Users U, Stations S WHERE U.Station = S.Station"
    	set rs = conn.execute(sqlstations)
    	if not rs.EOF then
    	response.write rs("nb" )
    	end if
    %>
    Cependant le résultat me retourne le nombre total d'utilisateurs et non celui par bureau (station).
    Quelqu'un aurait un conseil à me donner ?
    Merci d'avance

  8. #8
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Salut,

    Il faut utiliser les groupement et les sommes ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Sum(Users.id_user) AS SumOfid_user, Bureau.Nom_Bureau
    FROM Bureau INNER JOIN Users ON Bureau.id_bureau = Users.id_bureau
    GROUP BY Bureau.Nom_Bureau;
    Par contre, tant que c'est encore possible, je te suggère d'utiliser toujours le même nom pour les identifiant référents (bueaux.id_bureau <=> users.bureau). Cela permet de savoir à quoi correspond l'info.
    De plus, Access reconnait les identifiants automatiquement et les relie dans le générateur de requetes.

    A+

  9. #9
    Membre expérimenté
    Avatar de kaiser59
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 264
    Points : 1 350
    Points
    1 350
    Par défaut
    Salut,

    Citation Envoyé par Elyric Voir le message
    En fait je suis rendu compte que je n'avais pas besoin de mes deux tables, la table utilisateurs contient déjà toutes les informations nécessaires ...
    Quelque chose me trouble tu dis que tu as tout sur une table est pourtant tu essaies de joindre deux tables j'ai un peu de mal à comprendre la.

    Ta réponse serait ceci :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Select Count(Distinct(Bureau))
    From USERS

    nan ??

  10. #10
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Bonsoir Immobilis & Kaiser59,

    Kaiser, en fait j'ai essayé des 2 façons, désolé si je n'ai été clair dans mes explication.
    J'ai réussi à faire ma requete sous Access comme tu me l'a suggéré Immobilis, la voici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT stations.Station, Count(Users.NT_EADS) AS CompteDeNT_EADS
    FROM Users INNER JOIN stations ON Users.STATION = stations.Station
    GROUP BY stations.Station;
    Elle fonctionne parfaitement (ok je sais je suis pas clair avec les noms de mes tables et des champs, j'arrangerai tout ça c'est promis).

    Par contre je n'arrives pas à obtenir le même résultat avec ASP, mon tableau de m'affiche des "4" à chaque ligne. 4 étant le résultat de la première ligne...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <%	sqlstations="SELECT stations.ID_Station, Count(Users.NT_EADS) AS CompteDeNT_EADS FROM Users INNER JOIN stations ON Users.STATION = stations.ID_Station GROUP BY stations.ID_Station"
    	set nbrs = conn.execute(sqlstations)
    	response.write nbrs("CompteDeNT_EADS")
    %>


    En tous cas, Merci ! je progresse, a mon rythme certes mais ... je progresse

  11. #11
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Salut,

    Eventuellement, il faudrait que tu te procures un bouquin sur l'ASP. Je m'en suis acheté un au début.
    Pour répondre à ta question, il faut que tu parcours la liste des enregistrements que tu récupères. Tu peux le faire en faisant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    sqlstations="SELECT stations.ID_Station, Count(Users.NT_EADS) AS CompteDeNT_EADS FROM Users INNER JOIN stations ON Users.STATION = stations.ID_Station GROUP BY stations.ID_Station"
    set nbrs = conn.execute(sqlstations)
    if not nbrs.EOF then
        do while not nbrs.EOF
             response.write nbrs("CompteDeNT_EADS") & "<br />"
             nbrs.movenext
        loop
    end if
    Tu peux jeter un oeil ici:
    http://www.w3schools.com/ado/ado_ref_recordset.asp
    http://www.devguru.com/technologies/ado/8642.asp

    A+

  12. #12
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Bonjour Immobilis,

    Effectivement un livre serait nécessaire, mais dans l'immédiat j'aimerai en finir avec ça !
    Merci pour le code en fait c'est ce que j'ai réussi à faire apres avoir posté mon dernier message et ça marche très bien.
    Le hic c'est que je parcours déjà une liste d'enregistrements et je me retrouve donc avec tout le comptage des utilisateurs affiché pour chaque bureau ... mais c'est pas grave je vais partir sur cette nouvelle base

    Merci à tous pour vos conseils, bonne journée et à bientot

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

Discussions similaires

  1. [MySQL-5.1] Compter sur une table à partir d’une autre
    Par ArcTan dans le forum Requêtes
    Réponses: 19
    Dernier message: 15/05/2013, 10h43
  2. [MySQL] Compter sur 2 tables non liées
    Par spawns dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 19/03/2013, 17h51
  3. Compter sur 2 tables différentes.
    Par stevenP dans le forum Requêtes
    Réponses: 2
    Dernier message: 02/04/2012, 16h30
  4. [MySQL] Requête pour compter sur 3 tables
    Par nicodespiennes dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 18/10/2011, 18h59
  5. [MySQL] [MySQL] Compter sur deux tables
    Par athome dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 25/06/2010, 13h59

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