Foros del Web » Programación para mayores de 30 ;) » Programación General »

Consulta a BD con ADO y VB

Estas en el tema de Consulta a BD con ADO y VB en el foro de Programación General en Foros del Web. Nececito ideas, yo tengo las mias , pero quiero ver como lo harian ustedes. Necesito hacer una consulta a una BD empezando desde el ultimo ...
  #1 (permalink)  
Antiguo 31/07/2003, 02:16
 
Fecha de Ingreso: julio-2003
Ubicación: Buenos Aires/Capital Federal
Mensajes: 181
Antigüedad: 20 años, 9 meses
Puntos: 0
Consulta a BD con ADO y VB

Nececito ideas, yo tengo las mias , pero quiero ver como lo harian ustedes.

Necesito hacer una consulta a una BD empezando desde el ultimo y que me devuelva la pos del 1° registro donde fue encontrado.

Si es posible con consultas sql , quiero evitar los "for".

Agradesco de antemano sus ideas.
__________________
No se puede inventar un sistema a prueba de tontos, porque los tontos son muy ingeniosos.
  #2 (permalink)  
Antiguo 31/07/2003, 05:51
 
Fecha de Ingreso: junio-2003
Mensajes: 111
Antigüedad: 20 años, 10 meses
Puntos: 0
Te digo como lo haria:
"Select lo_que_sea from nombre_tabla where el_criterio_de_Seleccion order by por_ lo_que_lo_queres ordenado"

despùes en el recordset
nombre_data.recordset.movelast

y ese sería el último si queres ir al anterior (penúltimo)
creo que en ves de movelast es moveprevius

saludos
  #3 (permalink)  
Antiguo 31/07/2003, 22:51
 
Fecha de Ingreso: julio-2003
Ubicación: Buenos Aires/Capital Federal
Mensajes: 181
Antigüedad: 20 años, 9 meses
Puntos: 0
Gracias. Pero yo queria la posicion dentro de la BD y no de la consulta,¿no se si me explico?.
__________________
No se puede inventar un sistema a prueba de tontos, porque los tontos son muy ingeniosos.
  #4 (permalink)  
Antiguo 01/08/2003, 08:59
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
entonces solo quitale el ORDER BY a la sentencia, eso te regresara los datos en el orden en que se encuentren.

Pero aun asi se me hace un poco precario, mejor te recomendaria almacenar la fecha de insercion o un campo de autoincremento que te permita saberlo con seguridad.
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #5 (permalink)  
Antiguo 02/08/2003, 05:35
 
Fecha de Ingreso: julio-2003
Ubicación: Buenos Aires/Capital Federal
Mensajes: 181
Antigüedad: 20 años, 9 meses
Puntos: 0
Yo lo pensaba hacer con id p/registro pero no me parece eficaz, ya que si borro un registro tengo que actualizar los id y si son muchos el tiempo es demaciado. Con respecto al campo autonumerico , si bien se puede hacer incremental, al borrar un registro no queda correlativo y este metodo no daria el resultado correcto.
Gracias a todos, sigamos dando ideas.
__________________
No se puede inventar un sistema a prueba de tontos, porque los tontos son muy ingeniosos.
  #6 (permalink)  
Antiguo 04/08/2003, 09:25
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
No hay problema, si del 100 se brinca al 120 no hay problema, 100 es y sera menor que 120.

98
99
100
120
121
122

Ves? Se sigue ordenando, no hay problema mientras no pretendas asumir que el ID del ultimo registro indica el numero de registros en tu BD (suponer que tienes 122 registros)
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #7 (permalink)  
Antiguo 05/08/2003, 02:20
 
Fecha de Ingreso: julio-2003
Ubicación: Buenos Aires/Capital Federal
Mensajes: 181
Antigüedad: 20 años, 9 meses
Puntos: 0
Justamente lo que pretendo hacer no es un ordenamiento , sino lo que tu sitaste:

"...no hay problema mientras no pretendas asumir que el ID del ultimo registro indica el numero de registros en tu BD (suponer que tienes 122 registros)".

Quiero hacer una consulta "x" que me de un unico resulltado (1 solo registro) y que me de en la posicion que lo encontro dentro de la BD (no en la consulta, que como consta de un solo registro devolvera siempre 1).
__________________
No se puede inventar un sistema a prueba de tontos, porque los tontos son muy ingeniosos.
  #8 (permalink)  
Antiguo 05/08/2003, 10:02
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Eso lo puedes hacer con el campo ID:

1.
Por algun metodo investiga el id del registro que quieres saber, lo usual sera un select con la descripcion del registro (supongamos que el ID buscado sea 121).

2.
SELECT COUNT(campo_id) FROM mitabla WHERE campo_id <=121

Eso te regresara la cantidad de registros que estan antes que el registro mas uno (por el <=), que creo que es lo que quieres obtener (posicion por orden de insercion).

Espero te sirva.
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
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 03:55.