Copiar registros de una tabla a otra

Respuesta de
a
Usuario
Hola!

Tengo una tabla rellena llamada Usuarios con los campos Nombre, Edad y Numero (un numero del 1 al 9400 diferente para cada registro, en total 9400 registros). Dispongo de otra tabla con la misma estructura pero vacía.

Me interesaría un código que me copiara automáticamente 1800 registros de la primera tabla a la segunda, teniendo en cuenta que le he de introducir el valor del campo Numero inicial a partir del cual copiará los registros y considerando que si llega al final de la primera tabla debe seguir copiando por el principio.

Es decir, yo introduzco el número 8000, entonces copiará del registro que tiene valor en el campo Numero 8000 al que tiene 9400 y como sólo ha copiado 1400, seguirá copiando desde el registro que tiene valor en el campo Numero 1 al 400 (en total 1800).

Muchas Gracias!
Experto
Hola fejr,

Con un código como este podrás hacerlo, el valor se toma de una caja de texto llamada texto1

Dim db As Database
Dim rs As DAO.Recordset
Dim rs2 As DAO.Recordset
Dim mivalor As Integer

Set db = CurrentDb
Set rs = db.OpenRecordset("select * from tabla1 where numero >= " & Me.Texto1 & " and numero <= " & Me.Texto1 + 1799)
rs.MoveLast
mivalor = rs.RecordCount
rs.MoveFirst
faltan = 1800 - mivalor

Set rs2 = db.OpenRecordset("select * from tabla2")

Do
rs2.Edit
rs2("nombre") = rs("nombre")
rs2("edad") = rs("edad")
rs2("numero") = rs("numero")
rs2.Update
rs.MoveNext
rs2.MoveNext
Loop Until rs.EOF

If faltan > 0 Then
Set rs = db.OpenRecordset("select * from tabla1 where numero >= 1 and numero <= " & faltan)

Do
rs2.Edit
rs2("nombre") = rs("nombre")
rs2("edad") = rs("edad")
rs2("numero") = rs("numero")
rs2.Update
rs.MoveNext
rs2.MoveNext
Loop Until rs.EOF

End If

MsgBox "hecho"

Un saludo.
Usuario
Acabo de comprobar que si coloco un registro cualquiera en la segunda tabla el error no se produce, pero sin embargo solo copia un registro (? ¿).

Saludos,
Usuario
Hola!

Hasta hoy no he podido probar el código, y cuando lo ejecuto me aparece el mensaje de error 3021 "No hay ningún registro activo". (Está situado el depurador sobre la primera línea rs2.Edit), y no me deja continuar.

¿Sabes a qué es debido?