Hola amigos. Tengo un formulario (Formulario 1), en el cual, al hacer click en un botón de comando, debería abrirse otro formulario (Formulario 2), mostrando una serie de datos relativos al registro activo del Formulario 1. El problema es que en el Formulario 2 tengo una macro que se ejecuta al abrir el mismo, que automáticamente desplaza hasta "nuevo registro". Así, cuando pincho en el botón del Formulario 1, aparece el Formulario 2, pero con "nuevo registro", no con el registro activo del Formulario 1. ¿Cómo podría conseguir que cuando se abra el Formulario 2 desde el Formulario 1 no se ejecute la macro "ir a nuevo registro"? RESPONDE BÚHO ============= Yo de macros tengo poco idea, pero esto, esi lo haces por código, sería relativamente facil de hacer. En el formulario2, o sea, en el que por defecto cargas esa macro, en el evento siguiente, pon este código, eliminando en la ficha de propiedades de este formulario la llamada a la macro 'ir a nuevo registro' 'Esto en el Form2 Private Sub Form_Open(Cancel As Integer) If IsNull(Me.OpenArgs) = True Then 'Codigo que substituye a la macro ir a nuevo registro DoCmd.GoToRecord , "", acNewRec End If End Sub 'Y este codigo en el boton de comando del Formulario1 en el que cargar el formulario2 DoCmd.OpenForm "Formulario2", , , , , , "NoEjecutesMacro" Con esto consigues que (A) Si formulario2 es llamado con argumentos, no ejecuta 'ir a nuevo registro (B) Si Formulario2 NO es llamado con argumentos, va a nuevo registro. Que es lo que querías. En espera de alguna otra respuesta más efeciente y sencilla orientada a macros, yo que tu intentaría ir cambiando poco a poco la programacion de macros por codigo VBA.