He dado, con la solución al error.
Voy a exponer lo que pretendía hacer y como lo he solucionado.
En el formulario AltaIVA en donde tengo la tabla IVA para la gestión de los diferentes tipos de IVA y que estoy haciendo para la aplicación de gestión de almacén, órdenes de trabajo y pedidos que estoy realizando, tengo puesto un botón para que cuando cambie el tipo de iva general, situarme en el registro del nuevo tipo de iva general y entonces pulsar dicho botón para:
-Quitar la marca que tenía el anterior tipo de iva general por defecto.
-Poner el registro actual como el tipo general por defecto para toda la aplicación.
-Modificar el tipo de iva en todos los registro de la tabla Almacen.
Como ya he expuesto el problema que tenía era que en la variable nRegAct tomaba el registro actual de la tabla IVA y despues intentaba posicionarme en un registro de un RecordSet con la citada variable.
Me he dado cuenta que esto no era fiable, toda vez que el número del registro que tomaba de la tabla no tenía porqué coincidir con los mismos datos del registro en el que intentaba posicionarme en el RecordSet a través del número que traía la reptida variable.
Lo que he hecho ha sido al entrar en la función de este botón, igualar una varible al campo ID de la tabla IVA y buscar en el RecordSet el registro que contiene dicho ID:
rsIVA.Find "Codigo = '" & cCodIVA & "'"
Una vez hecho esto, igualo la variable:
nRegAct = rsIVA.Bookmark
Para que una vez localizado el registro que tenía la selección como iva por defecto borrar la selección y volver con:
rsIVA.Bookmark = nRegAct
Para poner el registro actual como nuevo iva por defecto.
Saludos cordiales.
