Como solucionar error botón cancelar

Tengo el siguiente menú donde selecciono un Informe el cual me solicita un criterio de busqueda.

El problema me aparece cuando a este le clico sobre CANCELAR, entonces aparece el siguiente error.

Esta es la descripción del error. Como puedo solucionar esto, que no salga el error y retorne al Informe.

2 respuestas

Respuesta
2

Jose Antonio, tienes que agregarle un control de errores, tipo On error goto...

Para que lo veas. Crea una macro, con cualquier acción y guárdala. Luego en cualquier formulario pon un botón y en el evento Al hacer clic(o cualquier otro) ponle la macro. Luego pulsa Convertir macros del formulario en Visual Basic. Te aparecerá una ventana donde te pregunta si quieres añadir control de errores, marca su casilla y también te preguntará por comentarios, dile que no. Una vez que hayas terminado, en ese evento te aparecerá ya como procedimiento de evento. Míralo.

Respuesta
1

Agrega esto en el codigo de tu boton donde muestra el error

On Error GoTo Error

Error:
if err = 2501 then
exit sub 

end if

Solo manipula el error y ya

Buenas, este es el código donde me da el erro, donde tengo que poner este código que me mandas:

Private Sub Comando142_Click()
DoCmd.Close acForm, Me.Name
DoCmd.OpenReport "S000000SeguiVentasNetoMarcasCliente", acViewPreview 'Abro el Informe y lo maximizo
DoCmd.Maximize
Forms![000 000 Menu Vend].Form.SetFocus 'Con estas dos lineas Minimizo el Menu para no perder el Cod. del Vendedor
DoCmd.Minimize
'If CurrentProject.AllForms("777001INDIListClientes").IsLoaded Then DoCmd.Close acForm, "777001INDIListClientes"
If CurrentProject.AllReports("777001INDIListClientes").IsLoaded Then DoCmd.Close acReport, "777001INDIListClientes"
End Sub

Private Sub Comando142_Click()

On Error GoTo ErrorCancel

DoCmd.Close acForm, Me.Name
DoCmd. OpenReport "S000000SeguiVentasNetoMarcasCliente", acViewPreview 'Abro el Informe y lo maximizo
DoCmd.Maximize
Forms![000 000 Menu Vend].Form.SetFocus 'Con estas dos lineas Minimizo el Menu para no perder el Cod. del Vendedor
DoCmd.Minimize
'If CurrentProject.AllForms("777001INDIListClientes").IsLoaded Then DoCmd.Close acForm, "777001INDIListClientes"
If CurrentProject.AllReports("777001INDIListClientes").IsLoaded Then DoCmd.Close acReport, "777001INDIListClientes"

ErrorCancel:
if err = 2501 then
exit sub 

end if

End Sub

¡Gracias! 

¿Si te sirvió?

Perfecto, ya tenia otra forma de hacerlo pero también he probado la tuya y me ha funcionado.

Gracias por tu tiempo.

Si de nada :D

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas