Kopieren
Einen schönen guten Morgen
Ich benötige wieder eure Hilfe
Ich habe ein Textfeld(formatiert) und ein Textfeld(mehrzeilig) ich möchte den Text von Textfeld(formatiert) in das Textfeld(mehrzeilig) übertragen. Es sind ca. 4500 Einträge. Funktioniert das mit Massendatenänderung und wie ist die Formel.
Danke für die Hilfe
Rudi
11 Antworten
-
Moin Rudi, ja, ich würde das über die Massendatenänderung machen. Dort beim mehrzeiligen Textfeld die Option "Berechneten Wert zuweisen" wählen und als Formel einfach den Namen des formatierten Textfeldes angeben, aus dem die Inhalte übernommen werden sollen. Dann unten rechts auf "Weiter" und das Ergebnis überprüfen.
-
Danke für deine Hilfe aber ich habe etwas vergessen zu erwähnen. Im Textfeld(Formatiert) befinden sich auch Bild und Farbelemente. Es soll aber nur der Text übertragen werden.
-
Ach so, ja, dann versuch's mal mit
text(FORMATFELD)
-
Danke für die Hilfe
-
Ich habe noch eine Frage
Gibt es die Möglichkeit die Formatierung (Aufteilung bzw. Zeilen) des Textes auch zu übernehmen?
-
Ich glaube, nicht. Soweit ich weiß, sind die Zeilenumbrüche bei normalen Textfeldern anders codiert als bei den HTML-formatierten. Deshalb gehen sie bei Übertragungen in der Regel verloren.
-
Wenn ich hier eingreifen darf...
Es sind in der Regel Tags - <div> und <br> welche für Zeilenumrrüche sorgen, dabei ist es bei html texten oft so das Style direct im <div> Tag reingeschrieben wird (<div style=.....>). Die zwei besonderheiten kann man mit replacex() abzufangen. Jetzt wird es ein bisschen schräg:
---
'Text (mehrzeilig)' := replace(text(html(replace(replacex(raw('Text (formatiert)'), "<div.*?>", "#####"), "<br>", "#####"))), "#####", "
")
---
Was mache ich hier? mit raw wandle ich die html code in einen Text um, ohne Tags zu verlieren. Dann mit replacex(replacex(raw('Text (formatiert)'), "<div.*?>", "#####") wandle ich mit RegEx alle Tags die mir <div anfangen in einen String #####. Dann das selbe für <br> (hier ohne Regex). Dann mit html () zurück ins html, dann mit text() alle Tags entfernen und mit dem letzten (in diesem Fall ersten) replace ersetze ich die ##### durch Zeilenumbrüche.
Für Massendatenänderunge sollte dann natürlich die Formel bei Text mehrzeilig so sein:
replace(text(html(replace(replacex(raw('Text (formatiert)'), "<div.*?>", "#####"), "<br>", "#####"))), "#####", "
")
Leo
-
Eine Anmerkung:
hier sind nur die zwei Absatzmöglichkeiten abgefangen. Man muss die Texte analysieren - es gibt natürlich auch formatierungs Tags wie h1,h2,h3, p, span usw...
Leo
-
Die Formel von Leonid bringt ein brauchbares Ergebnis. Danke für die Hilfe
-
Hut ab! Die theoretische Möglichkeit des Entfernens oder Austauschens von Tags war mir zwar bewusst, aber die praktische Umsetzung übersteigt meinen Horizont bei weitem. Allein dieses RegEx - puh ...
Tolle Lösung, Leo. Bin mal wieder sehr beeindruckt!
-
Ich kann überhaupt nur staunen was ihr so an Lösungen habt. Ich bin ein typischer Anwender und freue mich wenn ich einfache Lösungen schaffe. Ich habe von Programierung keine Ahnung. Ich habe mich für Ninox entschieden, da es für mich eine gute Lösung zur Erstellung einer Datenbank für die Ahnenforschung ist.
Content aside
- vor 5 JahrenZuletzt aktiv
- 11Antworten
- 2312Ansichten