SuperMerge und Anzeigen der Daten

  • Guten Tag Herr Ziersch,
    Ich lege über SuperMerge Felder an:

    Code
    WPSuperMerge1.Fields.Clear;        with WPSuperMerge1.Fields.Add do        begin          ParentDatasetName := 'AdressDaten';          FieldNames.Add('KundeAdresse');          FieldNames.Add('PKRechnung');          FieldNames.Add('KundenNr');          FieldNames.Add('PKNummer');          FieldNames.Add('REDatum');          FieldNames.Add('Ausfuehrtext');          FieldNames.Add('Betreff');          FieldNames.Add('DokumentArt');        end;


    Danach möchte ich per Code die Felder befüllen. Dies mache ich so:

    Code
    procedure TMSFmEditor.SchreibeReEmpfaenger;var  aField: string;begin  aField := 'AdressDaten.KundeAdresse';  MoveToField(aField);  WPRichText2.InputMergeField(aField, FReAdresse);  WPRichText1.MergeText;  WPRichText2.ReformatAll(true, true);  WPRichText2.InsertPointAttr.Hidden := True;end;


    Auf dem Formular ist die Variable "AdressDaten.KundeAdresse"
    eingefügt.
    In der Variablen: "FReAdresse" befinden sich die richtigen Daten.
    Nur die Daten werden nicht angezeigt. Scheinbar wird das Feld nicht gefunden?
    Was mache ich hier falsch?
    Was übersehe ich?
    Mit Gruß HPB

    Scheinbar liegt das Problem in OnMailMergeGetText-Ereignis.
    Bisher kamen die Daten aus einer Datenbanktabelle. Hier löste ich das Problem dann mit folgemdem Code:

    Aber wie löse ich das nun ohne Datenbanktabelle? Gibt es hierzu ein Beispiel?? Ich möchte es gerne ohne Datenbanktabelle lösen.
    Mit Gruß HPB

    • Offizieller Beitrag

    Hallo,

    Zitat

    ... Danach möchte ich per Code die Felder befüllen. Dies mache ich so: ...

    Wenn Sie mit

    WPRichText.InputMergeField(aField, FReAdresse);

    Felder angelegt haben, brauchen Sie kein MoveToField um diese zu befüllen. Sie müssen nur das Ereignis WPRichText.OnMailMergeGetText verwenden um nach Aufruf von WPRichText.MergeText() die Daten bereitzustellen.

    WPSuperMerge1 wird auch MailMergeGetText aufrufen, um nach und nach alle Records aus der Datenquelle einzubauen.