Terran Marine Geschrieben 2. September 2002 Teilen Geschrieben 2. September 2002 Morgen, habe ein ziemlich nerviges Problem mit Access bzw. mysql. Habe in mysql eine Datenbank mit einem Primärschlüssel angelegt (Integer), der Primärschlüssel ist auf Autoinkrement gestellt. Diese Tabelle habe ich mit Hillfe von My ODBC (2.5 bzw. 3.51) in Access 2000 eingebunden. Dies klappt auch sehr gut, nur leider zeigt er mir für den Primärschlüssel nicht den Felddatentyp Autowert sondern nur Zahl. Dadurch wird bei neuen Datensätzen der Wert für den Primärschlüssel nicht automatisch gesetzt, trage ich ihn händig während der Datensatzeingabe ein, läuft alles problemlos. Lasse ich das Feld aber leer, bringt er mir in allen Datenfeldern den Ausdruch #GELÖSCHT#, der Datensatz wird dann trotzdem in die mysql Datenbank geschrieben. Zu dem #gelöscht# bzw. #deleted# Problem gibt es mehrere Workarounds in der mysql FAQ, diese funktionieren aber nicht. Wer kann mir helfen ?(Momentan löse ich das Problem durch ein manuelles Rausfinden des höchsten Primärschlüssels, das ist aber kein Zustand). Gruß Terran Marine Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Commander_COM Geschrieben 3. September 2002 Teilen Geschrieben 3. September 2002 Ich hatte mal das gleiche Problem. Ich glaube mit Access 2000 kannste da nicht viel machen, ich habs dann auch mit durchzählen lösen müssen. Gruß Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MarcG Geschrieben 3. September 2002 Teilen Geschrieben 3. September 2002 Gibt es bei Access über VBA vielleicht die Möglichkeit, dass du vor dem Schreiben das Datensatzen code ausführen kannst? Dann könntest du da per "SELECT MAX(ID) FROM TABELLE) die höchste ID rausfinden und dann im Datensatz die ID auf Max(ID)+1 setzen. Bei unseren Anwendungen machen wir das eigentlich immer so, allerdings sind die nicht in Access. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Atreju Geschrieben 6. September 2002 Teilen Geschrieben 6. September 2002 Hallo! Wenn Du beim erstellen der Tabelle die Spalte für den Autowert als NOT NULL anlegst müßte es gehen. z. B. CREATE TABLE tabellenname ( id MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT, name CHAR(30) NOT NULL, PRIMARY KEY (id) ); Wenn Du das Feld in Access nun Leer läßt versucht Access einen NULL Wert einzutragen, da dies nicht zulässig ist, fügt MySQL die nächste freie ID hinzu. Probiers mal und schreib obs geholfen hat. Cu Atreju Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.