Vielen Dank Robert,

das hat schon mal auf Anhieb so funktioniert.
Es ist doch gut, wenn man auf diesem Weg immer wieder in schwierigen 
Fragen kompetente Hilfe erhalten kann.
Vielen Dank!

Gruß L-H


PS: Das Feld "IdentNummer" ist eine eindeutige Identifikation, um auf einem Hauptformular mehrer Unterformulare richtig zusammenzuhalten. So sollte das dann auch bei der Sammelerfassung von Bodenbearbeitungsvorgängen in meiner Schlagkartei richtig funktionieren.


Am 23.11.23 um 14:58 schrieb Robert Großkopf:
Hallo Leo,

das wäre der Code:

stSql = "INSERT INTO ""tbl_SE_BodBearb_Zw"" ( ""Datum"", ""Maschine_ID"", ""IdentNummer"", ""Jahr_ID"" ) SELECT ""tbl_SE_BodBearb_Vorg"".""Datum"", ""tbl_SE_BodBearb_Vorg"".""Maschine_ID"", ""tbl_SchlagGrunddaten"".""FlurstueckNr"" || ""tbl_SchlagGrunddaten"".""Gemarkung_ID"" || ""tbl_SchlagGrunddaten"".""SchlagNr"" AS ""SchlagIdentZahl"", ""tbl_SE_BodBearb_Vorg"".""Jahr_ID"" FROM ""tbl_SE_BodBearb_Vorg"", ""tbl_SchlagGrunddaten"", ""tbl_Vorg_Jahr"" WHERE ""tbl_SE_BodBearb_Vorg"".""Jahr_ID"" = ""tbl_Vorg_Jahr"".""ID"" AND ""tbl_SchlagGrunddaten"".""Marke"" = TRUE;"
… wenn das Feld "IdentNummer" ein Feld ist, das etwas mit Text 
anfangen kann. Denn durch die Verknüpfung von Feldern mit den Pipes 
erhältst Du automatisch einen Text.
In einer Abfrage habe ich das z.B. realisiert mit einem neuen Feld 
mit der Feldbezeichnung:
"FlurstueckNr" || "Gemarkung_ID" || "SchlagNr"

und dem Alias:

IdentNummer

Ja, wenn das wie eine Nummer aussieht ist es aber noch keine.
Kannst Du in einer Abfrage leicht nachvollziehen, indem Du z.B. zu der "Nummer" einfach 1 addieren lässt (oder das ganze mit 2 versuchst zu multiplizieren).
Deine "Nummer" hat hoffentlich keine führenden Nullen:

CAST("FlurstueckNr" || "Gemarkung_ID" || "SchlagNr" AS INTEGER)

sofern Du mit 9-stelligen Zahlen auskommst. INTEGER heißt 2^32
Ansonsten BIGINT (2^64) oder Du definierst das Ganze als eine Dezimalzahl … So machst Dzu aus dem Text erst einmal einen Zahl. Schau am besten, was Dein Feld "IdentNummer" denn aufnehmen kann.
Wenn etwas in einem Makro nicht funktioniert, dann hilft es, die 
Fehlermeldung hier zu posten. Die dürfte in dem Fall nämlich von der 
Datenbank kommen, weil Du eben Text in ein numerisches Feld packen 
willst. Und diese Fehlermeldung ist gleich der, die dabei raus kommt, 
wenn Du den Code (ohne die Anführungszeichendoppler) auch in Extras → 
SQL eingibst.
Gruß

Robert
--
www.lkhome.de

--
Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org
Probleme? 
https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy

Antwort per Email an