PDA

Vollständige Version anzeigen : neuer DS - Auto Wert


ts_
18.11.2002, 13:27
Hallochen alle zusammen,

folgendes Problem: Beim Laden eines Formulars für die Neueingabe eines DS wird ja beim ersten Tastendruck der DS von Access angelegt (Puffer). Gleichzeitig wird ein neuer Autowert vergeben (In meinem Formular). Wenn ich diesen DS nun doch nicht übernehmen will und abbreche, erhöht Access den Index trotzdem um eins beim nächsten Aufruf des Formulars zur Neueingabe. Kann man das mit SQL Command Tabelle repair lösen (MYSQL)? Oder gibt es eine andere Möglichkeit, die Eingabe eines neues DS abzubrechen.

A.S.
18.11.2002, 13:31
Ich schätze mal, da bist Du mit einem MySQL-spezifischen Problem hier im falschen Forum - auch wenn Du Access als Frontend einsetz.

Für diese Spezifika ist das SQL-Forum zuständig, in welches ich diesen Beitrag somit verschieben werde.

Mein Tip: Probier mal über phpmyadmin was passiert, wenn Du die Inhalte einer mySQL-Tabelle löscht und die Datenbank (oder die Tabelle) komprimieren / reorganisieren läßt und schau Dir im MySQL-Server-Log an welche Aktion ausgelöst wurde ;)

Gruß

Arno

ts_
18.11.2002, 13:39
Mein Problem Bezieht sich auf Access. Wenn ich im neuen DS Taste drücke (Before Insert), wird der DS im Puffer angelegt, aber noch nicht gespeichert. Wenn ich dann abbreche (Me.Close) wird der Index für Autowert um eins erhöht, egal ob der DS angelegt(speichern) wurde oder nicht. Gibt es ne andere Möglichkeit, nach Tastendruck im neuen DS das anlegen (speichern) zu verhindern?

khs-hh
18.11.2002, 16:12
AFAIK kannst Du das nicht verhindern. Du kannst zwar die Anlage des neuen Satzes verhindern, aber der Autowert ist "verbraucht", d.h. diese Nummer wird nicht wieder verwendet.

Ausnahme: Du brichst sofort danach die Verarbeitung ab und komprimierst die DB. Dann wird Autowert zurückgesetzt.

Das ist aber wohl nur eine theoretische Möglichkeit, da das nur funktioniert, wenn nicht die nächsten Nummern schon verwendet wurden. Lücken schließen beim Autowert kannst Du mit komprimieren nicht erreichen.

A.S.
18.11.2002, 19:41
Soso... Zitat: "Kann man das mit SQL Command Tabelle repair lösen (MYSQL)?"

bei einem MySQL-Backend, welches letztlich für die Datenverwaltung zuständig ist, bezieht sich Dein Problem auf Access?!?! Wie Das????

Dieser Beitrag wird verschoben ;) Hatte es heute Mittag nur vergessen.

Gruß

Arno

[ 18. November 2002: Beitrag editiert von: A.S. ]</p>

ts_
19.11.2002, 07:31
Sorry A.S. hatte das Problem wohl nicht genau genug beschrieben. Mein Fehler. Ich hätte wohl schreiben müssen "ähnlich MYSQL", denn da gibt es ja die Möglichkeit, sofort nach einem SQL Kommando repair nachzuschießen. Meine Anfrage bezog sich auf Access!! Hab mein Problem jetzt anders gelöst. Verwende jetzt ein extra Formular für Neueingabe und trage die Werte erst nach Bestätigung und Korrektheit mit DoCmd.RunSQL in DB (Tabelle) ein. Für Bearbeitung und Löschen gibt es ja keine Probleme beim Formular laden.


Danke u. Gruß th_