FoxPro/Visual FoxPro - porque alguien me puede explicar

 
Vista:

porque alguien me puede explicar

Publicado por rossana (29 intervenciones) el 25/05/2006 19:59:49
Es un sistema multiusuario, cuando se graba un registro, el sistema verifica
calculate max(registro) to m for not delete()
m=m+1
se graba m como identificar del registro, pero ocurre que encontre algunos registro con número identificadore duplicados, son aproximadamente 50 sobre casi 20.000 registro.
pero porque ocurre.
Por favor alguien podria ayudarme
gracias a todos por la ayuda de siempre

rossana py
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
sin imagen de perfil

RE:porque alguien me puede explicar

Publicado por Ernesto Hernandez (4623 intervenciones) el 25/05/2006 20:15:08
Necesitas validar el identificador de tu registro
if !EXIST(max(registro,"tabla")
calculate max(registro) to m for not delete()
m= m + 1
else
MessageBox("Numero de registro ya existe
m = m + 2
ENDIF

Ejemplo tu tienes una tabla con 5 registros
1
2
3
4
5

y borras el registro 3

1
2
3 <== borrado
4
5

Nuevo numero de registro

1 = 1
2 = 2
3 X
4 = 3
5 = 4
entonces cuando tu generas tu identificador del proximo registro que sera tu 6to registro le dara de nuevo el numero 5 por que el 3 ya no existe.

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

RE:porque alguien me puede explicar

Publicado por jose (16 intervenciones) el 13/06/2006 20:48:22
mas Fácil lo que tienes que hacer es sacar el ultimo valor del ultimo registro osea
Go Top
m = tabla.campo+1

el nuevo valor "m" lo almacenas en el mismo campo despues de agregar un nuevo registro, asi evitas de crear duplicados.
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