Al momento de no guardar registros en el formulario, el auto incrementable igualmente suma 1

Al momento de dar en no guardar cambios en mi formulario, el numero auto incrementable igualmente se suma 1.

Por ejemplo voy en el numero 6, escribo algo en el formulario, doy a que los cambios no se guarden, el registro no se guarda en la base de datos, pero al momento de ingresar un nuevo registro el numero parte desde el 7, siendo que en ningún momento guarde el numero 6, y se ocupa ese numero sin guardar, así mismo si doy a no guardar varios registros seguidos se ocupan esos números sin que se guarden y me aparecen de la siguiente forma en la base de datos.

Id

1

2

3

4

5

7

No sé si me explico de la mejor forma.

2 respuestas

Respuesta
1

Cuando se trabaja con formularios dependientes y se ingrese información al menos en un campo, Access toma el siguiente valor Auto numérico, para evitar esto puede utilizar un campo alterno de tipo número Entero Largo y diseñar el consecutivo, hay varios ejemplos en la web.

Otra forma es trabajar con formularios independientes (es la mejor forma) y registrar mediante una instrucción SQL, algo como:

INSERT INTO nombretabla(campo1,campo2) VALUES(valor1,valor2) 

Observe que no se incluye el campo auto numérico, éste se actualiza automáticamente al hacer el INSERT. De esta forma no necesita el campo alterno.

Esto es para enriqueh Feijoo, no confundamos a los usuarios con tanta teoría están preguntando al diligenciar los datos y no grabar que no se pierda el consecutivo auto numérico, es lógico así el formulario sea independiente al grabar se tomará el siguiente auto numérico, no obstante, si el usuario cancela la grabación NO pasa nada y, es lo quiere el usuario. Donde más tiene incidencia esto es en bases datos cliente servidor en donde su una transacción no se completa se puede regresar la tabla al estado como estaba.

Respuesta
1

Es el comportamiento esperado de un autonumerico, hacer algo diferente seria un fracaso y le da lo mismo el origen de datos del formulario.
La función de un autonumerico no es la de crear series consecutivas, es la de crear series sin repeticiones y sin manipulaciones.
Un ejemplo de algo parecido: una cadena de producción en la que si una de las piezas sale defectuosa (o no es valida), su numero de serie se pierde de forma irremediable.
Solo permite 'reutilizar el ultimo' si se compacta la tabla (pero solo funciona con el ultimo).

Una numeración correlativa se puede generar de forma sencilla (y este otro método si permitirá manipular la serie si fuera interesante).

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas