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

C++Builder Discussion :

Boucle For dans un TDBGrid


Sujet :

C++Builder

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre r�gulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    11
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 11
    Par d�faut Boucle For dans un TDBGrid
    Voila j'ai un base de donn�es Paradox 7 et dans cette table j'ai comme colonnes :
    - Date
    - Heure
    - TypeEntre
    - TypeBillet
    - Quantit�
    - Total

    et je doit faire une fonction qui doit me permettre de faire un r�capitulatif des ventes de la journ�e:
    Savoir le type d'entr�e, le type de billet vendu dans la journ� en faire le total et avoir un total g�n�ral.
    Donc pour l'instant j'ai commencer a faire une recherche de la date mais le probl�me c'est qu'apres si j'ai bien compris je doit faire plusieurs boucle for pour avoir le total des Type d'entr�e et de type de billet mais comment faire une boucle for si on ne sait pas combien on aura de case a parcourire ????
    Je me trompe totalement ou je suis sur la bonne voie ?
    [/code]

  2. #2
    Membre �prouv�
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifi�)
    Inscrit en
    D�cembre 2004
    Messages
    2 059
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activit� : OPNI (Objet Programmant Non Identifi�)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : D�cembre 2004
    Messages : 2 059
    Par d�faut
    Salut,
    Mais tu ne peut pas faire un requete avec un TQuery plutot ?

    @ +

  3. #3
    Membre r�gulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    11
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 11
    Par d�faut
    J'ai placer mon TQuery je l'ai configurer mais comment faire car dans ce cas la il faut alors afficher le contenu de la s�lection du TQuery?
    car de ce que j'ai comprit tu me demande de mettre des TQuery pour faire mes filtrations de ce que je souhaite avoir comme info mais alors dans ce cas la il me faut les affichers pour ensuite faire mon total des diff�rentes parties

  4. #4
    say
    say est d�connect�
    Membre Expert
    Avatar de say
    Profil pro
    Inscrit en
    Ao�t 2002
    Messages
    1 176
    D�tails du profil
    Informations personnelles :
    �ge : 47
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2002
    Messages : 1 176
    Par d�faut
    � mon avis, l'affichage et ton calcul sont ind�pendant. Comme le dit cantrelle, il est probable que tu puisses faire ces calculs avec une requ�te donc dans un TQuery.


    Sinon, en ce qui concerne ton id�e de parcourir le DBGrid, il est tr�s simple d'avoir les bornes de ta boucle avec les propri�tes FieldCount et RecordCount du dataset de ton DBGrid.

    mais je pense en effet que c'est pas la bonne voie.

    tch'o

  5. #5
    Membre r�gulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    11
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 11
    Par d�faut
    Oui mais comment afficher mon TQuery ?

  6. #6
    Membre Expert
    Avatar de bakaneko
    Profil pro
    Inscrit en
    F�vrier 2004
    Messages
    1 268
    D�tails du profil
    Informations personnelles :
    �ge : 45
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2004
    Messages : 1 268
    Par d�faut
    Citation Envoy� par Latipolia
    Oui mais comment afficher mon TQuery ?
    Tu lies ton TQuery � un TDBGrid via un TDataSource.
    Regardes l'aide pour savoir dans quel sens �a fonctionne.

  7. #7
    say
    say est d�connect�
    Membre Expert
    Avatar de say
    Profil pro
    Inscrit en
    Ao�t 2002
    Messages
    1 176
    D�tails du profil
    Informations personnelles :
    �ge : 47
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2002
    Messages : 1 176
    Par d�faut
    hum..en m�me tps, ton TQuery, il doit pas y avoir plusieurs ligens de retourner...donc tu dois pouvoir r�cuperer les values facilement pour les placer dans des Edit

  8. #8
    Membre �prouv�
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifi�)
    Inscrit en
    D�cembre 2004
    Messages
    2 059
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activit� : OPNI (Objet Programmant Non Identifi�)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : D�cembre 2004
    Messages : 2 059
    Par d�faut
    Salut,
    Je ne sais pas vraimment comment est ta table, comment sont organis�e les donn�es mais tu peut peut etre essayer :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
    Query->Close();
    Query->SQL->Clear();
    Query->SQL->Add("SELECT DISTINCT T1.TypeEntre AS Type d'entrée, T1.TypeBillet AS Type de billet, COUNT(T1.TypeBillet) AS Decompte Billets, SUM(T1.Quantité)");
    Query->SQL->Add("FROM 'TaTable.db' T1");
    Query->SQL->Add("GROUP BY T1.TypeEntre, T1.TypeBillet");
    Query->Open();
    Sous reserve d'essais parceque je ca serai mieux d'avoir la table sous la main....
    D'ailleurs si tu veut, tu peut me l'envoyer et j'essayerai de trouver une requete appropri�e.
    @ +

  9. #9
    Membre �prouv�
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifi�)
    Inscrit en
    D�cembre 2004
    Messages
    2 059
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activit� : OPNI (Objet Programmant Non Identifi�)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : D�cembre 2004
    Messages : 2 059
    Par d�faut
    Dans un premier temps, je te propose ca :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Query->Close();
    Query->SQL->Clear();
    Query->SQL->Add("SELECT DISTINCT T1.TypeEntre AS Type, T1.TypeBillet AS Billets, COUNT(T1.TypeBillet) AS NombreEntreeParType, SUM(T1.Quantite) AS NombreBilletsParType, SUM(T1.Total) AS TotalVenteParType");
    Query->SQL->Add("FROM 'Vente.db' T1");
    Query->SQL->Add("WHERE T1.TypeEntre <> ''");
    Query->SQL->Add("AND T1.TypeBillet <> ''");
    Query->SQL->Add("GROUP BY T1.TypeEntre, T1.TypeBillet");
    Query->Open();
    En esp�rant que ca puisse t'aider, c'est sur c'est pas du grand g�nie mais si tu as besoin d'affiner ou de pr�senter diff�remment, fais moi signe qu'on essaie de travailler dessus...
    Pour les clauses WHERE et AND, je les ai mises pour supprimer les lignes qui n'etaient pas renseign�es...il y a des tuples vides dans ta table (test ?).
    @ +

  10. #10
    Membre r�gulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    11
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 11
    Par d�faut
    merci mais je le met ou ce code ?
    Ainsi que pour les tuples qui sont vide c'est des erreurs il ne poura plus y en avoir j'ai fais les test initiaux.
    je devrais vider la bd a la fin de la programmation pour l'utilisateur.

  11. #11
    Membre �prouv�
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifi�)
    Inscrit en
    D�cembre 2004
    Messages
    2 059
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activit� : OPNI (Objet Programmant Non Identifi�)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : D�cembre 2004
    Messages : 2 059
    Par d�faut
    H� bien a mon avis, ce code doit remplacer ce qui permettais l'affichage des donn�es dans ton DBGrid (parceque tu parles d'un DBGrid dans ton intitul�) mais il peut aussi te servir a alimenter un QuickRep pour pr�senter tes donn�es...

  12. #12
    Membre r�gulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    11
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 11
    Par d�faut
    J'ai essailer de placer ton source et sa marche mais le probl�me c'est que je doit faire tout ca mais pour une seule journ�e cad la journ� actuelle.
    La secr�taire qui se servira de ce programme doit pourvoir avoir le total des ventes de la journ�e actuelle et je n'arrive pas a faire en sorte que ca soit la journ�e actuelle
    Si vous avez une id�e merci de m'en faire par !

  13. #13
    Membre exp�riment�
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Septembre 2003
    Messages
    302
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activit� : Consultant ERP
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2003
    Messages : 302
    Par d�faut
    Il faut que tu mettes une condition sur ton champ Date. Je suppose que ton champ Date de ta table est la date de la journ�e pendant laquelle la secr�taire saisait la vente, non ?
    En reprenant le code de cantrelle avec cette condition cel� donne :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Query->Close();
    Query->SQL->Clear();
    Query->SQL->Add("SELECT DISTINCT T1.TypeEntre AS Type, T1.TypeBillet AS Billets, COUNT(T1.TypeBillet) AS NombreEntreeParType, SUM(T1.Quantite) AS NombreBilletsParType, SUM(T1.Total) AS TotalVenteParType");
    Query->SQL->Add("FROM 'Vente.db' T1");
    Query->SQL->Add("WHERE T1.TypeEntre <> ''");
    Query->SQL->Add("AND T1.TypeBillet <> ''");
    Query->SQL->Add("AND T1.Date = " + Date());
    Query->SQL->Add("GROUP BY T1.TypeEntre, T1.TypeBillet");
    Query->Open();
    Je crois que �a devrait passer

  14. #14
    Membre Expert
    Avatar de bakaneko
    Profil pro
    Inscrit en
    F�vrier 2004
    Messages
    1 268
    D�tails du profil
    Informations personnelles :
    �ge : 45
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2004
    Messages : 1 268
    Par d�faut
    Attention!!
    Pour les dates, si je me trompe pas, en SQL, elles doivent �tre au format mois/jour/ann�e pas au format jour/mois/ann�e.

  15. #15
    Membre exp�riment�
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Septembre 2003
    Messages
    302
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activit� : Consultant ERP
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2003
    Messages : 302
    Par d�faut
    bien vu. en fait je connais pas la base paradox mais comme j'utilise PostGreSQL, je n'ai pas recontr� ce genre de probl�me. La date est rang� sous ce format : AAAA/MM/JJ mais si je teste avec JJ/MM/AAAA il me renvoit quand m�me les m�mes donn�es.
    Je viens de tester gr�ce � ta remarque car je ne connaissais pas ce comportement donc merci car tu viens, sans le vouloir, de m'apprendre un truc de plus sous PostGre

  16. #16
    Membre Expert
    Avatar de bakaneko
    Profil pro
    Inscrit en
    F�vrier 2004
    Messages
    1 268
    D�tails du profil
    Informations personnelles :
    �ge : 45
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2004
    Messages : 1 268
    Par d�faut
    Citation Envoy� par papy_tergnier
    bien vu. en fait je connais pas la base paradox mais comme j'utilise PostGreSQL, je n'ai pas recontr� ce genre de probl�me. La date est rang� sous ce format : AAAA/MM/JJ mais si je teste avec JJ/MM/AAAA il me renvoit quand m�me les m�mes donn�es.
    Je viens de tester gr�ce � ta remarque car je ne connaissais pas ce comportement donc merci car tu viens, sans le vouloir, de m'apprendre un truc de plus sous PostGre
    J'ai eu ce probl�me sous Access. Donc maintenant je me pose plus de questions, je m'ai toutes les dates dans ce format

  17. #17
    Membre �prouv�
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifi�)
    Inscrit en
    D�cembre 2004
    Messages
    2 059
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activit� : OPNI (Objet Programmant Non Identifi�)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : D�cembre 2004
    Messages : 2 059
    Par d�faut
    Bonjour a tous,

    Je me demande si ca va passer tel quel parceque le champ 'Date' de la table de notre ami Latipolia est de type 'Alphanum�rique' et non du type 'Date', et de ce fait l'instruction
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    Query->SQL->Add("AND T1.Date = " + Date());
    n'a pas l'air de passer...
    De plus il m'etait impossible de selectionner ce champ, tout simplement au cause de son nom, que j'ai remodifier en DateEntree et la je peut travailler a nouveau sur le champ.

    A mon avis, il va falloir faire qq modifs sur la table, non ?

    @ +

  18. #18
    Membre Expert
    Avatar de bakaneko
    Profil pro
    Inscrit en
    F�vrier 2004
    Messages
    1 268
    D�tails du profil
    Informations personnelles :
    �ge : 45
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2004
    Messages : 1 268
    Par d�faut
    Si c'est de l'alphanum�rique, traiter la date comme une chaine de caract�res devrait faire l'affaire...

  19. #19
    Membre �prouv�
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifi�)
    Inscrit en
    D�cembre 2004
    Messages
    2 059
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activit� : OPNI (Objet Programmant Non Identifi�)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : D�cembre 2004
    Messages : 2 059
    Par d�faut
    ui, ui, ainsi cela fonctionne mais ca me semble moins juste...Perso, je lui conseillerais quand meme de changer ce champ ainsi que le suivant (pour qu'il soit en Date&Heure)

  20. #20
    Membre Expert
    Avatar de bakaneko
    Profil pro
    Inscrit en
    F�vrier 2004
    Messages
    1 268
    D�tails du profil
    Informations personnelles :
    �ge : 45
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2004
    Messages : 1 268
    Par d�faut
    Citation Envoy� par Cantrelle
    ui, ui, ainsi cela fonctionne mais ca me semble moins juste...Perso, je lui conseillerais quand meme de changer ce champ ainsi que le suivant (pour qu'il soit en Date&Heure)
    Je suis tout � fait d'accord avec toi
    J'ai juste dit que c'�tait fonctionnambe avec cette m�thode. Pas des + juste mais fonctionnable

+ R�pondre � la discussion
Cette discussion est r�solue.
Page 1 sur 2 12 Derni�reDerni�re

Discussions similaires

  1. [Tableaux] Utiliser une boucle for dans un echo
    Par maoboy dans le forum Langage
    R�ponses: 7
    Dernier message: 18/06/2007, 13h55
  2. boucle "for" dans "do while"
    Par oranoutan dans le forum C#
    R�ponses: 13
    Dernier message: 05/06/2007, 21h13
  3. Une boucle for dans un switch case?
    Par Death83 dans le forum Langage
    R�ponses: 4
    Dernier message: 26/04/2006, 14h05
  4. boucle for dans un if...
    Par SylverFox dans le forum D�buter
    R�ponses: 3
    Dernier message: 11/08/2004, 16h57
  5. Boucle for dans un script cmd
    Par nicolas.ganache dans le forum D�veloppement
    R�ponses: 4
    Dernier message: 19/07/2004, 16h07

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