El mes pasado, vimos cómo numerar todos los registros de una tabla en Microsoft Access, pero ¿y si queremos numerar en base a ciertos criterios? Te explico cómo hacerlo.
Supongamos que tenemos una tabla como la de la figura, con todos los campos rellenos menos el de "Consecutivo",
He creado un formulario con un solo botón que, al pulsarlo, numerará todos los registros de la tabla por orden, con una peculiaridad: la numeración se reiniciará al cambiar de número de factura.
El código que hay detrás del botón es el siguiente,
Private Sub Consecutivo_Click()
'Dimensionamos las variables
Dim dbs As DAO.Database
Dim rst As DAO.Recordset
Dim factura As String
'Creamos RecordSet
Set dbs = CurrentDb()
Set rst = dbs.OpenRecordset("Select * from Facturas")
'Inicializamos variables
contador = 1
'Actualizamos el campo Consecutivo de la tabla Facturas
rst.MoveFirst
Do Until rst.EOF
'Si coinciden los campos Proveedor y factura con el del registro anterior, sumamos una unidad al contador
If rst!Proveedor = Proveedor And rst!factura = factura Then
contador = contador + 1
Else
'En caso contrario, reiniciamos el contador
contador = 1
End If
'Guardamos los valores del registro actual para compararlos con los del próximo registro
Proveedor = rst!Proveedor
factura = rst!factura
'Actualizamos el campo Consecutivo de la tabla
rst.Edit
rst!Consecutivo = contador
rst.Update
rst.MoveNext
Loop
'Mostramos un mensaje de fin de la operación
MsgBox "Operación realizada con éxito"
End Sub
Como veis, he creado un RecordSet con todos los registros de la tabla "Facturas" y lo vamos recorriendo actualizando el valor del campo "ID". Para ello, uso una variable llamada contador, que empieza con valor 1, y en cada iteración aumenta en una unidad.
En caso de coincidir los campos "Proveedor" y "Factura" con los del registro anterior, la numeración será secuencial. En caso contrario, restablecemos el índice y volvemos a comenzar desde 1.
Finalmente, la tabla queda de la siguiente manera,
Espero que este ejemplo te ayude a numerar con criterios los registros de una tabla que hayas creado en Microsoft Access de una manera sencilla.
Por último, invitarte a compartir tus dudas en los comentarios o en el foro, y a darle clic a la publicidad de abajo para ayudarme a seguir creando contenido.
Hasta la próxima.
Descarga el archivo del ejemplo
Por favor, haz clic en el anuncio y ayúdame a seguir creando contenido. Solo te lleva un segundo 😉
Últimas publicaciones
0 comentarios