Dejo por sentado que no sé la estructura de tu tabla, ni el criterio que usas para determinar lo del auxiliar. Pero te pongo un ejemplo de lo que yo haría.
Como puedes ver en la imagen tengo varios cuadros de texto de NombreContacto vacíos. En el botón le pongo

DoCmd.GoToRecord , , acFirst
DoCmd.SetWarnings False
Dim i As Integer
For i = 1 To Form.Recordset.RecordCount
If Not IsNull([NombreContacto]) And IsNull(DLookup("nombrecontacto", "clientes", "Idloquesea=(" & Me.IdLoquesea & ")+1")) Then
DoCmd.RunSQL "update clientes set Nombrecontacto=""pepe"" where idloquesea=(" & Me.IdLoquesea & ") + 1"
End If
DoCmd.GoToRecord , , acNext
Next
DoCmd. GoToRecord,, acFirst
Me explico. Vete al primer registro.
No muestre avisos
Que vaya recorriendo todos los registros del formulario y en aquellos registros en que:
Si nombre contacto del registro actual no es nulo, pero si el siguiente que en el vacío ponga Pepe. Así hasta el final y que vuelva al primer registro. Y me queda

Como puedes ver, en los vacíos me ha puesto Pepe, los demás no los ha tocado.
Te digo esto porque no es necesario hacer tantas consultas, simplemente jugando con los valores y los criterios. En tu caso poniendo el criterio del auxiliar 1, y que te busque o no te busque en determinados registros, etc.