campo autonumerico

arturo
23 de Abril del 2008
saludos a todos, desde ya agradecido con la respuesta..., necesito crear un campo autonumerico, en vfp6..es para codigos de ingreso

mjose
23 de Abril del 2008
Mira a ver si te sirve:
Imaginando q la tabla_A ya existe y q el campo_A también de tipo char (6)

select tabla_A
go top
num=0
scan
num=num+1
replace campo_A with PADL(num,6,'0') in tabla_A
endscan

Contestame te sirva o no,ok?


Juan C. Reyes
23 de Abril del 2008
Buenas tardes

He creado una tabla en VFP con 7 campos, uno de ellos necesito que sea autonumérico. Necesito que este campo vaya desde 1 hasta 1500000. Cómo puedo hacer para que se agregue a este campo los valores o qué propiedad le asigno al campo para que cumpla esta función?

Gracias por la ayuda que pueda recibir

lechusg
23 de Abril del 2008
Tenes que crear un procedimiento en la base de datos.
Primero empezá a modificar la Base de Datos con: MODIFY DATABASE [tu base de datos].
Se te abre la base de datos con todas las tablas. Hace click con el botón derecho en un espacio libre y elegí la opción "Edit Stored Procedures..."; se habre una ventana para escribir código.
Ahora escribí el siguiente código:

*- Supongo que el campo se llama Id y existe un indice sobre el

PROCEDURE max_id
PARAMETERS pTabla

USE ("tu base de datos" + m.pTabla) IN 0 AGAIN ALIAS "__MaxId" ORDER BY Id

GO BOTTOM IN "__MaxId"
m.Next_Id = __MaxId + 1
USE IN "__MaxId"

RETURN m.Next_Id
ENDPROC

Después cerrá la ventana y andá a modificar la tabla. Parate en el campo que quieras que sea autonumérico y en la opción "Default value" (abajo a la derecha) poné: Max_Id(nombre_tabla)

Eso es todo. De esta manera la Base de Datos genera el valor de campo y te olvidas de esto.

Si no entendiste algo escribime (ahora me voy de vacaciones y hasta Febrero no vuelvo)

Espero haber sido util. Saludos


sgomez
23 de Abril del 2008
Como no existe un campo de ese tipo vas a tener que programar codigo que lo simule.
Si tenés una base de datos podés agregar un desencadenante al insertar (en el diseño de la tabla), donde iría la expresión hacés una llamada algun .prg en forma de función. En este .prg buscás el código mayor, le sumás uno y lo guardás en la tabla.
Si usás tablas libres podrías hacer el mismo prg pero lo tenés que llamar vos.
Todo esto no lo probé, es teórico, pero se me ocurre que así podría andar.