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:
Code
procedure 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;
Alles anzeigen
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