SCHWERPUNKT

RTF im Praxiseinsatz

Aus der Not geboren

Ich habe es ausprobiert und bin gescheitert. Aber Not macht bekanntlich erfinderisch: Ein Absatz eines im RTF2-Steuerelement enthaltenen RTFDokuments lässt sich schnell markieren und kopieren. Fügt man ihn anschließend in ein anderes RTF2-Steuerelement ein, entsteht daraus ein neues RTF-Dokument. Perfekt! Das Ganze muss nur noch automatisiert werden.

Vorher ist allerdings noch zu klären, was mit den einzelnen Absätzen geschehen soll. Da sie hintereinander in einem Bericht angezeigt werden sollen, liegt es nahe, sie in Form einzelner Datensätze in einer Tabelle zu speichern und den Bericht mit dieser Tabelle als Datenherkunft zu bestücken.

Vorbereitungen

Damit Sie das Beispiel nachvollziehen können, zunächst ein Blick auf die Grundausstattung:

Eine Tabelle namens tblRTFTexte enthält zwei Felder namens RTFTextID und RTFText. Letzteres ist als Memofeld angelegt, da es das RTF-Dokument enthalten soll (Bild 3). Die Eingabe der Daten erfolgt in einem Formular namens frm- RTFTexte. Das Formular ist an die Tabelle tbl-RTFTexte gebunden, enthält aber aus dieser Tabelle nur das Feld RTFTextID (Bild 4).

Den Inhalt des eigentlichen wichtigen Feldes der Tabelle tblRTFTexte soll ein RTF2-Steuerelement anzeigen, dementsprechend stellen Sie dessen Eigenschaft Steuerelementinhalt auf den RTFText ein.

Nun wird es interessant: Die im RTF2-Steuerelement enthaltenen Absätze sollen gefunden und in einer temporären Tabelle gespeichert werden. Dazu brauchen Sie zunächst eine passende Tabelle, die wie in Bild 5 aussieht – also nicht viel anders als die Tabelle mit dem ursprünglichen Text. Ein Feld zum Verknüpfen der Datensätze mit dem passenden Datensatz aus der Tabelle tblRTFTexte ist unnötig, da die Tabelle vor dem Speich rn der Absätze jeweils geleert wird.

Bild 3: Diese Tabelle enthält die Ausgangs-RTFDokumente.
Bild 3: Diese Tabelle enthält die Ausgangs-RTFDokumente.
Bild 4: Das Formular zur Eingabe von RTF-Dokumenten.
Bild 4: Das Formular zur Eingabe von RTF-Dokumenten.
Bild 5: Entwurfsansicht der Tabelle zum temporären Speichern der Absätze eines RTF-Dokuments.
Bild 5: Entwurfsansicht der Tabelle zum temporären Speichern der Absätze eines RTF-Dokuments.

Zum Erzeugen eines neuen RTF-Dokuments aus einem kopierten Absatz fehlt im Formular noch ein weiteres RTF2-Steuerelement, das Sie ctlRTF2Temp nennen. Mit der Eigenschaft RTFText lässt sich der Quellcode des RTF-Dokuments auslesen, der anschließend in der Tabelle mit den einzelnen Absätzen gespeichert werden soll.