Moin,
ich habe hier ein kleines Access-Problem, dessen Lösung wahrscheinlich recht banal ist, ich aber nicht drauf komme.
Vereinfacht gesagt habe ich eine Tabelle, in der in Spalte eins Nummern stehen, die ID. Diese sind nicht automatisch vergeben, sondern manuell, kommen nicht doppelt vor, können aber Lücken enthalten (also keine leeren Felder, sondern beim Hochzählen fehlt mal die ein oder andere Zahl).
In Spalte zwei sind Namen drin. Etwa so:
ID___Name
1____Name1
2____Name2
5____Name5
123__Name123
124__Name124
Jetzt bekomme ich regelmäßig eine Tabelle mit neuen Namen, denen ich neue IDs zuweisen will. Das soll automatisch erfolgen und zwar soll ab der höchsten schon vorhandenen Zahl hochgezählt werden. Wenn ich also drei neue Namen bekomme, sollen die unten dran gestellt werden und würden in dem Beispiel die IDs 125, 126 und 127 bekommen.
Wie geht dem? (Access 2007)
-Tim
Office - Word, Excel und Co. 9.753 Themen, 41.597 Beiträge
Was spricht hier gegen "AutoWert"`?
ansonsten musst du halt an geeigneter Stelle mittels der Doänenfunktion "DomMax" den bisher größten Wert heraussuchen und um eins erhöhen.
Etwa in der Form (VBA)
MyIndex=DomMax("ID","tblNamen") + 1
Volker
AutoWert kann ich nicht auf die erste Spalte anwenden, da schon Werte drinstehen (sagt mir Access). Ich müsste eine neue Spalte erstellen und dort einen AutoWert erzeugen lassen. Das ist nur doof, dass diese Werte dann nichts mit mit der Spalte "ID" zu tun haben.
Zu deinem VBA:
Ich müsste ja eine Anfügeabfrage erstellen, welche sich die neuen, anzufügenden Daten aus einer Tabelle holt und an die vorhandene anfügt. Wo mache ich denn da den VBA-Code hin? Und, funktioniert das auch, wenn ich mehrere Datensätze einfüge?
Öhm, wie kommen denn jetzt die Daten in die Tabelle?
Ich bin schon eher davon ausgegangen, dass die Daten manuell eingetragen werden (über ein Formular)
Da ich deine DB und deren Aufbau nicht kenne, kann ich auch nicht konkreter werden.
wichtig für mich wäre zunächst: wie kommen die Daten in die Tabelle? Gibt es ein Eingabeformular, oder was machst du?
Volker
Die neuen Daten bekomme ich in Excel-Tabellenform. Also einfach mal 30 neue Datensätze. Die copy-paste ich einfach in eine Access-Tabelle, auf die eine Abfrage zurückgreift, welche mir die Datensätze umsortiert und filtert, so dass nur noch die für mich relevanten Datensätze vorhanden sind (die Abfrage greift (noch) nicht direkt auf die Tabelle zu, aber das ist erst mal unwichtig).
Also sind vielleicht 25 übrig. Bei denen fehlt nur noch die richtige ID vorne. Ich dachte an so etwas ähnliches wie du: "Schau in der Hauptliste nach dem maximalen ID-Wert und füge eins hinzu. Zähle anschließend einfach aufwärts weiter. Und dann kopiere die Daten unten an die Haupttabelle."
Mein anderes Problem schildere ich dann später... ;)
Danke schon mal für die Hilfe.