BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!
> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
Autowert ändern mit firebird
Autowert ändern mit firebird
hallo, ich habe im Frühling auf firebird umgestellt (leider). Da ich Rechnungsnummern und Belege in der HSQDB jeweils anfangs Jahr auf das neue Jahr + laufende Nummer umgestellt habe, stehe ich vor folgendem Problem: Ich kann den Autowert mit firebird nicht temporär auf "nein" stellen um den "Startwert" zu ändern. (Tabelle kopieren und umbenennen geht nicht).
1. Hat jemand einen Tip?
2. gibt es eine Möglichkeit wieder zurück auf HSQDB?
Ruedi
1. Hat jemand einen Tip?
2. gibt es eine Möglichkeit wieder zurück auf HSQDB?
Ruedi
Re: Autowert ändern mit firebird
Hallo Ruedi,
ich kopiere einmal einfach aus dem Handbuch, aktuelle Fassung LO 7.0, S. 128:
Gruß
Robert
ich kopiere einmal einfach aus dem Handbuch, aktuelle Fassung LO 7.0, S. 128:
Zurück zur HSQLDB ist ohne große Probleme möglich, wenn Du einfach eine neue Datenbank als HSQLDB erstellst und dann die Tabellen rüber kopierst. Falls Du aber mit Funktionen wie DATEADD() oder LIST() in den Abfragen gearbeitet hast, dann wirst Du an dieser Stelle deutlich Probleme bekommen. Denn so etwas wie 19.01.2021 + 1 = 20.01.2021 kann z.B. die interne HSQLDB nicht.Bei FIREBIRD gestaltet sich der Zugriff auf den Autowert schwieriger, da er mit Hilfe von gesonderten
Generatoren erzeugt wird. Überwird zuerst einmal ermittelt, wie der Generator überhaupt heißt, der zu dem entsprechenden Feld einer Tabelle gehört. Die Bezeichnungen werden in der internen Firebird-Datenbank als RDB$1, RDB$2 usw. fortgeschrieben. Dann kann der Wert mitCode: Alles auswählen
SELECT RDB$FIELD_NAME, RDB$RELATION_NAME, RDB$GENERATOR_NAME FROM RDB$RELATION_FIELDS WHERE RDB$GENERATOR_NAME IS NOT NULL
Code: Alles auswählen
ALTER SEQUENCE RDB$1 RESTART WITH 10;
Gruß
Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
Re: Autowert ändern mit firebird
Vielen Dank Robert, du hast mir wieder einmal kompetent geholfen. Zu erwähnen wäre vielleicht noch für Anfänger: Handbuch „Base“ für LibreOffice S.122 "Direkte Eingabe von SQL-Befehlen". Ich bleibe mal bei firebird.
Ruedi
Ruedi
Re: Autowert ändern mit firebird
hallo, eine neue Frage zum gleichen Thema.
vor einem Jahr hat das schön funktioniert, habe mir eine Anleitung dazu geschrieben. Nun bekomme ich folgende Fehlermeldung beim Befehl: ALTER SEQUENCE RDB$1 RESTART WITH 2023001; (2023001 = neuer Wert am Ende der Tabelle)
3: firebird_sdbc error:
*Cursor is not open
caused by
'isc_dsql_fetch'
Ich habe zu wenig Erfahrung, was das bedeutet und finde auch nirgends Hilfe im Netz. Im neuesten Handbuch S. 141 ist das Prozedere etwas anders beschrieben, hat sich das (wieder) geändert. Wer kann mir auf die Sprünge helfen?
V 7.3.7.2 (x64)
vor einem Jahr hat das schön funktioniert, habe mir eine Anleitung dazu geschrieben. Nun bekomme ich folgende Fehlermeldung beim Befehl: ALTER SEQUENCE RDB$1 RESTART WITH 2023001; (2023001 = neuer Wert am Ende der Tabelle)
3: firebird_sdbc error:
*Cursor is not open
caused by
'isc_dsql_fetch'
Ich habe zu wenig Erfahrung, was das bedeutet und finde auch nirgends Hilfe im Netz. Im neuesten Handbuch S. 141 ist das Prozedere etwas anders beschrieben, hat sich das (wieder) geändert. Wer kann mir auf die Sprünge helfen?
V 7.3.7.2 (x64)
- Dateianhänge
-
- RESTART.JPG (95.29 KiB) 660 mal betrachtet
Re: Autowert ändern mit firebird
Zuerst einmal zum Autowert. Da hat sich bei Firebird inzwischen etwas getan. Das geht jetzt in Base auch mit
Es wird beim nächsten Mal dann der Wert genommen, der dem angegebenen Wert folgt.
Die Meldung *Cursor is not open habe ich noch nie gelesen. Gebe ich den Wert '2023001' in den Code für die Sequenz (ALTER SEQUENZ …) ein, so schreibt bei mir die Tabelle den nächsten Wert als ersten Wert: '2023002'.
Ist bei Dir vielleicht die Datenbankdatei noch nicht gestartet? Gehe zuerst in die Tabellenansicht und starte danach Extras → SQL …
Code: Alles auswählen
ALTER TABLE "Tabellenname"
ALTER "ID" RESTART WITH <letzter_Feldwert>;
Die Meldung *Cursor is not open habe ich noch nie gelesen. Gebe ich den Wert '2023001' in den Code für die Sequenz (ALTER SEQUENZ …) ein, so schreibt bei mir die Tabelle den nächsten Wert als ersten Wert: '2023002'.
Ist bei Dir vielleicht die Datenbankdatei noch nicht gestartet? Gehe zuerst in die Tabellenansicht und starte danach Extras → SQL …
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
Re: Autowert ändern mit firebird
Funktioniert!
Damit die Fehlermeldung *Cursor is not open nicht kommt, muss das "Kästchen" SQL-Befehl direkt ausführen angekreuzt sein, das "Kästchen" Ausgabe der Anweisung Select ... nicht. Das habe ich zwar auch schon probiert, hatte aber vermutlich einen andern Fehler gemacht.
Das ist ganz brauchbar so, ich hoffe, dass es nächstes Jahr noch gleich funktioniert ,
Danke für deine Unterstützung.
Ruedi
Damit die Fehlermeldung *Cursor is not open nicht kommt, muss das "Kästchen" SQL-Befehl direkt ausführen angekreuzt sein, das "Kästchen" Ausgabe der Anweisung Select ... nicht. Das habe ich zwar auch schon probiert, hatte aber vermutlich einen andern Fehler gemacht.
Das ist ganz brauchbar so, ich hoffe, dass es nächstes Jahr noch gleich funktioniert ,
Danke für deine Unterstützung.
Ruedi
An alle, die das LibreOffice-Forum nutzen:
Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.
❤️ Vielen lieben Dank für Ihre Unterstützung ❤️