Enumerar registros en una tabla

Tengo una lista de artículos grande para agregar a mi tabla de Artículos. Importe desde un excel a una tabla en mi base access. Tiene varios campos y están adecuados para Insertar en mi tabla de Artículos.

Pero tengo que asignarles el id a cada uno, que esta en un campo en blanco. Tengo un ultimo numero de id_articulo (guardado en una tabla para saber cual es el ultimo numero) y tendría que ir sumándole 1 por cada articulo nuevo que incorpore, o sea desde un numero especifico ir agregando 1 al id por cada nuevo articulo. ¿Cómo podría hacerlo?

2 respuestas

Respuesta
1

Si los datos continúan en el Excel:

.- Una columna mas
.- Se inicia con el primer numero
.- En la que le continua, el segundo
.- Se arratra la columna y Excel la continua

Si no se logra a la primera, se reintenta y lograda la numeración ... se importa a Access.

La alternativa en Access requeriría
.- Crear un recordset con la tabla
.- Crear una variable de tipo Long
.- Iniciarla con el mayor de los IDs más uno
Iniciar un bucle (un Do ... loop ) para recorrerlo de inicio a fin
En cada paso del bucle se edita el registro, se le adjudica la variable y se guarda, se incrementa la variable y se repite el ciclo.

Costo, prueba y error pero salio. Enumerar de un determinado numero un ID. Dejo el código para quien le sirva. Fácil de adaptar...¡ Muchas Gracias!

Private Sub Comando0_Click()
Dim UltimoID As Long
UltimoID = DLookup("[UltimoNum]", "TblUltimosNumeros", "[ID] ='" & "ID_ARTICULO" & "'")
Dim ContadoR As Integer
Dim Rst As DAO.Recordset

Set Rst = CurrentDb.OpenRecordset("Articulos_nuevos")
Rst.MoveFirst
ContadoR = UltimoID + 1

Do While Not Rst.EOF
Rst.Edit
Rst.Fields![ID_ARTICULOS] = ContadoR
Rem = Format(ContadoR, "00000000")
Rst.Update
ContadoR = ContadoR + 1
Rst.MoveNext
DoEvents
Loop
Rst.Close
Set Rst = Nothing

End Sub

Respuesta

Si quiere envíeme su hoja de excel y el ultimo numero y le preparo una tabla. Mi correo es [email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas