Copiar el contenido de una tabla en otra tabla

Romi
19 de Junio del 2005
tengo que copiar todos los registros de una tabla en otra tabla. Lo hago con un
do while !EOF()
sele tabla2
append blank
replace tabla2.campo1 with tabla1.campo1
...
sele tabla1
if EOF()
exit
endif
skip 1
if EOF()
exit
endif
enddo
El problema que tengo es que me sale un error que dice:
DESBORDAMIENTO NUMÉRICO (SE HAN PERDIDO DATOS)
¿Hay alguna otra forma más sencilla de copiar el contenido de una tabla a otra para que no me de este error?
Muchas gracias
Romina

GSoriano
19 de Junio del 2005
Puede ser así:
Select 1
Use Tabla1
Select 2
Use Tabla2
Append from Tabla1


Andres
19 de Junio del 2005
Si te sale desbordamiento numerico es porque uno de los campos de la tabla2 es de menor tamaño que en la tabla 1 y no le entra algun dato.
Fijate que sean los campos iguales.
Ahora si pones un DO WHILE !EOF() , para que pones IF EOF()
EXIT
ENDIF ??????

ceyzaguirre
19 de Junio del 2005
Hola Romi.
Mira...para empezar revisa la estructura de datos de ambas tablas.
verifica las caracteristicas de los campos, si son Char, Num, Log, etc... ademas la dimension del campo
esto es muy importante antes de continuar

una vez que ya lo hiciste y esta todo OK te recomiendo la siguiente rutina:

ten en cuenta que queremos copiar de tabla1 a tabla2

sele tabla1
go top
do whil !eof()
scatter memvar
sele tabla2
append blank
gather memvar
sele tabla1
skip
enddo

esta rutina traslada la data integra.
si tienes campos tipo Memo deberas considerar
scatter memvar memo
gather memvar memo

espero te sea de utilidad
slds
Carlos Eyzaguirre Avila
Lima-Peru

Romi
19 de Junio del 2005
Muchas gracias por la informacón. Gracias a ustedes pude solucionar el problema.
Hasta pronto.
Romi.