Bonjour,
A l'aide de QuickReport, j'imprime les fiches de ma base de données. Je veux imprimer chaque fiche sur une nouvelle page. Ca j'arrive très bien à le faire. Mais, le dernier champ de ma fiche est un champ mémo qui parfois est très long et devrait déborder sur une deuxième page. Et c'est ça que je n'arrive pas à faire.
Voici le code que j'utilise :
A cause du GridRep.Bands.DetailBand.ForceNewPage:=True; (qui est nécessaire pour avoir une page par fiche, mon mémo ne peut s'étendre sur une page supplémentaire.
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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 GridRep:=TQuickRep.Create(Application); GridRep.Dataset:=table; {if not GridRep.Bands.HasColumnHeader then //crée une zone de colonnes dans le rapport GridRep.Bands.HasColumnHeader:=true; } if not GridRep.Bands.HasDetail then //crée une zone de détails dans le rapport GridRep.Bands.HasDetail:=true; //on enregistre sur quel enregistrement est positionné la base de données // pour pouvoir la restaurer à la fin du traitement. BMark:=table.GetBookmark; try for i:=0 to table.FieldCount - 1 do begin .../... //affichage des différents champs (il y en a bcp alors j'abrège! GridRep.Bands.DetailBand.ForceNewPage:=True; //force le passage à une nouvelle page : une page par fiche end; if previsu=true then GridRep.PreviewModal else GridRep.Print; finally with table do begin GotoBookmark(BMark); //Restaure la position de l'enregistrement FreeBookmark(BMark); //Libère le marqueur end; end;
Comment modifier mon code pour que mes critères d'impression soient remplis ?
Merci d'avance pour votre aide.
[didier]
Partager