UPDATE para renumerar registros en un orden

Pero esto es lo que estoy haciendo, lo que quería saber es si lo puedo hacer con una instrucción UPDATE directa sobre la base de datos, para que no me tenga que bajar el recordset, es una cuestión de tiempo, si la tabla que se quiere ordenar es pequeña, no hay problema, pero si la tabla es más grande, entonces la cosa cambia.

1 respuesta

Respuesta
1
A ver, va la siguiente propuesta, si tienes duda vuelve a preguntar
'Deberas tener una referencia a DAO 3.X
dim db as database
dim sql as string
dim rs as recorset
dim consecutivo as long
set db=currentdb
sql="select * from tabla order by fecha"
set rs=db.openrecorset(sql)
consecutivo=1
if rs.bof and rs.eof then
msgbox"no hay datos en la tabla"
exit sub
end if
'si llegamos hasta aqui es que si hay registros
do until rs.eof
with rs
.fields("numero")=consecutivo
.update
end with
consecutivo=consecutivo+1
rs.movenext
Loop
rs.close
db.close
set rs=nothing
set db=nothing
Si tienes duda vuelve a preguntar
Hola,
Quisiera saber si puedo construir una instrucción UPDATE que me permita actualizar todos los registros de una tabla, dando números consecutivos a un campo numérico, reflejen un determinado orden de los registros de una tabla.
Ejemplo:
- Código
- Nombre
- Fecha
- Numero
Hacer que el campo "numero" contenga el número de registro que tendría si se mostrara el contenido de la tabla ordenado por ejemplo por el campo fecha.
Gracias anticipadas
Pc burner me ha facilitado (por otro camino) la solución y realmente va muy rápida. Os adjunto su respuesta:
si quieres podrias probar a crear una tabla con el campo numero como integer identity (1,1). luego haz un insert into 'nombre de tabla'
select codigo,nombre,fecha from 'tabla1' order by fecha asc
De ese modo tendrás un numero secuencial para cada registro.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas