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

Bases de données Delphi Discussion :

Aide sur une Query


Sujet :

Bases de données Delphi

  1. #1
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2008
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 666
    Points : 643
    Points
    643
    Par défaut Aide sur une Query
    Bonjour,


    J'ai 2 Tables :
    1- Table Boite (Table maitre)
    2- Table Dossiers (table détail)

    Le champ qui fait le lien c'est "CODE_BOITE"

    La Table "Dossiers" a pour champs : "CODE_BOITE" , NOM_Dossier"

    Ce que je souhaite avoir c'est :
    le "CODE_BOITE" + le nombre de dossiers (de chaque "CODE_BOITE") et les noms de dossiers relatifs au champ "CODE_BOITE".

    Exemple:

    CODE_BOITE : 5
    nombre de dossiers : 8
    Nom des dossiers :
    - Dossier 1
    - Dossier 2
    - Dossier 3
    - Dossier 4
    - ...
    - ...

    Voici ce que j'ai écrit en SQL:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Select DOSSIERS."CODE_BOITE"  ,COUNT( DOSSIERS."CODE_BOITE") AS Nombre_Dossiers
    From BOITE  ,  DOSSIERS
     
    Where  BOITE."CODE_BOITE"=DOSSIERS."CODE_BOITE"
     
    Group By "CODE_BOITE"

    ça affiche le "CODE_BOITE_ARCHIVE" + le nombre mais pas le nom de dossier(bien sûr, il n'est saisi dans le sql)

    J'ai pas trouvé cette formule qui fait cela.

    Merci d'avance pour votre aide.


    Delphi XE5 + Firebird 2.5.

  2. #2
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 385
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 385
    Points : 2 999
    Points
    2 999
    Par défaut
    un truc du genre ??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Select 
      DOSSIERS."CODE_BOITE",
      DOSSIERS."NOM_BOITE",
      COUNT(DOSSIERS."CODE_BOITE") AS Nombre_Dossiers
    From BOITE INNER JOIN DOSSIERS 
      ON BOITE."CODE_BOITE"=DOSSIERS."CODE_BOITE"
    Group By "CODE_BOITE", DOSSIERS."NOM_BOITE"

  3. #3
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2008
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 666
    Points : 643
    Points
    643
    Par défaut
    Merci papy pour ton aide.

    Voilà ce que j'ao obtenu avec ton SQL:
    Nom : 2016-12-30_121417.jpg
Affichages : 103
Taille : 17,4 Ko


    En fait, voilà ce que je veux obtenir à l'impression

    Nom : impression.jpg
Affichages : 108
Taille : 11,8 Ko

    Merci

  4. #4
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 385
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 385
    Points : 2 999
    Points
    2 999
    Par défaut
    et une impression avec quoi ?? manuelle ? FastReport ? autre ?

    Manuellement, il faut gérer les données toi-même. Difficile de t'aider beaucoup.

    Avec FastReport, il faudrait 2 dataset avec un lien maître-détails et des bandes liées.

  5. #5
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2008
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 666
    Points : 643
    Points
    643
    Par défaut
    Avec ReportBuilder (générateur comme FastReport)

  6. #6
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 385
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 385
    Points : 2 999
    Points
    2 999
    Par défaut
    Je connais de nom mais jamais utilisé.

    Je ne vais pas pouvoir aider beaucoup plus. Désolé !

  7. #7
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 036
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 036
    Points : 40 942
    Points
    40 942
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    avec une CTE la requête aura la forme suivante

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    WITH C AS (SELECT CODE_BOITE,COUNT(1) AS N FROM DOSSIERS GROUP BY CODE_BOITE)
     
    SELECT D.CODE_BOITE,D.NOM_DOSSIER,C.N FROM DOSSIERS D JOIN C ON D.CODE_BOITE=C.CODE_BOITE
    pour l'edition il suffit de faire un Entete de groupe sur CODE_BOITE
    dans l'entete de groupe on aura les données Code Boite et N
    dans le détail NOM_DOSSIER
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

Discussions similaires

  1. Aide sur une requête
    Par TshAw dans le forum Langage SQL
    Réponses: 4
    Dernier message: 28/02/2005, 11h42
  2. Aide sur une requête (Group By...??)
    Par Cocolapin dans le forum Langage SQL
    Réponses: 4
    Dernier message: 12/12/2004, 10h26
  3. aide sur une image
    Par laetus dans le forum IHM
    Réponses: 5
    Dernier message: 04/10/2004, 14h54
  4. Aide sur une requete de sélection
    Par stephdiplo150 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 16/01/2004, 10h40
  5. Aide sur une fenetre
    Par Ray-j dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 29/11/2002, 08h51

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