[gelöst] Zusammengesetzte Message

23. September 2010 16:02

Hallo alle zusammen.

Wir haben die Tabelle "Comment Line" noch um eine Spalte "Art" erweitert, sodaß wir definieren können, für was wir diese Bemerkungszeile verwenden wollen.

Jetzt möchte ich gerne die Zeilen, die nach einer entsprechenden Filterung von "Comment Line" nach Kundennummer und Art überbleiben in einer Messagebox ausgeben.

Bsp:
"Comment Line".setrange("Table Name", "Comment Line"."Table Name"::Customer);
"Comment Line".setrange("No.","Sell-to Customer No.");
"Comment Line".setrange(Art, "Comment Line".Art::Auftragspopup);
If "Comment Line".Findset then begin oder auch If "Comment Line".COUNT > 0 then begin


und wie muss ich jetzt weiter machen, damit ich eine Message erzeugen kann, nach folgendem Aufbau:

Message("Comment Line".Comment vom 1. Datensatz +'\'+"Comment Line".Comment vom 2. Datensatz +'\', usw. bis letzen Datensatz)

Hoffe auf Eure Hilfe

Viele Grüße

Markus
Zuletzt geändert von Markus am 24. September 2010 08:37, insgesamt 1-mal geändert.

Re: Zusammengesetzte Message

23. September 2010 16:11

Du musst dir einen String zusammenbasteln und diesen dann am Ende ausgeben. Wenn die Variable zu voll wird könntest du dann ja eine zweite Messagebox ausgeben und so weiter und so fort.

Re: Zusammengesetzte Message

23. September 2010 16:19

Vielen Dank für die Antwort.

Mein Problem ist nur

wie muss der Code zum zusammenpfriemeln aussehen??????

Gruß

Markus

Re: Zusammengesetzte Message

23. September 2010 16:34

Code:
"Comment Line".setrange("Table Name", "Comment Line"."Table Name"::Customer);
"Comment Line".setrange("No.","Sell-to Customer No.");
"Comment Line".setrange(Art, "Comment Line".Art::Auftragspopup);
If "Comment Line".Findset then
  REPEAT
    MessageString := MessageString + "Comment Line".Comment + '\';
  UNTIL "Comment Line".NEXT = 0;
MESSAGE(MessageString);


So, das ist die simple Variante, die zu einem Fehler führen kann, wenn die Variable MessageString überläuft. Du musst also eine Logik einbauen, bei welcher MessageStrings zwischendrin ausgegeben werden bevor sie überlaufen. Das sollte aber kein großes Problem darstellen.

Gruß,
Sebastian

Re: Zusammengesetzte Message

24. September 2010 08:35

Guten Morgen,

vielen Dank für die Antwort.
Zu diesem Ergebniss bin ich gestern Abend zu hause auch noch gekommen, nachdem sich meine Denkblockade gelöst hat :-)
Lediglich das Einfügen von '\' im String habe ich an einer anderen Stelle, damit ich am Schluß nicht noch eine Leerzeile habe.

Code:

        IF CommentLineLocal.COUNT >0 THEN BEGIN
          messagelocal := CommentLineLocal.Comment;
          IF CommentLineLocal.NEXT > 0 THEN REPEAT
            messagelocal := messagelocal+'\'+CommentLineLocal.Comment;
          UNTIL CommentLineLocal.NEXT = 0;
          MESSAGE(messagelocal);
        END;


Viiellen Dank nochmal