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 :

y'a pas les données quand je veux imprimer


Sujet :

Bases de données Delphi

  1. #21
    En attente de confirmation mail Avatar de StyleXP
    Inscrit en
    Juillet 2005
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 140
    Points : 55
    Points
    55
    Par défaut
    mais la position n'est pas fixé, je peux (il faut) choisir n'importe quel position, !

  2. #22
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Tu veux que dans le QReport il y est une seule position ou plusieurs ?

  3. #23
    En attente de confirmation mail Avatar de StyleXP
    Inscrit en
    Juillet 2005
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 140
    Points : 55
    Points
    55
    Par défaut
    non mais "Position" est a choix, il y'a plusieurs positions, et j'ai le choix (je rempli la position de choix dans un Edit Text) pour une position et d'imprimer le résultat

  4. #24
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Donc, comme je le disais plus haut, ca sert a rien que tu mettes les informations dans une table temporaire, car tu a déjà ton résultat depuis la requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    vchant := CBchant.Text;
     
    query1.Close  ;
    query1.sql.clear;
    query1.Sql.add ('SELECT * From Materiel Where Posit=(:pos) ');
    query1.ParamByName('pos').AsString := vchant;
    query1.Open;
    Il te suffit maintenant de lier ton QReport à cette requete, rien de plus.

  5. #25
    En attente de confirmation mail Avatar de StyleXP
    Inscrit en
    Juillet 2005
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 140
    Points : 55
    Points
    55
    Par défaut
    mais ma reqête existe dans ma fiche, pour mon qreport, comment faire le lien avec cette requête ???

  6. #26
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    De la même manière que tu fais avec la table, au lieu de cibler la table, tu cibles la requete.

    Un TQuery à les mêmes fonctions qu'un TTable.

  7. #27
    En attente de confirmation mail Avatar de StyleXP
    Inscrit en
    Juillet 2005
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 140
    Points : 55
    Points
    55
    Par défaut
    s'il te plait, tu peut me donner plus de détailles, car mon Qreport ne contient aucune requête, et si je mis la requête que tu mas proposer, là je ne peux pas préciser la POSITION du Materiel !!!

    peut être que j'ai pas compris ta solution, alors explique mieux !!!

  8. #28
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Comment tu génères ton QReport alors si tu ne l'as pas lié à une table ou une requete ????


    N'ayant pas QReport avec le delphi je ne peux te donner que la méthode :

    1- Mise au point avant tout

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    vchant := CBchant.Text; (1)
     
    query1.Close  ;
    query1.sql.clear;
    query1.Sql.add ('SELECT * From Materiel Where Posit=(:pos) ');
    query1.ParamByName('pos').AsString := vchant;
    query1.Open;
    CBChant contient bien la position que tu veux afficher dans ton QReport ?

    Cette requete (si c'est ok pour le CBChant) va aller te récupérer dans la base de données la liste des materiaux dont la position = vChant (1)

    2- Quand tu contruits ton QReport, tu peux normalement le lier à une source de données qui elle même est liée à ta requete.

    3- Dans une bande détail du QReport tu mets les champs à afficher de la requete.
    Si tu ne sais pas faire cela, il faut absolument que tu regardes un tutoriel sur les QReport

    4- Tu lances ta requete, puis tu lances le QReport après et tu as l'affichage de tes données.

  9. #29
    En attente de confirmation mail Avatar de StyleXP
    Inscrit en
    Juillet 2005
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 140
    Points : 55
    Points
    55
    Par défaut
    Bon, pour le QReport, j'ai une certaine maitrise, et je sais que c'est simple de travaillé avec.

    bon pour ta solution j'ai rien pigé dans :
    " 2- Quand tu contruits ton QReport, tu peux normalement le lier à une source de données qui elle même est liée à ta requete. " >> et c'est le plus important.

    je suis habitué d'en mettre une requête et de la relié avec une de mes tables, et dans ce cas , ce qui me géne vraiment, ce qu'il faut préciser une position (dans un Edit Text), et je ne vois pas comment avoir les données dans mon QReport sans construire une autre table qui rassemble les données puis je fais appel a cette table depuis une requête dans mon QReport, mais malheureusement les données n'existe pas dans mon QReport, alors qu'ils existe dans la table crée !!!

  10. #30
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    query1.Close  ;
    query1.sql.clear;
    query1.Sql.add ('SELECT * From Materiel Where Posit=(:pos) ');
    query1.ParamByName('pos').AsString := vchant;
    query1.Open; 
    end;
    Tu es bien d'accord que cette requete va te sortir la liste des matériaux qui on pour valeur de position vChant ?????

  11. #31
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 17
    Points : 16
    Points
    16
    Par défaut
    Le composant TQuery represente au meme titre qu'un composant TTable un ensemble de donnees qui correspondent (les donnees) aux criteres de selection. Ton QReport une fois lie a la requete (Query ) les seuls donnees qui figureront sur ton etat seront ceux de la selection.

  12. #32
    En attente de confirmation mail Avatar de StyleXP
    Inscrit en
    Juillet 2005
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 140
    Points : 55
    Points
    55
    Par défaut
    et comment expliqué que ce matin, j'ai vu les données dans mon Qrepot, puis j'ai fermé, j'ai refais l'opération, et puis, les données sont disparû, pas de données dans mon Qreport ???

  13. #33
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    530
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 530
    Points : 464
    Points
    464
    Par défaut
    Salut,
    avez vous remplis votre EditText
    Bonne chance.
    Merci

  14. #34
    En attente de confirmation mail Avatar de StyleXP
    Inscrit en
    Juillet 2005
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 140
    Points : 55
    Points
    55
    Par défaut
    bien sur

  15. #35
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    530
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 530
    Points : 464
    Points
    464
    Par défaut
    Salut,
    êtes vous sûr que le numéro entré à des infos dans la table?
    l'état est vide, mais que contien la seconde page de l'état(en utilisant la barre de défilementerticale)?
    si vous trouvez des résultat dans la seconde page, alors là, regardez les propriétés e votre état saut de page.
    Bonne chance.
    Merci.

  16. #36
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    530
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 530
    Points : 464
    Points
    464
    Par défaut
    Salut,
    j'ai ait une bavure (je parlais d'access et vous parlez delphi)
    dans votre query sql vous allez ajouter avec le where
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    votrechampsdereference=x
    cliquez 2 fois sur la query ensuite sur terms et definissez x (integer,string,..) après avoir choisi le type au dessous de 2 ou 3 cases choisissez rbput.
    VCL query active FALSE
    maintenant avant d'imprimer l'etat il y a un code
    que je vais vopus le ralenez dès que possible.
    Bonne chance.
    Merci

  17. #37
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Points : 1 181
    Points
    1 181
    Par défaut
    StyleXP,

    Malatar t'as donné la marche a suivre.
    Au lieu de crée une table secondaire uniquement pour l'impression, utilise directement un TQuery avec comme requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT * From Materiel Where Posit= :pos
    Dans ta Fiche ou est posé le Quickreport,
    Place un TQuery qu'on va nommé QRY_REPORT avec la requête ci dessus.
    Puis construit to report sur ce Query.
    Declare une propriété publique Position de type entier comme suit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    property Position : Integer read FPosition Write SetPosition   
    ....
     
    procedure TFrm_Report.setPosition(Value : Integer);
    begin
       FPosition := Value;
       QRY_REPORT.ParamByName('POS').AsInteger := FPosition;
       QRY_REPORT.Open;
    end;
    Depuis la fiche de selection de position, rajoute l'unité contenant le Quickreport.
    Normalement, tu dois avoir un bouton imprimer.
    Dans l'evenement OnClic de ce bouton :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    procedure TFrm_Select.Btn_printClic(Sender : TObject);
    begin
       With TFrm_report.create(Nil) do
       try
          Frm_Report.Position := StrToInt(Ed_posit.text);
          Frm_report.Qreport.PreviewModal;
       finally
          Release
       end;
    end;
    Je pense que ceci te donneras des idées.

    PS : m'excuse d'être un peu long mais il le fallait.

    Bon dev.

  18. #38
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    530
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 530
    Points : 464
    Points
    464
    Par défaut
    Salut,
    votre quickreport aura comme dataset votreformulaire.query1
    anisi que tous les champs que voullez afficher.
    revenant à votre form
    sur click du boutton aperçue
    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
     
    procedure.....
    var mat : string;
    begin
    mat := votreedit.text ou votreformulaire.table['champdereference'];
    with query1 do
      begin
       close;
       params[0].asstring :=mat;
       prepare;
       open;
     end;
    votreetat.preview;
    query1.avtive:=false;
    end;
    si un problème se pose
    retourne sql de query1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    and votrechampreference=:x
    Bonne chance.
    Merci.

  19. #39
    Membre à l'essai
    Inscrit en
    Décembre 2002
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 16
    Points : 12
    Points
    12
    Par défaut Propostion
    salut
    si ta table se remplis correctement avec les données de la requette cela ressemble a un Pb que j'ai rencontraitca fait un moment mais ce que j'ai remarquer est que si l'aaplication est sous WindowsXP et l'imprimate du type Epson Lx300+ le contenu est vide quand tu créer un Composant puis tu fait des copie coller pour les autre composant du meme genre.

Discussions similaires

  1. Hibernate ne recharge pas les données
    Par CrazySeb dans le forum Hibernate
    Réponses: 2
    Dernier message: 21/07/2008, 13h57
  2. [MySQL] Tableau n'affiche pas les données sur les pages suivantes
    Par orleans dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 18/12/2007, 20h17
  3. Réponses: 1
    Dernier message: 11/09/2007, 17h06
  4. ClientDataSet.Refresh ne rafraichit pas les données
    Par WebPac dans le forum Bases de données
    Réponses: 4
    Dernier message: 26/04/2007, 14h32
  5. pb de syntaxe XML ne reconnais pas les données ..
    Par lolodelp dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 19/06/2006, 11h24

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