Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Duda actualizar número incremental (manual)

Estas en el tema de Duda actualizar número incremental (manual) en el foro de Bases de Datos General en Foros del Web. A ver si me echáis una mano. Comento, es una base de dato en access. Necesitaba crear un campo numérico incremental, de manera que siempre ...
  #1 (permalink)  
Antiguo 11/03/2011, 09:58
 
Fecha de Ingreso: marzo-2011
Mensajes: 3
Antigüedad: 8 años, 5 meses
Puntos: 0
Duda actualizar número incremental (manual)

A ver si me echáis una mano.

Comento, es una base de dato en access. Necesitaba crear un campo numérico incremental, de manera que siempre aparezca 1,2,3,4,5,6, etc...

Es decir, algo así:
N_CLIENT NOMBRE
1 Juan
2 Pedro
3 María
4 Santiago

No utilicé un campo autoincremental, pues como muchos saben, al hacer una prueba, poner un valor en alguno de los campos, el campo ya se incrementa, por lo que una vez puesto todos los datos, puede aparecer algo asi como 1,2,5,6,8,10,11, etc...

Es decir, algo como:
N_CLIENT NOMBRE
1 Juan
2 Pedro
5 María
6 Santiago

Esto no lo quería, por tanto NO PUEDO UTILIZAR AUTOINCREMENTAL.

Esto lo he conseguido hacer generando un evento en el formulario antes de insertar (BeforeInsert) de la siguiente manera:

Private Sub Form_BeforeInsert(Cancel As Integer)
Dim RNum As Long
RNum = DMax("[N_CLIEN]", "CLIENTES") + 1
Me.[N_CLIEN] = RNum
End Sub

Bueno, pues hasta aqui todo SIN PROBLEMAS.

*********************
Ahora viene mi duda.

Ahora querría actualizar la numeración de TODOS los clientes cuando BORRO un registro.

Es decir, en el ejemplo anterior, supongamos que si borro el registro de Pedro, querría actualizar de nuevo toda la tabla y que me quedase de esta forma:
N_CLIENT NOMBRE
1 Juan
2 María
3 Santiago

Nota: remarco, N_CLIENT es numérico, no puedo darle a lo de compactar y reparar la base de datos...

¿Alguien me puede orientar para ver cómo podría hacer esto?

Muchas gracias de antemano.

Etiquetas: incremental, manual, bases-de-datos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:08.