Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Werkzeuge (https://www.delphipraxis.net/63-sonstige-werkzeuge/)
-   -   Fastreport, memofeld in abhängigkeit von datasetfeld ausblenden (https://www.delphipraxis.net/177163-fastreport-memofeld-abhaengigkeit-von-datasetfeld-ausblenden.html)

Luckner 21. Okt 2013 15:16

Fastreport, memofeld in abhängigkeit von datasetfeld ausblenden
 
Hallo,

versuche ein Memofeld in Abhängigkeit von einem Datasetinhalt ein, bzw. aus zu bleden.
Bspl.
procedure MasterData1OnBeforePrint(Sender: TfrxComponent);
begin
if frxDBDatasetAuftragZUSCHLAG11.text = '0.00' then
Memo26.visible := false;
end;

Klappt überhaupt nicht. Was mach ich da falsch.

Gruß, Luckner

Sir Rufo 21. Okt 2013 15:24

AW: Fastreport, memofeld in abhängigkeit von datasetfeld ausblenden
 
Es wäre zuckersüß von dir uns zu erklären was genau denn nicht klappt.

Und das Verwenden der Delphi-Tags bei Quellcode ist auch immer hilfreich ;)
Code:
[DELPHI][/DELPHI]
Auf jeden Fall sehe ich schon mal, dass du das Memo-Feld zwar ausblendest, aber wo wird es denn wieder eingeblendet?

DeddyH 21. Okt 2013 15:26

AW: Fastreport, memofeld in abhängigkeit von datasetfeld ausblenden
 
Und so (hab gerade kein FR zur Verfügung, daher aus dem Kopf)?
Delphi-Quellcode:
procedure Memo26.BeforePrint(Sender: TfrxComponent);
begin
  Memo26.Visible := <Datenfeld>.Value <> 0;
end;
Ich weiß gerade nicht, ob FastReport IsZero kennt, wenn ja, wäre das dem Vergleich auf 0 jedenfalls vorzuziehen.

baumina 21. Okt 2013 15:34

AW: Fastreport, memofeld in abhängigkeit von datasetfeld ausblenden
 
Ohne Fastreport zu kennen würde ich wie folgt vorgehen:

Via ShowMessage frxDBDatasetAuftragZUSCHLAG11.text an der Stelle anzeigen lassen. Sehr wahrscheinlich steht da im BeforePrint von MasterData1 noch nix drin. Wenn tatsächlich nichts drin steht, entweder nach einem anderen Ereignis Ausschau halten oder wenn frxDBDatasetAuftragZUSCHLAG11.text ein Reportfeld ist, ggf. auf das Datenfeld direkt zugreifen.

Luckner 21. Okt 2013 15:43

AW: Fastreport, memofeld in abhängigkeit von datasetfeld ausblenden
 
Hallo,
gleich daneben gebe ich den Wert des Datasetfeldes aus. Das funktioniert.
Luckner

baumina 21. Okt 2013 15:50

AW: Fastreport, memofeld in abhängigkeit von datasetfeld ausblenden
 
Na dann ist ja alles gut.

DeddyH 21. Okt 2013 15:59

AW: Fastreport, memofeld in abhängigkeit von datasetfeld ausblenden
 
So, nun habe ich gerade einen Report vor Augen. Das hier sollte eigentlich funktionieren:
Delphi-Quellcode:
procedure MasterData1OnBeforePrint(Sender: TfrxComponent);
begin
  Memo26.Visible := <Tabelle."Feld"> <> 0;                  
end;

Bebe 21. Okt 2013 16:04

AW: Fastreport, memofeld in abhängigkeit von datasetfeld ausblenden
 
Mist ... zu spät!

Da musste ich erst mal selber nachschauen, wie ich das gelöst hatte. Ich schalte ein Barcode-Feld ein oder aus, je nach Inhalt vom Feld "Projekt".

Bei mir sieht es so aus

Delphi-Quellcode:
procedure MasterData1OnBeforePrint(Sender: TfrxComponent);
begin
   BarCode13.Visible := (<frxDBDatasetItem."Projekt"> <> '        ')
end;
Nichts mit Text oder so.

Gruß
Matze

Luckner 21. Okt 2013 16:29

AW: Fastreport, memofeld in abhängigkeit von datasetfeld ausblenden
 
Das hat irgenwie mit der Formatumstellung was zu tun. In der Datenbank ist es ein Decimalfeld (8,2). wenn kein Wert, dann steht da 0,00. Wenn ich mir die Werte in Fastereport über Memo26.text := frxDBDatasetAuftragZUSCHLAG11.text anzeigen lasse, dann steht dort 0. Die if-Abfrage reagiert jedoch nicht auf 0, oder 0.00. Alt Text und als value nicht.

Luckner 21. Okt 2013 16:35

AW: Fastreport, memofeld in abhängigkeit von datasetfeld ausblenden
 
Wie kann ich den Inhalt des aktl. Datasetwertes mit Showmessage anschauen? Showmessage(Datasetfel.text) funktioniert nicht

Bebe 21. Okt 2013 16:46

AW: Fastreport, memofeld in abhängigkeit von datasetfeld ausblenden
 
Oben im ersten Beitrag hast du auf '0.00' geprüft, nicht '0,00'. Vielleicht ist das der Fehler?

Du kannst aber auch den Inhalt mit StrToInt umwandeln und dann auf 0 prüfen.

Showmessage sollte aber funktionieren, da es bei den Funktionen aufgelistet ist.

Perlsau 21. Okt 2013 17:26

AW: Fastreport, memofeld in abhängigkeit von datasetfeld ausblenden
 
Zitat:

Zitat von Luckner (Beitrag 1232648)
Wie kann ich den Inhalt des aktl. Datasetwertes mit Showmessage anschauen? Showmessage(Datasetfel.text) funktioniert nicht

Die Aussage "funktioniert nicht" stellt keine gültige Fehlermeldung dar. Bei ShowMessage kann einiges nicht funktionieren, z.B. die Übergabe eines Parameters, der kein String ist, oder eine nicht erwartete Ausgabe. Niemand außer dir kann wissen, wie sich der ominöse Fehler tatsächlich äußert, wenn du es nicht verrätst. Bist du sicher, daß du Datasetfel.text statt Datasetfeld.text meinst?

Furtbichler 22. Okt 2013 06:42

AW: Fastreport, memofeld in abhängigkeit von datasetfeld ausblenden
 
Fastreport kann auch Breakpoints. Einfach Breakpoint drauf, und dann den Inhalt des Feldes prüfen.

sx2008 22. Okt 2013 07:55

AW: Fastreport, memofeld in abhängigkeit von datasetfeld ausblenden
 
Zitat:

Zitat von Perlsau (Beitrag 1232654)
Die Aussage "funktioniert nicht" stellt keine gültige Fehlermeldung dar.

So ist es. Ich empfehle da immer folgenden Artikel:
http://www.chiark.greenend.org.uk/~s...m/bugs-de.html

Luckner 22. Okt 2013 10:20

AW: Fastreport, memofeld in abhängigkeit von datasetfeld ausblenden
 
Hallo,
DeddyH, Bebe, es kam auf die Schreibweise an. Eure Bespiele gaben mir den Hinweis. Danke.
Eine weitere Frage. Besteht in diesem Zusammenhang, also in Abhängigkeit des Inhalts des Datasetfeldes die Höhe des Masterdatabandes zu verändern. Beispiel: Inhalt des Datasetfeldes ist 0. Die 0 soll nicht angezeigt werden und die Überschrift dazu auch nicht. Das funktioniertm jetzt. Wüder jedoch auch gerne auch die Höhe des Masterdatabandes reduzieren, um Platz auf dem Papier zu sparren.

Luckner


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:51 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz