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.
               (
geocities.com/es/ensolva/Descargas)                   (
geocities.com/es/ensolva)                   (
geocities.com/es)