❤️ Helfen Sie noch heute, unser LibreOffice Forum zu erhalten! ❤️
Unterstützen Sie das LibreOffice-Forum und helfen Sie uns, unser Ziel für 2025 zu erreichen!

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱


❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

REPLACE in UPDATE

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
andiair
Beiträge: 4
Registriert: Di 25. Aug 2015, 10:42

REPLACE in UPDATE

Beitrag von andiair » Di 25. Aug 2015, 10:48

Hallo,
ich versuche gerade einen REPLACE in einem UPDATE auszuführen, bekomme aber folgende Meldung im Status
"1: Undefinierte Funktion 'REPLACE' in Ausdruck."

Hier ist mein verwendeter Code

Code: Alles auswählen

UPDATE tblPart
SET externalDocument1=REPLACE(externalDocument1,'Documents','Datenblätter')
WHERE (externalDocument1 IS NOT NULL AND externalDocument1 LIKE 'Documents');
Vielelicht kann mir dort ja jemand weiterhelfen

Schonmal Dank für eure Mühen.

Andi

andiair
Beiträge: 4
Registriert: Di 25. Aug 2015, 10:42

Re: REPLACE in UPDATE

Beitrag von andiair » Di 25. Aug 2015, 12:17

Danke für die superschnelle Reaktion

Das mit dem % in dem WHERE habe ich in meiner Formel hier, ich wollte nur nicht den kompletten Laufwekspfad hier posten und habe das zuviel gelöscht.

Ich möchte in den Inhalten der Spalte
externalDocument1

den Text
'$(MD_DOCUMENTS)\Datenblätter\'
durch
'P:\EPLAN_Stammdaten_System\Dokumente\EPL\Datenblätter\'
ersetzen

Mit
SET externalDocument1 = 'Documents, Datenblätter'
schreibe ich ja fest 'Documents, Datenblätter' rein.

Hier meine Original Formel, die nicht funktioniert

Code: Alles auswählen

UPDATE tblPart
SET externalDocument1=(REPLACE(externalDocument1,'$(MD_DOCUMENTS)\Datenblätter\','P:\EPLAN_Stammdaten_System\Dokumente\EPL\Datenblätter\'))
WHERE (externalDocument1 IS NOT NULL AND externalDocument1 LIKE '$(MD_DOCUMENTS)\Datenblätter\%');

andiair
Beiträge: 4
Registriert: Di 25. Aug 2015, 10:42

Re: REPLACE in UPDATE

Beitrag von andiair » Di 25. Aug 2015, 13:25

Hallo,
hier man Problem Beispüielhaft dargestellt. Ich muss den Pfad absolut für einen Link auf ein Datenblatt angeben.

In der Spalte externalDocument1 stehen z.B. folgende Werte
$(MD_DOCUMENTS)\Datenblätter\JAN\JAN.UMG96x_de.pdf
$(MD_DOCUMENTS)\Datenblätter\ABT\ABT.ZPx12x_de.pdf
$(MD_DOCUMENTS)\Datenblätter\ASK\ASK.BD100_125AL_de.pdf
...

Das sollte zu
P:\EPLAN_Stammdaten_System\Dokumente\EPL\Datenblätter\JAN\JAN.UMG96x_de.pdf
P:\EPLAN_Stammdaten_System\Dokumente\EPL\Datenblätter\ABT\ABT.ZPx12x_de.pdf
P:\EPLAN_Stammdaten_System\Dokumente\EPL\Datenblätter\ASK\ASK.BD100_125AL_de.pdf
werden.

eben suche nach
$(MD_DOCUMENTS)\Datenblätter\

ersetze durch
P:\EPLAN_Stammdaten_System\Dokumente\EPL\Datenblätter\

Ich hoffe so ist es verständlicher.

Danke
Andi

andiair
Beiträge: 4
Registriert: Di 25. Aug 2015, 10:42

Re: REPLACE in UPDATE

Beitrag von andiair » Di 25. Aug 2015, 16:42

Hi nikki,
danke für deine Antwort und deine Bemühungen, aber meine Frage als "schlecht" zu bezeichnen finde ich nicht ganz treffend.

Ich hatte klar ein REPLACE in meiner SQL-Anweisung.

Grüße
Andi

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: REPLACE in UPDATE

Beitrag von F3K Total » Di 25. Aug 2015, 16:50

Hi, habe gerade dieses SQL-Statement erfolgreich durchgeführt:

Code: Alles auswählen

update "Adressen" set "Adresse" = Replace("Adresse",'P.O.','XXX')
Tabellen und Spaltennamen mit Kleinbuchstaben immer in doppelte Anführungszeichen, zumindest für die eingebettete HSQL Datenbank.
Dein Ausdruck wäre also

Code: Alles auswählen

UPDATE "tblPart"
SET "externalDocument1"=REPLACE("externalDocument1",'Documents','Datenblätter')
Die Where Klausel kann wirklich weggelassen werden
Wenn Du eine andere Datenbank als die HSQL DB verwendest, musst du natürlich schauen, ob sie REPLACE beherrscht und wenn, wie die Syntax genau ist.

Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten