Copiar registros de una tabla a otra

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!
1

1 respuesta

1
Respuesta de
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.
Añade un comentario a esta respuesta
Añade tu respuesta
Haz clic para o
Escribe tu mensaje
¿No es la respuesta que estabas buscando? Puedes explorar otras preguntas del tema Microsoft Access o hacer tu propia pregunta: