von RobertG » Mi, 22.01.2020 16:32
Hallo andy,
ich würde es grundsätzlich vermeiden, das Ergebnis einer Abfrage wieder in einer Datenbank zu speichern. Da kann es dann leicht passieren, dass Inhalte aus Abfragen und neu erstellte Inhalte nicht mehr zusammen passen, wenn nur an einer Stelle eine Änderung erfolgt.
Du kannst doch die Abfrage als Grundlage für Dein Formular nehmen. Dann wird im Formular, sofern abgespeichert, auch die Unterabfrage bearbeitet und der Wert direkt angezeigt.
Du kannst natürlich mit einem ähnlichen Befehl ein Update über alle Felder der Tabelle machen. Du brauchst dafür so etwas wie das Feld "GattungsCounter" als Textfeld.
Code: Alles auswählen
UPDATE "Tabellenname" SET
"GattungsCounter" = "Gattung"||RIGHT('00'||(SELECT COUNT("ID") FROM "Tabellenname" WHERE "Gattung" = "a"."Gattung" AND "ID" <= "a"."ID"),3)
Würde ich aber erst einmal an einer Kopie ausprobieren. Das habe ich hier nicht getestet und bei Komplettänderungen einer Tabelle bin ich da immer vorsichtig.
Wie geschrieben - würde ich nicht machen, da das ein Duplizieren von Daten ist und zu Fehlern führen kann, wenn etwas nur an einer Stelle geändert wird. Der Counter stimmt ja schon dann nicht mehr, wenn ein fehlerhafter Datensatz gelöscht wird.
Gruß
Robert
Hallo andy,
ich würde es grundsätzlich vermeiden, das Ergebnis einer Abfrage wieder in einer Datenbank zu speichern. Da kann es dann leicht passieren, dass Inhalte aus Abfragen und neu erstellte Inhalte nicht mehr zusammen passen, wenn nur an einer Stelle eine Änderung erfolgt.
Du kannst doch die Abfrage als Grundlage für Dein Formular nehmen. Dann wird im Formular, sofern abgespeichert, auch die Unterabfrage bearbeitet und der Wert direkt angezeigt.
Du kannst natürlich mit einem ähnlichen Befehl ein Update über alle Felder der Tabelle machen. Du brauchst dafür so etwas wie das Feld "GattungsCounter" als Textfeld.
[code]UPDATE "Tabellenname" SET
"GattungsCounter" = "Gattung"||RIGHT('00'||(SELECT COUNT("ID") FROM "Tabellenname" WHERE "Gattung" = "a"."Gattung" AND "ID" <= "a"."ID"),3)[/code]
Würde ich aber erst einmal an einer Kopie ausprobieren. Das habe ich hier nicht getestet und bei Komplettänderungen einer Tabelle bin ich da immer vorsichtig.
Wie geschrieben - würde ich nicht machen, da das ein Duplizieren von Daten ist und zu Fehlern führen kann, wenn etwas nur an einer Stelle geändert wird. Der Counter stimmt ja schon dann nicht mehr, wenn ein fehlerhafter Datensatz gelöscht wird.
Gruß
Robert