FoxPro/Visual FoxPro - Problema con contador

 
Vista:

Problema con contador

Publicado por Aprendiz (30 intervenciones) el 28/02/2010 07:21:51
Hola amigos que tal.. bueno tal ves puedan ayudarme con este problema..

la cuestion es que tengo un form el cual al presionar nuevo.. este genera un codigo de transaccion y para lo cual lee la tabla y se va al ultimo registro y le suma + 1,

y asi de esta manera obtengo el siguiente numero. para el codigo.. pero la cuestion es que cuando guardo 2 arhvos va todo bien. y el tercero.. me da error.. al presioanr nuevo .. me da como codigo 2.... voy al entorno de datos.. y los datos no estan guardados secuencialmente.. como primero miro al codigo 2 y de ultimo al 1 y por eso el codigo me da el codigo 2 como siguiente.. pero como el codigo llave primaria me refleja el error...

Que puedo hacer..?????
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
Val: 309
Bronce
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

RE:Problema con contador

Publicado por santiago (551 intervenciones) el 02/03/2010 20:06:01
El problema esta en que usas los registros para contar y producir un numero, como has observado, no te funciona por los indices, ademas en el momento en que anules un registro, el contador repetira un numero.

La solucion es que guardes el contador en otra tabla en un campo destinado a este fin, el contador aumentara en 1, cada vez que guardes en la primera tabla y no se afectara por las anulaciones que hagas en la misma.

Santiago.
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
Imágen de perfil de Mauricio
Val: 471
Plata
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Problema con contador

Publicado por Mauricio (1541 intervenciones) el 03/03/2010 19:59:27
Prueba este codigo:
SELECT MAX(codigo) AS numero FROM mi_tabla
nvo_numero = numero + 1 && numero a asignar......
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