Pues bien... Eso lo solucioné creando una pequeña tabla para la mantención de los documentos. En ella están los campos Documento y Folio (entre otros). En documento está la clave para el documento (FA para facturas, por ejemplo) y en Folio el número que corresponde imprimir.
Este número lo mantengo con dos funciones públicas.
La primera es sólo para saber el número que corresponde asignar. Es útil cuando aún no estás seguro de que la factura se vaya a emitir realmente.
public function LeeNumero(Doc as string) as long
'Acá voy a la tabla y leo el número que
'corresponde a DOC y lo asigno.
.....
.....
With rsDocs
leenumero = !Folio
End With
end sub
La otra función, como ya habrás adivinado es para incrementar el folio cuando se emite definitivamente la factura.
Adicionalmente, debes implementar un mantenedor para esta tabla, de forma que los usuarios puedan manipular el número; por ejemplo, es necesario hacerlo en caso de que un atasco de papel malogre algunos de estos documentos.
Espero te inspire
Salu2.