von RobertG » Mo, 07.12.2020 18:19
Hallo MVDA,
ich vermute, dass der Index falsch ist. Schau einmal, was ich dazu im Anhang des Handbuches aufgeschrieben habe:
Code: Alles auswählen
SET TABLE "Ware" INDEX'608 20'
SET TABLE "Verkauf" INDEX'1872 1656 1872 12'
SET TABLE "Quittung" INDEX'2232 1'
Nach der Einstellung der Position des Indexes in der data-Datei (erscheint nur hier in der script-Datei, wird nie direkt in SQL eingegeben!) werden die automatisch hoch schreibenden Felder der Tabellen («AutoWert») so eingestellt, dass sie die nächsten Werte bei Neueingaben erstellen. So
ist z.B. der letzte eingetragene Wert im Feld "ID" der Tabelle "Ware" die Nummer 19. Das automatische Hochschreiben beginnt also mit der Nummer 20.
Code: Alles auswählen
ALTER TABLE "Ware" ALTER COLUMN "ID" RESTART WITH 20
ALTER TABLE "Verkauf" ALTER COLUMN "ID" RESTART WITH 12
ALTER TABLE "Quittung" ALTER COLUMN "ID" RESTART WITH 1
Die letzte Zahl beim Index hat in dem Beispiel, das ich da beschreibe, etwas mit der anschließenden maximalen Zahl für den AutoWert zu tun. und die 0 dürfte da bei Deiner Zeile wohl falsch sein.
Du arbeitest ja sicher mit einer Kopie, nicht, mit dem Original, wenn Du da etwas veränderst, oder? Nur dann: Wenn weiter unten auch so ein Alter TABLE - Befehl vorkommt zu der Tabelle "Objekt", dann lösche die entsprechende Zeile. Lösche auch die Zeile mit SET TABLE "Objekt" Index ... Und falls etwas anderes zur Tabelle "Objekt" weiter unterhalb von Zeile 23 vorkommt (glaube ich allerdings nicht), dann lösche auch das.
Wenn Du Glück hast, dann reicht das zum Start der Datenbank und Du siehst die Daten. Dann gilt es die Tabelle "Objekt" genau anzuschauen: Steht da bei der letzten Zeile für den Primärschlüssel "AutoWert"? Wenn ja, dann nach dem maximalen Schlüsselwert suchen und in Extras → SQL über ALTER TABLE (siehe oben) den Wert sicher auf den Wert einstellen, der als nächster Wert genommen werden soll.
Erst einmal viel Glück und gegebenenfalls hier eine weitere Meldung. Ich packe das bei Erfolgsmeldungen dann als Ratschlag ins Handbuch ...
Gruß
Robert
Hallo MVDA,
ich vermute, dass der Index falsch ist. Schau einmal, was ich dazu im Anhang des Handbuches aufgeschrieben habe:
[quote]
[code]SET TABLE "Ware" INDEX'608 20'
SET TABLE "Verkauf" INDEX'1872 1656 1872 12'
SET TABLE "Quittung" INDEX'2232 1'[/code]
Nach der Einstellung der Position des Indexes in der data-Datei (erscheint nur hier in der script-Datei, wird nie direkt in SQL eingegeben!) werden die automatisch hoch schreibenden Felder der Tabellen («AutoWert») so eingestellt, dass sie die nächsten Werte bei Neueingaben erstellen. So
ist z.B. der letzte eingetragene Wert im Feld "ID" der Tabelle "Ware" die Nummer 19. Das automatische Hochschreiben beginnt also mit der Nummer 20.
[code]ALTER TABLE "Ware" ALTER COLUMN "ID" RESTART WITH 20
ALTER TABLE "Verkauf" ALTER COLUMN "ID" RESTART WITH 12
ALTER TABLE "Quittung" ALTER COLUMN "ID" RESTART WITH 1[/code]
[/quote]
Die letzte Zahl beim Index hat in dem Beispiel, das ich da beschreibe, etwas mit der anschließenden maximalen Zahl für den AutoWert zu tun. und die 0 dürfte da bei Deiner Zeile wohl falsch sein.
Du arbeitest ja sicher mit einer Kopie, nicht, mit dem Original, wenn Du da etwas veränderst, oder? Nur dann: Wenn weiter unten auch so ein Alter TABLE - Befehl vorkommt zu der Tabelle "Objekt", dann lösche die entsprechende Zeile. Lösche auch die Zeile mit SET TABLE "Objekt" Index ... Und falls etwas anderes zur Tabelle "Objekt" weiter unterhalb von Zeile 23 vorkommt (glaube ich allerdings nicht), dann lösche auch das.
Wenn Du Glück hast, dann reicht das zum Start der Datenbank und Du siehst die Daten. Dann gilt es die Tabelle "Objekt" genau anzuschauen: Steht da bei der letzten Zeile für den Primärschlüssel "AutoWert"? Wenn ja, dann nach dem maximalen Schlüsselwert suchen und in Extras → SQL über ALTER TABLE (siehe oben) den Wert sicher auf den Wert einstellen, der als nächster Wert genommen werden soll.
Erst einmal viel Glück und gegebenenfalls hier eine weitere Meldung. Ich packe das bei Erfolgsmeldungen dann als Ratschlag ins Handbuch ...
Gruß
Robert