FoxPro/Visual FoxPro - CAMPO AUTO INCREMENTABLE EN TABLA DBF CON SQL Y CON DATOS YA EN LA TABLA

 
Vista:
sin imagen de perfil
Val: 30
Ha aumentado 1 puesto en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

CAMPO AUTO INCREMENTABLE EN TABLA DBF CON SQL Y CON DATOS YA EN LA TABLA

Publicado por julio cesar (12 intervenciones) el 08/08/2020 15:47:22
Buenos dias amigos, tengo una pregunta y he revisado antes de poder llegar al foro pero no he podido resolverla, tengo una tabla de nombre "itemsav" que me almecena una serie de registros en su momento no vi la necesidad de poner un id auto incrementable, pero ahora me urge ponerlo, la tabla no tiene muchos registros, lleva 161 registros apenas, pero tiene algunas columnas, realizar una tabla nueva y empezar a poner los datos fue una opción pero intente lo siguiente.

1 intente poner un campo de tipo entero, luego le puse los numeros en su consecutivo, teniendo encuenta los eliminados y los no eliminados para que quedara una secuencia nuemerica unica por registro, luego de ello pase ese campo a tipo autoincmretble, pero al montar un nuevo registro me toma como 1 el campo autoincrementable.

2 cree una tabla igual con sus mismos campos y logitud, intente realizar un insert into itemsav2(itemsav2.(todos los campos )) select itemsav.(todos los campos) pero esto no me dio resultado

3 intente hacer un insert into itemsav2 select * from itemsav pero me da un error por el campo autoincremetable y no me pasa los datos.

la pregunta es ¿como puedo ponerle el campo autoincrementable para que sea el id unico del registro luego de tener un tabla con datos?

espero me haga entender y me puedan ayudar gracias de antemano
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
Imágen de perfil de Leonardo Daniel A.
Val: 1.063
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

CAMPO AUTO INCREMENTABLE EN TABLA DBF CON SQL Y CON DATOS YA EN LA TABLA

Publicado por Leonardo Daniel A. (440 intervenciones) el 09/08/2020 04:46:56
hola, si no tienes id's en la tabla,, agrega un campo numerico y ponle un identificador a cada uno,

REPLACE ALL id WITH recno()

y para generar el id de la tabla puedes hacer lo sig antes de generar un registro nuevo (algo mas o menos asi, no tengo vfox en la laptop)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
_NuevoID = SiguienteID("Clientes")
 
FUNCTION SiguienteID
parameter _tabla
 
IF USED(_tabla)
    SELECT (_tabla)
ELSE
    USE (_tabla)
END IF
CALCULATE MAX(id) TO _UltimoID
 
_UltimoID = _UltimoID + 1
 
RETURN _UltimoID
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