FoxPro/Visual FoxPro - copiar y pegar un registro existente enla misma tabla

   
Vista:

copiar y pegar un registro existente enla misma tabla

Publicado por Fernando fperezcal@gmail.com (2 intervenciones) el 17/09/2014 18:02:37
buenos dias desde peru: la consulta es como puedo hacer para copiar y pegar un registro y pegarlo en l misma tabla mediante la ventana de comandos alguien por favor si podria ayudarme es que soy princiopiante en este lenguaje y tengo este problema


de antemano gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

copiar y pegar un registro existente enla misma tabla

Publicado por Ernesto (4632 intervenciones) el 17/09/2014 18:15:10
en la ventana de comando teclea SET CARRY ON

te posicionas en el registro que deseas duplicar y le das {Ctrl} + {Y}

Listo


Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Y si quiero copiar varios registros

Publicado por memo (2 intervenciones) el 14/11/2014 00:14:15
Hola!

Y si quiero replicar mas registros?

ejemplo: Tengo en mi tabla 40 registros en total y los quiero duplicar todos tal cual? Como puedo hacerle?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Y si quiero copiar varios registros

Publicado por Fidel José (558 intervenciones) el 14/11/2014 00:51:47
No sé para qué quieras hacer eso, pero intenta con este código
Select * from mitabla where .t. INTO CURSOR pase
select miTabla
Append from dbf("pase")
select pase
use
select mitabla
BROWSE
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Y si quiero copiar varios registros

Publicado por memo (2 intervenciones) el 14/11/2014 02:21:03
Hola! nuevamente.

Ya hice los pasos que me indicaste y todo perfecto pero, que pasa si por ejemplo: tengo 900 registros y quiero llegar a los 1000 como puedeo duplicar solo 100 de los que ya tengo para ya no capturarlos?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Y si quiero copiar varios registros

Publicado por Fidel José (558 intervenciones) el 14/11/2014 13:34:55
Ahí lo único que tienes que resolver a que 100 registros te refieres.
Una alternativa es que sean lo primeros 100 de algún orden (requerido). Supongamos que la tabla tiene un campo llamado "ID", se puede poner
SELECT * TOP 100 FROM EsaTabla ORDER BY ID INTO CURSOR PASE

Otra, es tomar los 100 primeros registros físicos de la tabla:
SELECT * FROM TalTabla WHERE RECNO()<101 INTO CURSOR pase

Otra es tomar los últimos 100 registros. Por ejemplo, si la tabla se llama "Clientes"
lnRecords=100
lnLast=Reccount("CLIENTES")
lnIni=lnLast - lnRecords + 1
SELECT * FROM CLIENTES WHERE RECNO() BETWEEN lnIni AND lnLast INTO CURSOR pase

Y todas las otras formas que puedas imaginarte.
En algunos casos puede resultar más práctico generar un cursor vacío y llenarlo con un scan / endscan
Supongamos que queremos tomar todos los que tienen algún valor en el campo ID y que fueron ingresados entre dos fechas y que a la vez, no sean más que 100. Si el campo que tiene la fecha de actualización se llama "fegraba"

ldFeIni=Date(2013,7,1)
ldFeFin=Date(2013,12,31)
lnCount=0
SELECT * FROM CLIENTES WHERE .F. INTO CURSOR PASE
SELECT CLIENTES
SCAN FOR !EMPTY(ID) AND BETWEEN(FEGRABA,ldFeIni , ldFeFin )

SCATTER TO gaPase
INSERT INTO PASE FROM ARRAY gaPase
lnCount= lnCount + 1
IF lnCount > 100
exit
ENDIF
ENDSCAN
? "Registros pasados "+transform(lnCount)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar