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