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 :

Affichage personnalisé dans une requête SQL


Sujet :

Bases de données Delphi

  1. #1
    Membre régulier
    Homme Profil pro
    agent de fisc(les impots)
    Inscrit en
    Juillet 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : agent de fisc(les impots)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 427
    Points : 111
    Points
    111
    Par défaut Affichage personnalisé dans une requête SQL
    salut a tout
    interbase,delphi7,quickrep
    agent(num,nom,prenom,poste_sup)
    poste_sup est le poste supérieure de l'agent
    est ce qu'il est possible avec une requette sql afficher la liste des agent s'achant que leur poste_sup contient un mot donnee
    ont a chef service comptabilité
    chef service personnel
    etc..
    ont aussi
    chef de brigade
    etc..
    alors si je r'entre chef service il m'affiche tout les chef service
    merci d'avance

  2. #2
    Membre à l'essai
    Homme Profil pro
    Développeur delphi junior
    Inscrit en
    Février 2012
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Développeur delphi junior
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 39
    Points : 22
    Points
    22
    Par défaut
    Si je comprend bien tu veux afficher une liste des agents (num, nom, prénom) pour un poste_sup que tu connais ?

    le renseigne tu dans un champs ?

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    566
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2009
    Messages : 566
    Points : 1 045
    Points
    1 045
    Par défaut
    Bonjour,

    Il serait plus facile de répondre si tu nous donnes la requête que tu as faite.

    De plus, je n'ai pas compris clairement ce que devait contenir la colonne Post_Sup.

    Je pense d'ailleurs que ta table n'est pas normalisée et qu'il faudrait certainement exporter la colonne Post_Sup dans une autre table.

    Nous aurions
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Cadre(idCadre, Post_Sup)
    Agent(idAgent, #IdCadre, nom, prenom)
    Clé primaire = souligné, clé étrangère = # + italique

    Tu éviteras des redondances et répétitions avec des orthographes différentes.

    Pour lister des agents, il conviendra d'établir une requête avec jointure.

    Tout ceci sous réserve d'avoir compris ta demande

    A+

  4. #4
    Membre régulier
    Homme Profil pro
    agent de fisc(les impots)
    Inscrit en
    Juillet 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : agent de fisc(les impots)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 427
    Points : 111
    Points
    111
    Par défaut
    merci pour vos reponce peut etre que jais mal expliquer mon probleme
    ce que je veux ces afficher toute les agent qui ont dans leur champ poste_sup le mot chef service biensur avec une requette sql , ces un truc comme la fonction pos.
    merci d'avance

  5. #5
    Membre éprouvé Avatar de BuzzLeclaire
    Homme Profil pro
    Dev/For/Vte/Ass
    Inscrit en
    Août 2008
    Messages
    1 606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dev/For/Vte/Ass

    Informations forums :
    Inscription : Août 2008
    Messages : 1 606
    Points : 1 113
    Points
    1 113
    Par défaut
    Citation Envoyé par kroma23 Voir le message
    merci pour vos reponce peut etre que jais mal expliquer mon probleme
    ce que je veux ces afficher toute les agent qui ont dans leur champ poste_sup le mot chef service biensur avec une requette sql , ces un truc comme la fonction pos.
    merci d'avance
    C'est assez simple de faire cette requête, mais tu n'as pas compris ce que @seabs à écrit.

    Si l'utilisateur pour ton champ Post_sup il a écrit :

    chef service
    chef services
    chefs services
    chef de service
    chef de services
    chefs de service
    chefs de services

    Tu va faire comment pour trouver tous les chefs de service ?

    Le mieux est d'avoir 2 tables comme te la suggéré @seabs.

    Montre nous ta requête déjà et ensuite on t'aidera à la faire fonctionner.

  6. #6
    Membre régulier
    Homme Profil pro
    agent de fisc(les impots)
    Inscrit en
    Juillet 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : agent de fisc(les impots)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 427
    Points : 111
    Points
    111
    Par défaut
    merci pour ta reponce BuzzLeclaire
    jais une seul table agent(num_agent,nom,prenom,poste_sup)
    le champs poste_sup peut contenir
    chef service comptabilité
    chef service personel
    et le champs poste_sup peut contenir aussi
    chef de brigade1
    chef de brigade2
    et ainsi de suite
    ce que je veux ces afficher toute les agents qui leur poste_sup contenir le mot chef service alors il m'affiche les chef service compatbilte et les chef service personnel mais il m'affiche pas les chef de brigarde1 et ainsi de suite.
    jais pas une requette car je ne ces pas comment faire ca mais jais un exemple avec une boucle.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    with ibquery1 do
    begin
    close;
    sql.clear;
    sql.add('select * from agent');
    open;
    end;
     
    ibquery1.first;
    while not ibquery1.eof do
    begin
    if pos(ibquery1.fieldvalues['poste_sup'],chef service)=true then
    enregister cette enregistrement dans une autre table 
     
    ibquery1.next;
    end;
     
    afficher cette table



    merci d'avance.

  7. #7
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 029
    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 029
    Points : 40 928
    Points
    40 928
    Billets dans le blog
    62
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM  AGENT WHERE POSTE_SUP STARTING WITH 'chef service'
    1 - votre analyse de base de données est à revoir selon les conseils de seabs
    2- il faudrait quand même un peu se renseigner sur le SQL
    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

  8. #8
    Membre régulier
    Homme Profil pro
    agent de fisc(les impots)
    Inscrit en
    Juillet 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : agent de fisc(les impots)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 427
    Points : 111
    Points
    111
    Par défaut
    merci bien sergio ces ca ce que je veux elle marche tres bien , svp jais une autre question:
    si je veux utiliser un parametre dans cette requette jais essai comme ca mais ca ne marche pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    with ibquery1 do
    begin
    close;
    sql.clear;
    sql.add('SELECT * FROM  agent WHERE POSTE_SUP STARTING WITH '':poste''');
    parambyname('poste').asstring:=edit1.text;
    open;
    end;
    merci d'avance .

  9. #9
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sql.add('SELECT * FROM  agent WHERE POSTE_SUP STARTING WITH :poste');
    Les apostrophes me semblent superflus.

    @+ Claudius

  10. #10
    Membre à l'essai
    Homme Profil pro
    Développeur delphi junior
    Inscrit en
    Février 2012
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Développeur delphi junior
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 39
    Points : 22
    Points
    22
    Par défaut
    posté par Cl@udius
    Salut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sql.add('SELECT * FROM  agent WHERE POSTE_SUP STARTING WITH :poste');
    Les apostrophes me semblent superflus.
    Effectivement Cl@udius tu a raison. Si le paramètre est configuré en string les apostrophes sont superflus.

    Dans la propriété params de delphi tu paramètre ton :poste comme suit :
    DataType : ftString
    Name tu touche pas c'est le nom après le ' : '
    ParamType : ptInput

    Comme ça cela devrai fonctionner

    Un pitit exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT VENTE.COM_CODE AS cle, COMMERCIAUX.COM_NOM, COMMERCIAUX.COM_PRENOM, VEN_DATE, CLI_CODE, VEN_PRIX
    FROM COMMERCIAUX LEFT JOIN VENTE ON COMMERCIAUX.COM_CODE = VENTE.COM_CODE
    WHERE (COMMERCIAUX.COM_CODE BETWEEN :comdebut AND :comfin)
    AND (VEN_DATE BETWEEN :min AND :max)
    GROUP BY VENTE.COM_CODE, COM_NOM, COM_PRENOM, VEN_DATE, CLI_CODE, VEN_PRIX
    mes :comdebut et :comfin sont déclaré en ftString et comme tu peux le voir pas besoin des apostrophes
    mes :min et :max sont déclaré en ftDateTime
    tous les 4 en ptInput
    EDIT : pour assigner le param tu fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FormEditionComm.Query1.ParamByName('min').AsString:= FormEditionComm.EditBtnChoixEnreg1.Text;
    j'espère que ton problème est résolu

Discussions similaires

  1. [MySQL] Erreur dans une requête sql
    Par Goundy dans le forum PHP & Base de données
    Réponses: 37
    Dernier message: 30/01/2006, 16h08
  2. [SQL] Récupérer des variables de formulaire dans une requête SQL
    Par psychoBob dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 22/11/2005, 18h44
  3. Plusieurs jointures dans une requête sql
    Par Pero dans le forum Langage SQL
    Réponses: 3
    Dernier message: 21/09/2005, 20h59
  4. Nom de champ variable dans une requête SQL
    Par stip dans le forum ASP
    Réponses: 2
    Dernier message: 30/09/2004, 18h02
  5. Utilisation de MAX dans une requête SQL
    Par Evil onE dans le forum Langage SQL
    Réponses: 7
    Dernier message: 15/06/2004, 18h38

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