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

Como puedo mostrar el ultimo registro de una consulta?

Estas en el tema de Como puedo mostrar el ultimo registro de una consulta? en el foro de ASP Clásico en Foros del Web. Hola a todos estoy tratando de desplegar el ultimo registro traido de una consulta pero me muestra el primer registro. Como le puedo hacer? Suponiendo ...
  #1 (permalink)  
Antiguo 10/06/2003, 15:50
 
Fecha de Ingreso: mayo-2003
Mensajes: 17
Antigüedad: 22 años
Puntos: 0
Pregunta Como puedo mostrar el ultimo registro de una consulta?

Hola a todos

estoy tratando de desplegar el ultimo registro traido de una consulta pero me muestra el primer registro.

Como le puedo hacer?

Suponiendo que traigo todos los datos de una BD pero solo quiero mostrar el ultimo reqistro.

Espero me puedan ayudar, gracias.
  #2 (permalink)  
Antiguo 10/06/2003, 16:04
Avatar de Fr@Nc3$c0  
Fecha de Ingreso: abril-2002
Ubicación: Barcelona (Spain)
Mensajes: 710
Antigüedad: 23 años, 1 mes
Puntos: 1
te situas en el ultimo registro del recordset.

Move RS.EOF

Saludos.
__________________
Francesc Mula Calleja
Hay mucho por ver todavía...
  #3 (permalink)  
Antiguo 10/06/2003, 16:10
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
hay otra manera... por qué querrías traer, supongamos, 1500 registros al recordset para mostrar sólo el último? fijate así:

SELECT Last(Tabla.Campo) AS UltimoReg FROM Tabla
__________________
...___...
  #4 (permalink)  
Antiguo 10/06/2003, 16:15
 
Fecha de Ingreso: mayo-2003
Mensajes: 17
Antigüedad: 22 años
Puntos: 0
En donde debo de poner la instruccion?

perdon por mi ignorancia pero en donde o como debo de poner la intruccion move.Eof

<%
IdCliente = Request("IdCliente")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("..\CGI-BIN\AvcysWeb.mdb"))

strsql = "SELECT * FROM Servicios_Trabajo INNER JOIN Clientes ON Servicios_Trabajo.IdCliente=Clientes.IdCliente WHERE Clientes.IdCliente =" & IdCliente
set rs = CreateObject("ADODB.Recordset")
rs.Open strsql, Conn
rs.Move.EOF
%>

Gracias
  #5 (permalink)  
Antiguo 10/06/2003, 16:20
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
creo que no es ni "Move RS.EOF" ni "rs.Move.EOF" sino rs.MoveLast e iría en el mismo lugar donde pusiste "rs.Move.EOF"
__________________
...___...
  #6 (permalink)  
Antiguo 10/06/2003, 16:38
 
Fecha de Ingreso: mayo-2003
Mensajes: 17
Antigüedad: 22 años
Puntos: 0
Re: En donde debo de poner la instruccion?

Fijate que ya lo cambie por rs.movelast y aun asi me sigue marcando error.

No tengo ni idea que pueda ser
  #7 (permalink)  
Antiguo 10/06/2003, 17:34
 
Fecha de Ingreso: mayo-2003
Ubicación: Montevideo - Uruguay
Mensajes: 37
Antigüedad: 22 años
Puntos: 0
quizas ya este en el final proba esto:

If not rs.eof then
rs.movelast
end if

saludos
nICO
  #8 (permalink)  
Antiguo 11/06/2003, 00:22
 
Fecha de Ingreso: mayo-2003
Mensajes: 17
Antigüedad: 22 años
Puntos: 0
Fijate que ya detecte que unicamente tengo problema si pongo la intruccion Movelast porque si pongo Movefirst o Movenext no tengo problema alguno.

Que podra ser?
  #9 (permalink)  
Antiguo 11/06/2003, 05:05
Avatar de Fr@Nc3$c0  
Fecha de Ingreso: abril-2002
Ubicación: Barcelona (Spain)
Mensajes: 710
Antigüedad: 23 años, 1 mes
Puntos: 1
Ola, siento el retraso.

Como bien dice Dazuaga, con RS.MoveLast no debería existir ningún problema, pues simplemente recorres tu recordset.
Quizá la razón es que no habías declarado los cursores del recordset, prueba poniendo los cursores 1, 3, si no sabes a lo que me refiero, lee:
http://www.aspfacil.com/articulos/040401.asp


<%
IdCliente = Request("IdCliente")

Set Conn = Server.CreateObject("ADODB.Connection")
set RS = CreateObject("ADODB.Recordset")
Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("..\CGI-BIN\AvcysWeb.mdb"))

strsql = "SELECT * FROM Servicios_Trabajo INNER JOIN Clientes ON Servicios_Trabajo.IdCliente=Clientes.IdCliente WHERE Clientes.IdCliente =" & IdCliente

RS.Open strsql, Conn, 1, 3

RS.MoveLast

Response.Write RS("XXX")
%>


Espero te valga!
Saludos.
__________________
Francesc Mula Calleja
Hay mucho por ver todavía...
  #10 (permalink)  
Antiguo 11/06/2003, 12:47
 
Fecha de Ingreso: mayo-2003
Mensajes: 17
Antigüedad: 22 años
Puntos: 0
Sonrisa

Muchisimas gracias eso era lo que necesitaba saber.
  #11 (permalink)  
Antiguo 11/06/2003, 17:09
Avatar de Fr@Nc3$c0  
Fecha de Ingreso: abril-2002
Ubicación: Barcelona (Spain)
Mensajes: 710
Antigüedad: 23 años, 1 mes
Puntos: 1
De nada cairemaster, muchos saludos y suerte
__________________
Francesc Mula Calleja
Hay mucho por ver todavía...
  #12 (permalink)  
Antiguo 12/06/2007, 09:09
 
Fecha de Ingreso: marzo-2007
Ubicación: Mexico
Mensajes: 99
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: Como puedo mostrar el ultimo registro de una consulta?

hola que tal muchisimas gracias a todos a mi tambienme sirvio a pesar de que la fecha ya esta un poqito atrasadas, no dejen de ilustrarnos con sus enseñanzas, mi mas sincera felicitacion , me gustaria explicar con bolitas y palitos jiji porq yo no entendia solo por si a alguien le pasara lo mismo q a mi me pase casi 1 hora viendo el ejemplo...
IdCliente = Request("IdCliente")

Set Conn = Server.CreateObject("ADODB.Connection")
set RS = CreateObject("ADODB.Recordset")
Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("..\CGI-BIN\AvcysWeb.mdb"))

strsql = "SELECT * FROM Servicios_Trabajo INNER JOIN Clientes ON Servicios_Trabajo.IdCliente=Clientes.IdCliente WHERE Clientes.IdCliente =" & IdCliente

RS.Open strsql, Conn, 1, 3

'RS, ES EL OBJETO RECORDSET
'STRSQL, ES LA CADENA QUE CONTIENE LA CONSULTA A NUESTRA BD
'CONN ES EL OBJETO CONNECTION A NUESTRA BD
' EL 1, EL TIPO DE CURSOR PARA MOVERNOS EN EL REGISTRO,CHEQEN EL LINK
' EL 3, UN TIPO DE CERROJO PARA ASEGURAR NUESTRA BD

RS.MoveLast

Response.Write RS("XXX")
  #13 (permalink)  
Antiguo 12/06/2007, 09:48
Avatar de CésarBalaguer  
Fecha de Ingreso: octubre-2006
Ubicación: en mi casa
Mensajes: 181
Antigüedad: 18 años, 7 meses
Puntos: 0
Re: Como puedo mostrar el ultimo registro de una consulta?

no era mas facil hacer un order by codigo desc en el query y mostrar unicamente el primer registro?
  #14 (permalink)  
Antiguo 13/06/2007, 11:35
 
Fecha de Ingreso: marzo-2007
Ubicación: Mexico
Mensajes: 99
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: Como puedo mostrar el ultimo registro de una consulta?

fijate que tambien es buena idea no se me habia ocurrido, ahora ya tenemos dos maneras de encontrar el ultimo registro,
tu dices: Por ejemplo
sql="select * from estudiantes order by id_estudiante desc"
consulta("id_estudiante")
  #15 (permalink)  
Antiguo 13/06/2007, 11:41
Avatar de CésarBalaguer  
Fecha de Ingreso: octubre-2006
Ubicación: en mi casa
Mensajes: 181
Antigüedad: 18 años, 7 meses
Puntos: 0
Re: Como puedo mostrar el ultimo registro de una consulta?

si, era eso lo que yo hubiese planteado, sin embargo la opciòn del MoveLast tambièn me parece muy buena.
Aprovecho para recomendarte que procures no usar el SELECT * FROM..., porque haces trabajar màs a la base de datos y eso consume mas tiempo, mejor enumera las columnas una a una: SELECT columna1, columna2, columna3 FROM...
e inclùye ùnicamente las columnas que vas a necesitar.
  #16 (permalink)  
Antiguo 13/06/2007, 12:01
 
Fecha de Ingreso: marzo-2007
Ubicación: Mexico
Mensajes: 99
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: Como puedo mostrar el ultimo registro de una consulta?

ok gracias por tu recomendacion asi lo hago siempre en algun lugar de este foro lei esa recomendacion y desde entonces solo qise ahorrar un poco al escribir jeje
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

SíEste tema le ha gustado a 2 personas




La zona horaria es GMT -6. Ahora son las 14:34.