Hallo ???,
dein Name spielt schon eine Rolle da wir uns hier angewöhnt haben,
unsere Namen zu nennen. Wenn Du Antworten erwartest, sollte man Dich
auch ansprechen können (kann ja auch ein Pseudonym sein)
[...]
jetzt muss ich aber jedem einzelnen objekt einen eindeutige ID verpassen und zwar so, dass er sie rel. schnell indentifizieren kann.
nämlich so:00_54 -> steht für das 54. objekt im jahre 2000
02_1 -> steht für das 1. objekt im jahre 2002
01_998 -> steht für das 998. objekt im jahre 2001jetzt weiss ich eben nicht, wie ich das am besten machen soll, denn der händler sollte beim update formular die ID nicht selber eintippen, sondern die sollte es ihm gerade erstellen. also, aus dem jahr (z.b. 2001...dann mit dem right-befehl die ersten 2 ziffern streiche, damit nur noch 01 übrig bleibt. dann kommt eben das prob! ich habe in acces eine auto-id eingestellt (einfach der auto-wert) der immer um 1 erhöht!
das würde ja alles wunderbar klappen, wenn ich aber eben immer nur das gleiche jahr hätte...leider will der immo-händler, dass der auto-wert im neuen jahr wieder bei 1 anfängt......also, z.b.:00_987 dann kommt das neue jahr
00_1 das prob ist jetzt eben, dass der wert "1" den ich eigentlich von der ID haben will, ja schon vergeben ist und ich den nicht ein 2. mal in derselber tabelle bzw. datenbank haben kann...
[...]
Lege Dir eine Tabelle mit der folgenden Struktur an:
[tblID]
id_jahr
id_obj_id
Dort kommen das Jahr und die ID aller Objekte rein.
Jetzt haben wir zum Beispiel alle Einträge im Jahr 00:
Jahr Objektid
00 123
00 124
Jetzt musst Du diese Tabelle beim Eintragen eines neuen Objekts in etwa
so abfragen:
SELECT (max(id_obj_id) + 1) AS n_obj_id FROM tblID WHERE id_jahr = '00'
Dann gibt Dir das Statement die bisherig groesste ID + 1 des Jahres
zurück. Diese kannst Du dann im Insert Statement verwenden.
Du solltest die ID aber erst beim Eintrag ermitteln.
<%
Application.Lock
' --- Ermittle neue ID
...
' --- Neueintrag in die DB
...
Application.Unlock
%>
Tschau, Stefan