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 :

QReport et FsMdiChild


Sujet :

Bases de données Delphi

  1. #1
    Membre habitué Avatar de sondo
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Août 2004
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Août 2004
    Messages : 540
    Points : 162
    Points
    162
    Par défaut QReport et FsMdiChild
    Salut à tous,

    J'utilise une form principal comme FsMDIForm, et les autres fiches comme FsMDIChild. Les FsMDIChild sont dans les form disponiblent
    Pour appéler une form, j'utilise le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Form1 := TForm1.create(Application);
    Form1 .Height := 291;
    Form1 .Width := 674
    Maintenant mon problème est avec les QReport. Si je les considères comme form disponible, et au moment d'exécuter un état en cliquant sur un bouton pour faire par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Form2.QuickRep1.Preview
    J'ai des violations d'accès.
    Je suis donc obligé des les mettre comme form créées automatiquement.
    Mais il se trouve que dans chacun des mes projets, quand je lance l'exécution, il ya une form parmi celles qui se créent automatiquement, qui se créer en même temps que la form proncipal, ce qui est vilain à voir. Il faut tout le temps que je ferme cette forme, qui se place toujours dèrrière la form principal.
    Même si je compile le projet et je l'exécute sur un autre poste c'est la même chose.
    Comment faire alors? Aidez moi s'il vous plaît.
    Merci.

  2. #2
    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
    Salut.
    Ce que je peux te conseiller, si ton appli est de style MDI et que tu utilise QuickReport comme etat et de te creer une preview perso à l'aide du composant QRPreview et de router les preview de tes QReport sur cette preview perso.

    A+
    On progresse .....

  3. #3
    Membre habitué Avatar de sondo
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Août 2004
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Août 2004
    Messages : 540
    Points : 162
    Points
    162
    Par défaut
    Merci bien, mais si vous pouvez me donner un exemple cela va beaucoup me guider. Merci

  4. #4
    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
    Ok
    Pour le preview perso MDI, je vais faire très simple.
    Sur une fiche de type fsMDIChild,
    met dedans les 2 composants suivant :
    -un QRPreview pour le preview
    -un bouton pour imprimer
    dans l'evenement onClick du bouton, tu colle le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    QRpreview1.QRPrinter.Print;
    dans l'evenement onClose de la fiche, met le code suivant :
    Maintenant, dans tes etats QuickReport, il faudra router les previews vers le preview perso créer ci-dessus.
    Pour ce faire, dans l'evenement onPreview de tes QuickReport, met le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      With TFrm_preview.Create(Application) do
      begin
        QRpreview1.QRPrinter := QRReport1.QRPrinter;
      end;
    Bien attendu, il faut, mettre la fiche du preview dans la section uses.

    A+
    On progresse .....

  5. #5
    Membre habitué Avatar de sondo
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Août 2004
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Août 2004
    Messages : 540
    Points : 162
    Points
    162
    Par défaut
    J'ai crois appliquer ce que vous m'avez dit, mais quand je clique sur bouton imprimer il ya des violations d'accès.

  6. #6
    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
    Salut.
    Petite précision :
    - Les fiches contenant les etats QReport sont de style FsNormal.
    - La fiche contenant le QRPreview est de type fsMDIChild.
    Voici le code d'appel de preview d'une de mes fiches :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    procedure TFrm_main.Sav_print_in;
    begin
      //Les fiches contenant les etats sont crées dynamiquement, 
      //Creation de la fiche Frm_fsav contenant l'etat Q_report à imprimer
      Application.CreateForm(TFrm_fsav_in,Frm_fsav_in);
      try
        Frm_fsav_in.Q_report.Preview;
      finally
        Frm_fsav_in.Free;
      end;
    end;
    Le code du preview dans TFrm_fsav_in(de type fsNormal)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    procedure TFrm_fsav_in.Q_ReportPreview(Sender: TObject);
    begin
      With TFrm_preview.Create(Application) do
      begin
        Q_preview.QRPrinter := Q_Report.QRPrinter;
      end;
    end;
    Ce code fonctionne très bien.
    Mais peux tu nous montrer ton code ?

    A+
    On progresse .....

  7. #7
    Membre habitué Avatar de sondo
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Août 2004
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Août 2004
    Messages : 540
    Points : 162
    Points
    162
    Par défaut
    Sur la fiche sur laquelle il QRPreview1 et Bouton1, voici le code du bouton1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    procedure TForm_Preview.ButtonImprimerClick(Sender: TObject);
    begin
    Application.CreateForm(TForm_Etat,Form_Etat);
      try
        Form_Etat.QuickRep1.Preview;
      finally
        Form_Etat.Free;
      end;
    end;
    Dans l'évènement OnPreview de la fiche de l'état QuickReport :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    procedure TForm_Etat.QuickRep1Preview(Sender: TObject);
    begin
      With Form_Preview.Create(Application) do
      begin
        QRPreview1.QRPrinter := QuickRep1.QRPrinter;
      end;
    Quand je clique sur le bouton imprimer, il ya une exception : Un composant nommé Form_Preview existe déjà.

  8. #8
    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
    Citation Envoyé par sondo
    Dans l'évènement OnPreview de la fiche de l'état QuickReport :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    procedure TForm_Etat.QuickRep1Preview(Sender: TObject);
    begin
      With TForm_Preview.Create(Application) do
      begin
        QRPreview1.QRPrinter := QuickRep1.QRPrinter;
      end;
    Quand je clique sur le bouton imprimer, il ya une exception : Un composant nommé Form_Preview existe déjà.
    Salut
    Tu as oublier le T sur Form_Preview.
    Essaye avec ce code pour voir.
    En tout cas, tu dois aussi enlever Form_preview dans la liste des fiches auto-crées.

    A+
    On progresse .....

  9. #9
    Membre habitué Avatar de sondo
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Août 2004
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Août 2004
    Messages : 540
    Points : 162
    Points
    162
    Par défaut
    Grand merci, ca marche.
    Si ce n'est pas trop vous demander :
    1- Dois-je créer une form preview pour tous les états qui sont dans mon projet?.
    2- Comment ajouter un bouton suivant, et un bouton permière page ou dernière page, et un bouton pour imprimer vers l'imprimante?.
    Merci d'avance.

  10. #10
    Membre habitué Avatar de sondo
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Août 2004
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Août 2004
    Messages : 540
    Points : 162
    Points
    162
    Par défaut
    J'ai fais une recherche sur le forum, et j'ai trouver la réponse à certaines questions. Il reste pour les bouton prémière page et dernière page.

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

Discussions similaires

  1. [QReport] Erreur bizarre
    Par vali dans le forum Composants VCL
    Réponses: 3
    Dernier message: 01/03/2009, 01h25
  2. QReport SUM
    Par DBBB dans le forum Bases de données
    Réponses: 4
    Dernier message: 20/08/2004, 11h17
  3. QReport et QRGroup
    Par DBBB dans le forum Bases de données
    Réponses: 8
    Dernier message: 20/07/2004, 14h17
  4. [debutant]Qreport
    Par christophebmx dans le forum Bases de données
    Réponses: 3
    Dernier message: 14/05/2004, 09h52
  5. comment rendre invisible une FormStyle->fsMDIchild
    Par caluloa dans le forum C++Builder
    Réponses: 5
    Dernier message: 16/05/2003, 14h21

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