Tengo un formulario en el cual tengo una clausula Form_Current() If Me.NewRecord= True then If Msgbox ("¿Desea crear una nueva venta?"...)=VbNo then Docmd.Close El problema es que yo quiero que si no acepta crear una nueva venta, que cierre el formulario, pero se produce el error 2051 (docmd.close) "no se puede cerrar la ventana porque se está ejecutando un evento de formulario". ¿Como puedo cerrar el formulario en forma automática sin tener que agregar un botón cerrar? RESPUESTAS: =========== Desde el Evento Form_Current no se si se puede ejecutar el DoCmd.Close... Una solución sería que pusieras en dicho evento la comprobación de si es registro nuevo, tal como lo tienes : > If Me.NewRecord= True then Y si así fuera, llamases un formulario, previamente creado, tipo Cuadro de Mensaje (Emergente y Modal, etc) con dos Botones de Comando. (Sí y No) y con una Etiqueta conteniendo la pregunta : "¿Desea crear una nueva venta?" El Botón Sí, cerraría el Formulario de aviso, y el botón No cerraría el Formulario de entrada de datos... Saludos, marjan --------------------- Hola TatanMax Otra solución 'a medias', además de la que ingeniosamente te indica Marjan, sería utilizar el siguiente evento del formulario: Private Sub Form_BeforeInsert(Cancel As Integer) If MsgBox("Insertar Nuevo Registro Ahora?", vbOKCancel) = vbCancel Then Cancel = True DoCmd.Close End If End Sub Y digo 'a medias', pues este evento se dispara, cuando el usuario ha picado con el ratón en Nuevo registro y comienza a escribir cualquier caracter en cualquier campo del Form. Haz la prueba...lo mismo puede servirte. Una aclaración. Si tienes autonumericos en tu Form, no se incrementará dicho autonumerico si cancelas la insercción del registro, con lo cual tambien preservas esta posibilidad. Para finalizar, gracias por informar de que en el Current no se puede cerrar el Form. La verdad que no tenía ni idea. -- Saludos desde Valladolid: Francisco Javier García Aguado