Hallo Mansur,
also ich setze immer
ist wohl access 97 mit autowert

'---------schnipp-----

Dim database,db,rs,tabelle,entry,rsfield,rsvalue
tabelle = "meine Tab"
database = "../verzeichnis/datenbank"
Set db = Server.CreateObject("ADODB.Connection")
set rs = Server.CreateObject("ADODB.Recordset")
db.Open "DBQ=" & Server.Mappath("../" & database & ".mdb") & ";Driver={Microsoft 
Access Driver (*.mdb)};"
rs.open tabelle, db, adLockOptimistic, adCmdTable '    <-------------------------  
adCmdTable

for each entry in Request.Form
rsfield = entry
rsvalue = Request.Form(entry)
If rsvalue > "" then
select case Lcase(rsfield)
case"pruef"
'
case else
rs.fields(rsfield) = rsvalue
end select
rs.Update
Dim Gastid
gastid = rs.fields("gastid").value
end if

next
'-----------  schnapp -----

mfg

Andr�
----- Original Message ----- 
From: "Joachim van de Bruck" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, October 25, 2001 4:27 PM
Subject: [aspdedatabase] AW: LastID von AddNew


Hallo!

>    Set oRs = Server.CreateObject("ADODB.recordset")
>    Set oRs.ActiveConnection = oConn
>    oRs.Source = strSQL
>    oRs.LockType = 3        'adLockOptimistic
>    oRS.CursorType = 1    'adOpenKeyset
>    oRs.Open
> 
> ....Dann habe ich meine Verbindung....
> 
> oRs.AddNew
> 
> oRS("....Ein paar Daten einf�gen ...")
> 
> oRs.Update
> idOfAddedRecord = oRS("ID")
> 
> Leider ist das ID leer ....
> Was ich will ist garantiert die richtige ID zu dem eben eingetragenen
> Datensatz ermitteln.
> Ich hab gelesen, da� es wichtig ist das CursorType = 1 ist
(adOpenKeyset)
> ist ....

Ne, das ist �berhaupt nicht wichtig.

Wichtig ist, dass das Property "Update Resync" auf
"adResync_AutoIncrement" gesetzt wird. Manchmal macht ADO das
automatisch, abh�ngig von Treiber, CursorLocation und CursorType, z. B.
bei Access mit OLEDB und CursorLocation=adUseClient und
CursorType=adOpenStatic.

Ich denke, dass es nicht schadet, das Property explizit zu setzen, dann
klappt's immer. Ansonsten schau mal in die ADO-Dokumentation.

Auf keinen Fall brauchst Du den Keyset-Cursor. Der ist f�rs Web viel zu
aufwendig.

�brigens w�rde ich "AddNew" auch mit Parametern aufrufen, also
oRS.AddNew array("...", "...", "...", ...), array(..., ..., ..., ...)
Warum jede Spalte einzeln zuweisen?

Freundliche Gr��e
Joachim van de Bruck



| [aspdedatabase] als [EMAIL PROTECTED] subscribed
| http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp


| [aspdedatabase] als [email protected] subscribed
| http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp

Antwort per Email an