Autowerte

Fahrzeugwerte

Die GUIDs bieten jedoch in manchen Fällen wertvolle Dienste, die die Fahrzeugwerte nicht leisten können. Technisch gesehen sind auch alle drei DAX-Werte derzeit ein Kauf. Durch die Angabe des Datentyps'AutoValue' für das Primärschlüsselfeld können Sie sicherstellen, dass jeder Wert im Feld eindeutig ist. Konzentrieren Sie sich auf Finanz- und Autowerte! # Focus on auto readings.

..."

Auto Werte - Home

Der Zugriff macht es dem Datenbank-Programmierer beim Erstellen neuer Datensätze sehr einfach: Er weist automatisch für gewisse Bereiche eines Satzes Daten zu, wenn Sie dies so festgelegt haben. Normalerweise ist dieses Eingabefeld gleich dem Hauptschlüsselfeld, was Sinn macht - schließlich gibt die Auto-Wert-Funktion von Access per Default einen um eins höheren als den bisher größten Eintrag zurück.

In diesem Beitrag werden die Fahrzeugwerte in Access genauer betrachtet. Wenn Sie bereits einige wenige Tische unter Access erstellt haben, verwenden Sie diese Funktionalität vermutlich wie im Schlaf: Sie erstellen eine neue Table und ergänzen zunächst ein weiteres Tabellenfeld, das als primäres Schlüsselfeld und damit als eindeutiges Wertfeld diente.

Dadurch wird sichergestellt, dass jeder einzelne Satz durch mindestens ein einzelnes Eingabefeld identifizierbar ist. Um sicherzustellen, dass auch dieses Halbbild sicher mit einem noch nicht existierenden Inhalt befüllt wird, gibt es unter Zugriff den Datentyp des Halbbildes Autor. Sie definieren dies für den primären Schlüsselwert in der Beispiel-Datenbank für das Eingabefeld für die Auto-ID der tabellarischen Übersicht tabellarisch (siehe Abbildung 1).

Danach können Sie in die Datenblattsicht der Maske umsteigen. Dabei wird nicht nur ein leerer Satz, sondern auch der neue Name (Neu) im Eingabefeld für die Autowert ID angezeigt (siehe Abbildung 2). Abbildung 2: Das Auto-Wert-Feld stellt den Wert dar (Neu). Dies gilt auch, wenn Sie das erste Eingabefeld des neuen Satzes verändert haben.

Falls die Tabellendatei bis dahin unberührt war, bekommt das Autowertfeld den Betrag 1 (siehe Abbildung 3). Abbildung 3: Sie wird eingeblendet, sobald der Datenbestand verändert wurde. Wie der gesamte Datenbestand ist dieser noch nicht in der Datenbanktabelle abgelegt - dies passiert nur, wenn Sie den Datenbestand entweder durch Anklicken des Datensatz-Markers des betreffenden Datenbestandes oder durch Belassen des veränderten Datenbestandes in der darunterliegenden Datenbanktabelle sichern (siehe Abbildung 4).

Abbildung 4: Weitere Datasets bekommen den bisher grössten und einen weiteren als Autowerte. Wenn Sie einen Eintrag nicht entfernen, bekommen Sie einen schönen Satz von Primärschlüsseln (siehe Abbildung 5). Dies ist leider vorbei, sobald Sie den ersten Satz gelöscht haben (siehe Abbildung 6).

Was kann man aber an dieser Stelle sonst noch alles erwartet - kaum, dass Access die Numerierung der folgenden Daten so verändert, dass sich die Kluft wieder auflöst. Abbildung 6: Aber weh, ein Satz wird ausgelöscht! Manche können jedoch davon ausgehen, dass mindestens der folgende Datenbestand einen automatischen Wert hat, der die vollständige Numerierung bereitstellt.

Dies ist jedoch keineswegs der Fall: Der folgende Fahrzeugwert basiert auf dem bisher höchsten zugewiesenen Fahrzeugwert und addiert diesen um den Faktor 1 (siehe Abbildung 7). Abbildung 7: Die entstehende Kluft wird nicht durch einen neuen Datenbestand ausgeglichen. Nach der Löschung anhängen? Löscht man nun den letzten angehängten Satz, könnte man von Access annehmen, dass der neue Satz - wie die bisherigen Sätze - wieder den derzeit grössten Primärschlüssel plus einen hat.

Enttäuschend ist jedoch das Lösen und Neuanhängen des zuletzt gelösten Datensatzes: Der neue Satz bekommt nicht den Primärschlüssel des vorher gelösten Satzes, sondern den um eins vergrößerten Schlüsselwert (siehe Abbildung 8). Abbildung 8: Nach dem Entfernen des zuletzt gespeicherten Satzes wird dessen automatischer Wertewert nicht umgeschrieben. Leider passiert dasselbe nicht nur, wenn Sie einen oder mehrere Sätze am Ende einer Datei entfernen, sondern auch, wenn Sie alle Sätze entfernen - z.B. um eine vorher mit Prüfdaten befüllte Datei zu entleeren und an den Benutzer weiterzugeben.

In Access 2010 können Sie dies beispielsweise tun, indem Sie auf die Registerkarte File im Ribbon und dann auf die Drucktaste Compress and repair data im Backstage-Bereich von Access klicken. Bei der Komprimierung der Datenbasis addiert Access am Ende der Datenbanktabelle den automatischen Werte, der dem bisher höchsten um eins gestiegenen Betrag entsprich.

Auch nach der Komprimierung schließt Access keine Lücke durch die gelöschten Daten, die nicht am Ende der Datei stehen. Sie müssen den Fahrzeugwert jedoch manuell einstellen. Das funktioniert jedoch nicht unmittelbar im Datensatz - wenn Sie einen neuen Datensatz löschen wollen, passiert nichts.

Dies kann jedoch über VBA mit einer Vorgehensweise wie in Listing 1 geschehen Dadurch wird der neuen Datei ein neuer Satz hinzugefügt, dessen Autowert oder Primärschlüsselfeld den Betrag 3 hat. Es klappt - Access legt den Satz in die Tischplatte ein, ohne zu meckern!

Auflistung 1: "Manuelles" Hinzufügen eines neuen Datenbestandes mit individuellen Autowerten. Die Ergebnisse sind in Abbildung 9 dargestellt - aber Sie erkennen auch eine weniger erfreuliche Konsequenz der Einfügeaktion.

Mehr zum Thema