Domino 9 und frühere Versionen > Entwicklung
Richtextfelder auslesen; alternative zu DBLookup
koehlerbv:
Tja, ich habe bislang die Aussagen der Designer-Hilfe hinsichtlich rich text items auch immer für bindend gehalten. Sicherheitshalber hab' ich das eben mal nachgebaut in 'ner Test-DB - und die Designer-Hilfe hat wieder mal Recht - dbLookup liest keine RT items aus.
@Daniel: Das geht es nur in Script (wenn ich jetzt nicht gerade an geistiger Umnachtung leide).
Daniel:
Danke mal vorerst!
Ich werd hier weiterposten, (dieses Thema), sobald ich mich in L-Script etwas eingelesen habe.
Nicht das ich dir was unterstellen möchte, koehlerbv, aber ich hoffe du leidest..... ;) ;) ;)
Wäre auf jeden Fall einfacher dann.
koehlerbv:
Hi, Daniel,
ich denke, für solche und viele anderen Sachen lohnt es sich, sich mit LS zu beschäftigen. Am Anfang nicht so easy, aber dann ;-)
Jemand könnte Dir hier jetzt natürlich etwas zusammen schreiben, aber ohne wirkliches Verständnis des Codes geht das für Dich nur nach hinten los.
Wenn Du innerhalb des LS-Codes dann auf ein Problem stößt, dann postet Du das hier wieder, damit einer von uns Dir über die Klippen helfen kann. Und wenn's dann fertig ist, dann weißt Du auch, was Du *selbst* geleistet hast ;-)
Ich habe das letztens schon hier mal hier angeboten: Ein guter Start in LS ist das LotusScript Technical Learning Center, das es mal kostenlos von Lotus gab, aber wohl von der WebSite genommen wurde. Wenn Du Interesse daran hast, schreib' mir einfach off-list eine eMail, und schick' Dir diese Notes R5-DB.
Ansonsten immer fleissig die Designer-Hilfe ausschlachten ;-)
HTH,
Bernhard
Glombi:
Hi,
auch auf die Gefahr hin, dass ich mich wiederhole: Man kann mit @DbLookup Rich Text Felder auslesen, das habe ich schon wiederholt gemacht.
Und zwar so:
Du erstellst ein Rich Text Feld in einer Maske und gibt als Vorgabewert folgendes ein:
@DbLookup("","";"Bilder";"Firma A","Body")
Das holt Dir dann aus einem Konfig.-Dokument, in dem Bilder verwaltet werden, das Bild. Achtung: Das Feld Body darf NICHT als Spalte in der View stehen!
In der Lotus Notes Knowledge Base gibt es dazu folgendes (#111833):
@DbLookup Fails to Return Rich Text Field
Problem:
You have a rich text field that correctly references another rich text field using @DbLookup. For example, in the following formula "richtext" is the name of a rich text field in the database db.nsf.
@DbLookup("":"NoCache";"db.nsf";"View by Category";"Smith";"richtext")
When executed, however, the formula yields a null value without an error message.
Solution:
If the view specified in the @DbLookup references the rich text field as part of a column definition, a null string results. Rich text fields cannot be displayed in a view, and therefore should not be referenced in a view column definition.
However, @DbLookup will retrieve a field as it appears in a view before it references fields as they appear in a document. A possible workaround is to remove the column in question from the view, so that Notes is forced to look at the rich text field as it appears in the document. Refer below for some limitations with this approach.
Supporting Information:
Using @DbLookup to pull information from a RTF is not supported because of certain limitations. Refer to the technotes listed in the Related Documents section for more information on the limitations.
For the most part, however, an RTF can use @DbLookup as a default formula to pull information from another RTF provided that the following are true:
- The RTF being looked up is a single RTF that contains less than 42K worth of data.
and
- The RTF being looked up is not referred to in the lookup view.
Übrigens: Mit LotusScript könnt Ihr das so nicht machen. Wenn Ihr ein Rich Text Item setzt, steht das erst zur Verfügung, nachdem das Dokument im Backend gespeichert wurde.
Andreas
koehlerbv:
Andreas,
jo, Du hast wahr ! Und doch auch nicht - aber eins nach dem anderen:
Was @dbLookup angeht: Da habe ich wirklich an geistiger Umnachtung gelitten - Daniels fromme Wünsche haben nicht geholfen ;-) Ich erinnere mich jetzt auch wieder an den entsprechenden (bzw. ähnlichen) KBase-Artikel.
A-Bär: Das von Andreas beschriebene Verfahren setzt voraus, daß man beim Erstellen des Docs bereits weiß, welches Setup-Dok man auslesen will. Geht ja, ist aber tricky.
Ich hab' jetzt eben ein paar Tests gemacht in einer klitzekleinen Datenbank mit (Bild-)Setup-Dokumenten gemacht, die nach dem von Andreas beschriebenen Verfahren funktioniert. Die Ergebnisse sind aber mehr als durchwachsen (aber vielleicht mach' ich ja was verkehrt!) - mal wird das RTF im Setup-Dok ausgelesen, mal nicht. Vor allem (offensichtlich) nicht, wenn das Bild so gross ist, daß es im Setup-Dok in mehrere Items zerlegt wird. Aber auch manch kleineres (5 kB- he, das kann ja "an sich" keinen Trouble verursachen) wird nicht korrekt übernommen.
Und was LS angeht, kommen wir jetzt zum Punkt: Das von mir beschriebene Verfahren klappt mit beliebig grossen Pics, und es arbeitet überhaupt nicht im Backend, sondern im Frontend und über das Kopieren über die Zwischenablage. Also: Nix mit "Dokument muß gespeichert, geschlossen und neu geladen werden, bevor man was sieht" und dem sonst üblichen Ärger mit RTFs.
Wie dem auch sei: Es würd' mich wirklioch sehr interessieren, ob ich bei Andreas' Verfahren (@dbLookup und Schwierigkeiten mit Bildformat im Dok und Bildgrösse / n items) was übersehen habe.
Sonst läuft Daniel nämlich ggf. "ins offene Messer" ...
Danke im Voraus,
Bernhard
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln