Obtener valor uniqueidentifier despues de hacer un insert

Alfonso
08 de Septiembre del 2005
Hola! Tengo una duda que me está volviendo loco. Llevo muchas horas tratando de encontrar una respuesta que seguro que para vosotros es algo muy fácil pero es que yo no tengo ni idea.

Mi problema viene cuando inserto en una tabla un nuevo registro con un identificador generado automáticamente, e intento obtener el valor de dicho identificador nuevamente, para insertar otro registro en otra tabla.

Tengo este código:
-------------------------------------------------------
Set conexion = Server.CreateObject("ADODB.Connection")
conexion.ConnectionString = BlaBlaBla 'Es un ejemplo
conexion.Open

Set citas = Server.CreateObject("ADODB.Recordset")
citas.ActiveConnection = conexion

fecha = "20050916 20:00:00"
lugar = "mi casa"

strSQL = "DECLARE @GUID uniqueidentifier "
strSQL = strSQL + " SET @GUID = NEWID() "
strSQL = strSQL + " INSERT INTO citas (id_cita, fecha, lugar) VALUES (@GUID, '"&fecha&"', '"&lugar&"') "
strSQL = strSQL + " SELECT id_cita FROM citas WHERE id_cita = @GUID"
citas.Source = strSQL
citas.CursorType = 0
citas.CursorLocation = 2
citas.LockType = 1
citas.Open()

response.write citas.Field.Item("id_cita").Value 'linea 101

-------------------------------------------------------

El error que obtengo es:

"No se encontró el elemento en la colección que corresponde con el nombre o el ordinal pedido.

/citas/citaanadir.asp, línea 101"

Lo que quiero es obtener el valor de '@GUID' generado, para poder usarlo en código ASP, algo así como:

id_cita = @GUID
Response.Write(id_cita) 'Se que esto no funciona pero es para que me entendais

Y una vez que tenga ese valor, puedo realizar otro insert:

"INSERT INTO citas_clientes (id_cita, id_cliente) VALUES ('"&id_cita&"', '"&id_cliente&"')"

Un saludo y muchas gracias