Zum Inhalt springen

Lösung für Formel in Datenstempel gesucht. Bestimmte Wörter ersetzen


Lorenz J

Frage

Geschrieben

Hallo zusammen,

wir suchen eine Formel für einen Text im Datenstempel, die bestimmte Wörter ersetzen soll.

 

Ausgangslage:

Unsere bisherige Formel holt sich den Datenbankeintrag des verknüpften Objekts

Die Einträge aus der Datenbank sind beispielsweise wie folgt aufgebaut:

"06.7.3.1.6 Wandbekleidung Lino burgundy"

 

Zuallererst nehmen wir für den Datenstempeltext nur den reinen Text:

"Wandbekleidung Lino burgundy"

 

Dafür haben wir bisher diese Formel:

 

#WS_LÖSCHEN(

WEGSCHNEIDENLINKS('325_Positionspläne'.'Positionsplan Tischler';

TEILSTRING('325_Positionspläne'.'Positionsplan Tischler'; ' '; 1));

0; 1)#

 

Das klappt soweit.

 

Frage:

Nun möchten wir den Text nachträglich anpassen von

"Wandbekleidung Lino burgundy" zu -> "Wandbekleidung Lino schwarzrot"

Dies soll mehrere verschiedenen Konstellationen passieren. Beispielsweise gibt es folgend weitere Positionen aus der Datenbank, deren Farbangabe im Stempeltext ersetzt werden sollen:

 

06.7.3.4.2 Wandbekleidung Akustik Lino pearl -> Wandbekleidung Akustik Lino hellbeige
06.7.3.7.3 Wandbekleidung Lackiert nero -> Wandbekleidung Lackiert schwarz
06.7.3.7.4 Wandbekleidung Lackiert pistachio -> Wandbekleidung Lackiert mintgrün
06.7.3.7.5 Wandbekleidung Lackiert olive -> Wandbekleidung Lackiert dunkelgrün

 

Weiterhin gibt es Datenbankeinträge die ohne Korrektur wie in der Ursprungsformel (siehe oben unter "Ausgangslage"), ausgegeben werden sollen.

 

Habt ihr einen Tipp, wie wir unsere Formel anpassen können, sodass sie die benannten Wörter ersetzt und die Formel trotzdem kompakt und verständlich bleibt?

 

Vielen Dank im Vorraus und viele Grüße,

Lorenz

 

 

6 Antworten auf diese Frage

Empfohlene Beiträge

Geschrieben (bearbeitet)

Hey @Lorenz J,

 

sollen die geänderten Namen pauschal geändert werden,

also für zukünftig für alle Objekte gelten?

 

Was für ein Datentyp haben die Datenbankfelder?

Wenn Datentyp (editierbarer) Text … (was ich vermute)

… dann wäre die Idee, die folgende:

 

1.

Eine temporäre Tabelle für das Umbenennen erstellen

2.

Die entsprechenden Objekte filtern und

die Datenbankfelder in der Tabelle anzeigen

3.

Die Option "Zeilenwerte zusammenfassen" auswählen

4.

Die Werte in den zusammengefassten Tabellenzellen

manuell überschreiben.

 

Könnte funktionieren.

Probiers mal.

 

… oder wenn möglich, dann lade eine Beispieldatei hoch.

 

LG Tobi

Bearbeitet von tobiaskern

/  /  /  /  /

 

VW 2025 U7 (Build 828783)


MacBook Pro 16"  |  2023  |  M3 Max  |  128 GB Ram
macOS Sequoia 15.7.1

Geschrieben

Hallo @tobiaskern,

 

danke für deinen Beitrag.

 

Es geht darum, dass die eigentlichen Datenbankeinträge der Objekte und auch die Datenbank nicht geändert oder umbenannt werden.

Lediglich der Text im Datenstempel soll hier über eine Formel editiert werden.

 

Viele Grüße, Lorenz

Geschrieben (bearbeitet)

Hallo @Lorenz J

hast du dir bereits die Tabellenfunktion =Ersetzen() angeschaut?
https://github.com/Vectorworks/developer-worksheets/blob/main/Worksheet Functions/Vectorworks 2025 DE.md#ersetzentext-alttext-neutext-anzahl

Wenn du sehr viele Fälle zu ersetzen hast, ist sicherlich eine Kombination mit einer Tabellensuch-funktion eine gute Idee.
https://github.com/Vectorworks/developer-worksheets/blob/main/Worksheet Functions/Vectorworks 2025 DE.md#tabellensuche

LG

Viktor

Bearbeitet von Viktor Frank
  • Like 2

BIM Consultant

ComputerWorks Deutschland

Geschrieben (bearbeitet)

Hey @Lorenz J,

 

Die Idee von Viktor ist sehr gut.

 

Du könntest dann für die Auswahl "Alter Wert" / "Neuer Wert"

theoretisch noch ein Pop-up oder Boolean in die Datenbank

und in den Datenstempel einbauen, dann kannst Du die

Auswahl direkt über den Datenstempel machen.

 

Wenn Pop-up = "Alter Wert", oder Boolean = "Nein", dann zeige "Alten Wert"

Wenn Pop-up = "Neuer Wert", oder Boolean = "Ja", dann zeige den "Geänderten Wert"

 

Für die Auswahl (Wenn / Dann) benötigst Du die IF-Funktion.

 

Gerne melden, wenn Du dabei Hilfe brauchst.

 

LG Tobi

Bearbeitet von tobiaskern
  • Like 2

/  /  /  /  /

 

VW 2025 U7 (Build 828783)


MacBook Pro 16"  |  2023  |  M3 Max  |  128 GB Ram
macOS Sequoia 15.7.1

Geschrieben

Vielen Dank für eure Tipps!

 

da wir nicht noch eine Tabellensuch-Funktion einbauen möchten, werden wir einen anderen Weg finden. Wir möchten das Modell für möglichst viele Anwender verständlich halten.

 

Vielen Dank und mit freundlichen Grüßen,

Lorenz

  • Like 1
Geschrieben
vor 3 Stunden schrieb Lorenz J:

#WS_LÖSCHEN(

WEGSCHNEIDENLINKS('325_Positionspläne'.'Positionsplan Tischler';

TEILSTRING('325_Positionspläne'.'Positionsplan Tischler'; ' '; 1));

0; 1)#

Wenn ich das richtig verstehe, soll WS_LÖSCHEN das verbleibende führende Leerzeichen löschen. Einfacher wäre es die Funktion WEGSCHNEIDEN zu nutzen, weil diese ohne weitere Parameter außer dem Text alle führenden und nachfolgenden Leerzeichen löscht.
Das würde dann so aussehen:

#WS_WEGSCHNEIDEN(
WEGSCHNEIDENLINKS('325_Positionspläne'.'Positionsplan Tischler';
TEILSTRING('325_Positionspläne'.'Positionsplan Tischler'; ' '; 1))
)#

 

  • Like 2

Gruß


Antonio Landsberger

ComputerWorks GmbH

http://www.computerworks.de

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden
  • Forenstatistik

    • Themen insgesamt
      26,3Tsd
    • Beiträge insgesamt
      136,7Tsd
×
×
  • Neu erstellen...