Guten Tag Herr Ziersch,
vielen Dank für den Tipp.
Hat alles wunderbar geklappt. Die Daten werden nun angezeigt.
Mit Gruß HPB
Beiträge von HPB
-
-
Guten Tag Herr Ziersch,
Ich lege über SuperMerge Felder an:CodeWPSuperMerge1.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:Codeprocedure 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ß HPBScheinbar liegt das Problem in OnMailMergeGetText-Ereignis.
Bisher kamen die Daten aus einer Datenbanktabelle. Hier löste ich das Problem dann mit folgemdem Code:Code
Alles anzeigenprocedure TMSFmEditor.WPSuperMerge1MailMergeGetText(Sender: TObject; const inspname: string; Contents: TWPMMInsertTextContents); var f: TField; begin {if Contents.DatasetnamePart = 'DRKEMPFAENGER' then begin f := MEditor.drkempfaenger.FindField(Contents.FieldnamePart); if f = nil then Contents.StringValue := '' else Contents.StringValue := f.AsString; end;
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