RE:Alguna rutipara para ProgressBar...
Esto es lo que suelo utilizar para una barra de progreso que indica el recorrido de un recordset. Espero que te sirva.
Dim Re as recordset
Dim Numero_Registros As Integer
Dim varReturn As Variant, contador As Long
\'Poner el puntero del ratón pensando (opcional)
docmd.hourglass true
\'Asignar recordset
Set RE = CurrentDb.OpenRecordset(\"NOMBRETABLA\")
\'Averiguar número de registros.El movelast y movefirst es porque a veces me falla el recordcout.
Re.MoveLast
Numero_Registros = Re.RecordCount
Re.MoveFirst
\'Inicializamos el contador de la barra de estado
varReturn = SysCmd(acSysCmdInitMeter, \"Mensaje que aparece en la barra de estado mientras traspaso\", Numero_Registros)
contador = 0
\'Progreso de la barra mientras trabajamos con el recordset
while not re.eof
\'Control del indicador de proceso
contador = contador + 1
varReturn = SysCmd(acSysCmdUpdateMeter, contador)
wend
\'Volver a poner la barra de estado como siempre
varReturn = SysCmd(acSysCmdClearStatus)
\'Cambiar el puntero del ratón al estado normal
docmd.hourglass false
Si tienes alguna duda consulta la ayuda (busca syscmd, puede que el ejemplo sea más completo) o escríbeme.
Un saludo.