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

Delphi Discussion :

Utilisation de FastReport


Sujet :

Delphi

Vue hybride

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

    Informations forums :
    Inscription : Février 2008
    Messages : 40
    Par défaut Utilisation de FastReport
    Bonjour à tous.
    je me décide à vous recontacter car je tourne en rond.
    Je suis en FMX. J'ai crée une bdd avec deux tables "Themes" et "Mots".
    J'ai un TFdQuery pour chaque. Une StringGrid pour chaque. Tout fonctionne correctement.
    J'utilise LiveBindings.
    Je désire créer un "Report" avec TFrxReport qui a nécessité deux FrxDbDataSet. Ok.
    Par contre lors de la sortie du rapport les Themes sont bien affichés en (Band Master Data).
    Chaque thème devrait être suivi des mots (band Détail Data) qui lui sont affectés mais en réalité non.
    Les mêmes mots concernent tous les themes, Mots triés par "select ....." et affichés dans la StringGrid de la table Mots.
    Le champ Mots.Id_Theme devrait égaler le champ Themes.Id_Theme mais je ne vois pas comment faire cette correspondance. Je ne vois pas comment "Lier visuellement". Peut-être un commande Sql mais ou ??
    Je n'ai pas trouvé.
    Dans une documentation de FastReport on voit une boite de dialogue qui permet cette correspondance. Mais est-ce pour FastReport Fmx ?? ou FastReport VCL ??
    Si quelqu'un a une idée ou la solution, je le ou les remercie..
    Chamac.

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 657
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 657
    Billets dans le blog
    65
    Par défaut
    Bonjour,
    on ne lie pas fasrtreport comme les interfaces visuelles.
    1-vous devez déclarer des frxdatasets qui eux auront un propriété datasource (vos deux querys)
    2- vous devez déclarer au niveau de votre frxreport que vous utilisez ces deux datasets, double clic sur le fastreport pour ouvrir puis dans les options du menu (report/data)
    à la suite de quoi vous pourrez utiliser le glisser déposer pour mettre des "champs" dans les bandes

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 40
    Par défaut Utilisation de FastReport
    Merci de votre réponse mais malheureusement j'avais procédé de cette manière.
    Je me suis mal exprimé : l'affichage des thèmes (au nombre de 6 ou 7 s'effectue correctement (Band Master data).
    Sous chaque thème je devrais avoir l'affichage de Mots correspondants (band Détail data) mais en réalité j'ai la répétition de tous les Mots de tous les thèmes.
    Dans la bande Master j'ai glissé "Theme" (le champ) ce qui donne ---> [frxDBDataset1."Theme"].
    Tous les thèmes sont ainsi passés en revue et affichée.
    Dans la bande Détail j'ai glissé "Mot" (le champ) ce qui donne --> [frxDBDataset2."Mot"].
    Ce qui se traduit par la prise en compte de tous les Mots de tous les thèmes (à mon avis).
    D'où la question que je me pose : y a-t-il un moyen de compléter cette commande [frxDBDataset2."Mot"] par une contrainte du style :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from Mots  where Id_Theme = Themes.Id_Theme
    Et si oui, comment exprimer cette commande ??

    Petite précision : j'ai essayé de placer une contrainte sur les tables :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    CONSTRAINT Themes_Mots FOREIGN KEY (Id_Theme) REFERENCES Themes (Id_Theme) ON DELETE RESTRICT ON UPDATE RESTRICT
    Mais cela ne donne rien.

    Je vais continuer à explorer ça et surtout les docs de FastReport qui me semblent un peu légères et malheureusement en anglais !!
    Je vous remercie.
    Chamac..

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 657
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 657
    Billets dans le blog
    65
    Par défaut
    Bonjour,

    J'ai franchement du mal à comprendre, ma boule de cristal semble embuée.

    Je pense, après la lecture du SQL que cela réside entièrement là, vous utilisez une requête non paramètrée.
    Pour moi elle devrait être écrite ainsi
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from Mots  where Id_Theme =:Id_Theme  -- attention à l'orthographe du paramètre, doit être égal au nom du champ
    et le composant devrait avoir la propriété mastersource de renseignée (détail.mastersource=maitre)

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 40
    Par défaut Suite Problème avec FastReport
    Merci pour vous intéresser à mon problème mais je crois qu'on ne se comprend pas .... J'ai sans doute "fait mon temps" !!
    Juste une ou deux précisions et ensuite j'abandonne ...
    La commande SQL à laquelle je faisais référence est celle qui est exécutée quand on clique sur un Theme dans la GThemes (TStringGrid). Elle n'affiche que les Mots affectés au Theme sur lequel on a cliqué. Ce qui est le but.
    Par contre pour le frxReport1 je ne vois pas la possibilité de ne sélectionner que les enregistrements correspondant à chaque Theme.
    J'utilise FastReport 2.0 FMX et ne vois pas de moyen de réaliser cette correspondance.

    L'application "FastReport FMX Demo" que j'ai comme modèle ne fait rien apparaitre.
    Par contre dans la documentation FastReport (UserManual page 50) on nous ouvre une fenêtre "Field Link Designer" mais je n'arrive pas à mettre "la main dessus" !!!
    Serait-ce du côté de Delphi ??

    Donc je laisse ça se décanter et vais tourner la difficulté en imprimant des pages indépendantes. Après tout il n'y aura qu'nombre limité de Thèmes .

    Encore merci.
    Chamac.

Discussions similaires

  1. Utilisation de l'objet OLE avec FastReport 4 + Delphi
    Par Leesox dans le forum FastReport
    Réponses: 5
    Dernier message: 06/09/2017, 17h59
  2. Utilisation Fastreport en francais[Xe2]
    Par mario9 dans le forum FastReport
    Réponses: 2
    Dernier message: 11/06/2014, 08h57
  3. [IBEXPERT] Utilisation de Fastreport
    Par OLI03 dans le forum Outils
    Réponses: 3
    Dernier message: 04/02/2012, 08h46
  4. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 12h36
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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