La Web del Programador: Comunidad de Programadores
 
    Pregunta:  29313 - CONOCER UN IDENTITY USANDO RECORDSET
Autor:  Melian Mejias
Actualmente estoy utilizando el proveedor de Sybase OLE DB Provider con la tecnología de acceso a datos ADO 2.5, Visual Basic 6.0 y Sybase 11.5.

¿Cómo puedo saber si una columna de una tabla es IDENTITY usando un objeto de la clase Recordset de ADO?

Se los agradecería mucho.

  Respuesta:  Pedro Herrarte Sanchez
Tu respuesta tiene facil solución, existe una funcion de SQL Server que te devuelve el valor de un identity.
ejecuta la suguiente consulta y te devolvera el identity
Select @@identity

--Sin clausula from ni nada.

  Respuesta:  Wilfredo Pérez Velázquez
Hola colega:
Al abrir un recordset, puedes obtener lo que deseas con la colección fileds como te muestro a continuación
Acceso.rsVehiculos_Promociones.Fields(0).name

Ahora si sabes el nombre del campo como importe
Acceso.rsVehiculos_Promociones.Fields("importe").type te devolverá un número, pues VB tiene muchas constantes, pero como tu sabes cual es el campo que te interesa y además sabes que es del tipo "IDENTITY", te fijas en que valor tiene y lo utilizas siempre de forma abstracta para obtener los campos IDENTITY en una tabla como este ejemplo:
for t=0 to Acceso.rsVehiculos_Promociones.Fields.count-1
if Acceso.rsVehiculos_Promociones.Fields(t).type=valor que obtuviste then
msgbox "Este es IDENTITY "
end if
next

Un saludo