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