Ver Mensaje Individual
  #3 (permalink)  
Antiguo 20/06/2005, 10:38
Avatar de Neuron_376
Neuron_376
 
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 20 años, 1 mes
Puntos: 2
Hola

No estoy seguro, pero...

Intenta esto:

SQL = "select * from Eval "
RS.open SQL, conn, adOpenDynamic, adCmdTable
RS.AddNew

//Tal vez, como es autonumerico, ya se genero su DI y este campo ya existe.
newID = RS("ID_Campo")

RS("eval_descrip") = Descrip
RS("eval_fechainicial") = MostrarFechaDB(FInicio)
RS("eval_fechaFinal")= MostrarFechaDB(FFin)
RS.Update

Bueno, eso sería un método seguro de obtener ese dato, pero solo si es posible, lo cual nunca he probado.

Por otra parte, debes tener cuidado con lo que propone traguskabi, el problema es que está lanzando dos consultas separadas, lo cual da tiempo a que el insert se realize varias veces antes de hacer el select @@identity, lo cual puede provocar que te regrese un ID falso.

Para eso necesitas rutinas especiales como Store Procedures, o simplmente algun mecanismo que bloquee la tabla para que nadie pueda escribir antes de que tu hagas el select, como:

look table
inset into table
select @@identity
unlook table

Eso es más complicado, pero en SQL Server lo puedes hacer facil usando un Store Procedure y Trans, lo cual sería lo más seguro.

Suerte!!
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com