Hallo zusammen,
ich versuche mich momentan in Base einzuarbeiten und kämpfe mit der ein oder anderen Hürde. Ich stehe vor folgendem Problem:
Ich habe eine Tabelle mit den Feldern "BUCH", "SEITE" und "SEITENZUSATZ" nun möchte ich das weitere Feld "FUNDORT" automatisch füllen lassen, in der Form "BUCH_SEITE_SEITENZUSATZ". (Kleines Beispiel: BUCH = Liederheft, SEITE =37, SEITENZUSATZ = oben, in "FUNDORT soll dann Liederheft_37_oben stehen)
Wie schaffe ich das am einfachsten?
Vielen Dank
Grüßle
Markus
Feld aus Feldinhalten des gleichen Datensatzes erzeugen
Moderator: Moderatoren
Re: Feld aus Feldinhalten des gleichen Datensatzes erzeugen
Aloha
In der Datenbank über Extras -> SQL
In der Datenbank über Extras -> SQL
Code: Alles auswählen
UPDATE "meineTabelle" SET "FUNDORT" = "BUCH" || '_' || "SEITE" || '_' || "SEITENZUSATZ"
Re: Feld aus Feldinhalten des gleichen Datensatzes erzeugen
Oder Du machst einfach eine Abfrage in der Du folgende Spalte einfügst:
Concat("BUCH", '_', "SEITE", '_', "SEITENZUSATZ") AS "FUNDORT"
wenn
... Du die Base-Interne Datenbank verwendest (HSQL) dann musst Du den Concat-Befehl verschachteln (denn HSQL kann immer nur 2 Asudrücke vereinen)
... "SEITE" eine Zahl ist musst Du diese Zahl in einen String umwandeln: statt "SEITE" steht dann CAST("SEITE" AS CHAR(5)) in der Abfrage.
allerdings funktioniert CAST bei mir nicht *grmbl* ...
g
edit:
CAST scheint verbuggt zu sein, betrifft also nicht nur mich
http://qa.openoffice.org/issues/show_bug.cgi?id=115436
Concat("BUCH", '_', "SEITE", '_', "SEITENZUSATZ") AS "FUNDORT"
wenn
... Du die Base-Interne Datenbank verwendest (HSQL) dann musst Du den Concat-Befehl verschachteln (denn HSQL kann immer nur 2 Asudrücke vereinen)
... "SEITE" eine Zahl ist musst Du diese Zahl in einen String umwandeln: statt "SEITE" steht dann CAST("SEITE" AS CHAR(5)) in der Abfrage.
allerdings funktioniert CAST bei mir nicht *grmbl* ...
g
edit:
CAST scheint verbuggt zu sein, betrifft also nicht nur mich

http://qa.openoffice.org/issues/show_bug.cgi?id=115436
Zuletzt geändert von gogo am Do, 06.01.2011 18:45, insgesamt 4-mal geändert.
g
LucidLynx/WinXP LibreOffice v3.3.2 ab 03/12 v3.3.2 & v3.4.5
LucidLynx/WinXP LibreOffice v3.3.2 ab 03/12 v3.3.2 & v3.4.5
Re: Feld aus Feldinhalten des gleichen Datensatzes erzeugen
Vielen Dank für die Tips,
meine Vorstellung war allerdings, den Feldinhalt ohne weiteres Zutun (also ohne extra abgesetztes SQL-Statement) direkt bei der Dateneingabe zu erzeugen. Binich da besser nebenan in der Basic-Fraktion aufgehoben, um das aus einem Formular heraus zu machen?
Grüßle
Markus
meine Vorstellung war allerdings, den Feldinhalt ohne weiteres Zutun (also ohne extra abgesetztes SQL-Statement) direkt bei der Dateneingabe zu erzeugen. Binich da besser nebenan in der Basic-Fraktion aufgehoben, um das aus einem Formular heraus zu machen?
Grüßle
Markus