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

SQL Oracle Discussion :

RowNum SQL et Delphi


Sujet :

SQL Oracle

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    533
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 533
    Par défaut RowNum SQL et Delphi
    Bonjour à tous,

    Voilà je bosse sous Delphi 7 j'ai un tableau (voir pièces jointes) et j'aimerai faire une différence de couleurs. A chaque commande différente je met change de couleurs.

    Sur mon exemple en pièce jointe cela ferait :
    1° ligne en blanc
    3 lignes suivantes en gris

    Voici ma requête me permettant d'afficher mon tableau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        SQL.Add('SELECT colxcol, cdexent,CAST(0 AS SMALLINT) AS REGROUPER, NUMXCOL FROM ENTXRES E JOIN COLXRES C ON NUMXENT=NUMXCOL');
        SQL.Add('WHERE CODXENT =:cod ');
        SQL.Add('and TOUXENT =:tou ');
        SQL.Add('and MARXENT =:mar ');
        SQL.Add('and FLAXCOL ='+QuotedStr('7') );
        SQL.Add('and (REFXCOL is not null) group by CDEXENT, COLXCOL, NUMXENT, NUMXCOL');
    Sergio Master m'a aidé dans cette discussion

    A utiliser ma requête pour gérer une colonne couleur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
        SQL.Add('WITH C1 AS (select CDEXENT,NUMXENT from ENTXRES GROUP BY CDEXENT,NUMXENT)');
        SQL.Add(', C2 AS (SELECT CDEXENT,NUMXENT,ROWNUM AS RN FROM C1)');
        SQL.Add('select COLXCOL, E.CDEXENT,CAST(0 AS SMALLINT) AS REGROUPER ,MAX(c2.RN) AS COLCOULEUR, NUMXCOL');
        SQL.Add('from ENTXRES E JOIN COLXRES C ON E.NUMXENT=C.NUMXCOL JOIN C2 ON C2.CDEXENT=E.CDEXENT AND C2.NUMXENT=E.NUMXENT');
        SQL.Add('JOIN C2 ON C2.NUMXENT=C1.NUMXENT');
        SQL.Add('where CODXENT =:cod ');
        SQL.Add('and TOUXENT =:tou ');
        SQL.Add('and MARXENT =:mar ');
        SQL.Add('and refxcol is not null');
        SQL.Add('and FLAXCOL ='+QuotedStr('7') );  // <-plus joli pour pas se planter avec les ''
        SQL.Add('group by E.CDEXENT, C.COLXCOL, E.NUMXENT, NUMXCOL');
        SQL.Add('order by E.CDEXENT, C.COLXCOL');

    POur qu'en fonction de cette colonne couleur je modifie les couleurs de mes lignes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if Odd(dbgrid_select.DataSource.DataSet.FieldByName('COLCOULEUR').asinteger)  then
          dbgrid_select.Canvas.Brush.Color:=clRed
        else
          dbgrid_select.Canvas.Brush.Color:=clWindow;
        x_cmd := dbgrid_select.DataSource.DataSet.FieldByName('CDEXENT').AsString;
    Cependant cela ne fonctionne pour le moment pas. Mais nous ne sommes pas sûr de l'utilisation de RowNum sous Oracle...

    Avez vous des idées pour ma requête ?
    Images attachées Images attachées  

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

Discussions similaires

  1. function extract du sql et delphi
    Par guy kadima dans le forum Bases de données
    Réponses: 3
    Dernier message: 06/06/2005, 10h08
  2. SQL avec Delphi 4
    Par jackrabbit dans le forum Bases de données
    Réponses: 1
    Dernier message: 12/10/2004, 11h05
  3. sql avec delphi
    Par k_boy dans le forum Bases de données
    Réponses: 6
    Dernier message: 27/07/2004, 22h39
  4. Pbl sql et delphi
    Par rippoz dans le forum Bases de données
    Réponses: 5
    Dernier message: 29/04/2004, 17h02
  5. probleme sql avec delphi
    Par lil_jam63 dans le forum Bases de données
    Réponses: 7
    Dernier message: 25/02/2004, 04h32

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