Foros del Web » Programando para Internet » ASP Clásico »

Como recuperar el id (autonum) de un registro al añadirlo?

Estas en el tema de Como recuperar el id (autonum) de un registro al añadirlo? en el foro de ASP Clásico en Foros del Web. Hola a todos, Os explico mi problema: Tengo un formulario, cuando el usuario lo valida se graban los datos en una BD Access. Entonces, se ...
  #1 (permalink)  
Antiguo 19/06/2003, 11:24
 
Fecha de Ingreso: septiembre-2002
Ubicación: Bangui
Mensajes: 58
Antigüedad: 22 años, 7 meses
Puntos: 0
Pregunta Como recuperar el id (autonum) de un registro al añadirlo?

Hola a todos,

Os explico mi problema:
Tengo un formulario, cuando el usuario lo valida se graban los datos en una BD Access.
Entonces, se abre una pagina donde salen todos estos datos para que el usuario se la pudiera imprimir.
El problema es: Quiero que salga tambien el numero de id (campo autonumerico) que le ha asignado la BD al registro y no se como recuperarlo

Si alguien sabe como hacerlo, agradezco vuestra ayuda
__________________
Nuestros sueños seguiran infectando vuestras hipocresias
  #2 (permalink)  
Antiguo 19/06/2003, 12:09
Avatar de damargon  
Fecha de Ingreso: junio-2003
Ubicación: Madrid
Mensajes: 386
Antigüedad: 21 años, 10 meses
Puntos: 3
Tienes dos procesos:
1º: subida de los datos.
2º: Recoger el dato del id

Justo después de subir los datos haz un select con los mismos datos que acaban de subir pero sólo pidiendo el valor autonúmerico del nuevo registro, te traes el dato y lo imprimes en pantalla junto con los demás datos del usuario (recogidos del formulario o directamente de la base de datos).

Espero que te sirva
  #3 (permalink)  
Antiguo 19/06/2003, 12:30
Avatar de Don Graff  
Fecha de Ingreso: noviembre-2002
Ubicación: San Bernardo - Chile
Mensajes: 410
Antigüedad: 22 años, 4 meses
Puntos: 0
el select lo puedes hacer asi

SELECT MAX(<campo_id>) FROM <nombretabla>

y con eso sacarias el valor maximo del campo id, o sea el ultimo en ser ingresado...
  #4 (permalink)  
Antiguo 20/06/2003, 03:19
 
Fecha de Ingreso: septiembre-2002
Ubicación: Bangui
Mensajes: 58
Antigüedad: 22 años, 7 meses
Puntos: 0
Gracias por vuestra ayuda,

ahora mismo lo voy a probar.
__________________
Nuestros sueños seguiran infectando vuestras hipocresias
  #5 (permalink)  
Antiguo 25/06/2003, 06:49
 
Fecha de Ingreso: septiembre-2002
Ubicación: Bangui
Mensajes: 58
Antigüedad: 22 años, 7 meses
Puntos: 0
Perdonad una ultima pregunta:
He hecho el SELECT con el MAX(<campo>)
Pero no me aclaro para recuperar el valor. Mira, yo tengo el codigo asi:

Codigo para conectarme a la BD

...

Set rsRecoger = Server.CreateObject("ADODB.Recordset")

strSQL = "SELECT MAX(Referencia) FROM tbDemandas"

rsRecoger.Open strSQL, strCon

strReferencia = rsRecoger("Referencia")

aqui me da el error:

No se encontró el elemento en la colección que corresponde con el nombre o el ordinal pedido.
__________________
Nuestros sueños seguiran infectando vuestras hipocresias
  #6 (permalink)  
Antiguo 25/06/2003, 09:00
Avatar de Don Graff  
Fecha de Ingreso: noviembre-2002
Ubicación: San Bernardo - Chile
Mensajes: 410
Antigüedad: 22 años, 4 meses
Puntos: 0
prueba asi

SELECT MAX(<campo_id>)as maximo FROM <nombretabla>


strReferencia = rsRecoger("maximo")

  #7 (permalink)  
Antiguo 25/06/2003, 09:03
Avatar de meru-kun  
Fecha de Ingreso: noviembre-2002
Ubicación: Madrid
Mensajes: 854
Antigüedad: 22 años, 5 meses
Puntos: 0
Select ID from tabla order by id desc

Con eso sacas la ultima id añadida...

O puedes hacer algo como:
select id from tabla where dato=ultimo dato añadido order by id desc
__________________
Tu portal de manga y anime.
  #8 (permalink)  
Antiguo 25/06/2003, 09:09
 
Fecha de Ingreso: febrero-2002
Mensajes: 442
Antigüedad: 23 años, 2 meses
Puntos: 2
No te compliques la vida.... el campo ID ya existe en la tabla no???
bueno... si es asi... cuando hagas el select en la pagina que el usuario quiere imprimir... para listar los datos... tambien agrega el id.... o sea... select id,campo2,campo3 from tabla

algo asi...
__________________
tech-nico.com
  #9 (permalink)  
Antiguo 25/06/2003, 09:36
 
Fecha de Ingreso: septiembre-2002
Ubicación: Bangui
Mensajes: 58
Antigüedad: 22 años, 7 meses
Puntos: 0
Gracias a todos, ya me funciona.
__________________
Nuestros sueños seguiran infectando vuestras hipocresias
  #10 (permalink)  
Antiguo 25/06/2003, 09:57
Avatar de Don Graff  
Fecha de Ingreso: noviembre-2002
Ubicación: San Bernardo - Chile
Mensajes: 410
Antigüedad: 22 años, 4 meses
Puntos: 0
Cita:
Mensaje Original por Kalamor
Gracias a todos, ya me funciona.

para el registro de foros del web y posterior uso por parte de otro(s) usuario(s) interesado(s) en el tema...como lo hiciste¿...
  #11 (permalink)  
Antiguo 25/06/2003, 23:09
 
Fecha de Ingreso: julio-2002
Mensajes: 447
Antigüedad: 22 años, 9 meses
Puntos: 0
Perdón, si no leí mal, estás grabando datos en la base a través de un formulario, o sea algo así (omito lo de la conexión a la base):


....
Ob_RS("Nombre") = Request.Form("Nombre")
Ob_RS("Apellido") = Request.Form("Apellido")
....
'luego viene el update

Ob_RS.Update

' y acá ya se puede recuperar el Id (si se puede trabajando en Access, en SQL Server no se puede de esta forma)
id = Ob_RS("Id")

'Cierro el RS y destruyo el obj.
Ob_RS.Close
Set Ob_RS = Nothing

Y ahi tengo el id para imprimir.
Con esto me ahorro hacer esa consulta.

Saludos, espero haber entendido bien y que sirva.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:19.