Detener codigo del todo |
Responder |
Autor | |
rokoko
Colaborador Unido: 16/Febrero/2008 Localización: Pamplona Estado: Sin conexión Puntos: 3062 |
Tema: Detener codigo del todo Enviado: 26/Octubre/2021 a las 16:32 |
Buenas. Tengo este pequeño sub. La idea es llamarlo desde un boton y si se cumple una condicion de ese Sub se detenga el codigo del todo.
Con el exit sub detiene el codigo del Sub, pero no de otros Subque van debajo de ese Sub. Como puedo hacer para que si una condicion del Sub se cumple, se pare el codigo del todo?? En el boton hay esto, dos Sub uno encima de otro, si se cumple una condicion de VerificacionesPreCobro se debe detener el codigo del todo y no ejecutar el segundo Sub Cobrar VerificacionesPreCobro Cobrar He probado en vez de exit sub con End, pero me vacia variables y no me vale, con Stop, pero no funciona. La idea es no tener que repetir codigo en x botones, de hay lo de crear VerificacionesPreCobro asi no tengo que poner todo el codigo repetido.. A ver si seos ocurre algo.... Sub VerificacionesPreCobro() 'Tema caja********* If EstadoCaja = False Then MsgBox "Caja cerrada, abra la caja para efectuar ventas.", vbCritical, "Caja cerrada" Exit Sub End If '**************** If Me.Pagado = True Then MsgBox "El ticket esta pagado, si has modificado algo del ticket utiliza el boton cobrar.", vbInformation Exit Sub End If If IsNull(Forms!frmTPV!NumeroTicket) Then MsgBox "Selecciona un ticket o cree uno nuevo.", vbExclamation, "Atención" Exit Sub Exit Sub End If End Sub Editado por rokoko - 26/Octubre/2021 a las 16:34 |
|
rokoko
Colaborador Unido: 16/Febrero/2008 Localización: Pamplona Estado: Sin conexión Puntos: 3062 |
Enviado: 26/Octubre/2021 a las 17:00 |
Pues siguiendo buscando info este hilo de un foro me a dado la idea...
https://microsoft.public.es.access.narkive.com/ywsNW7b3/detener-ejecucion-de-codigo Funciona bien la verdad, no se si se os ocurre otra forma mas profesional de hacerlo...... Sub VerificacionesPreCobro() 'Dim varVerificacionesPreCobro As Integer 'Va como variable global arriba para todo el formulario!!!!! varVerificacionesPreCobro = 1 'Tema caja********* If EstadoCaja = False Then MsgBox "Caja cerrada, abra la caja para efectuar ventas.", vbCritical, "Caja cerrada" varVerificacionesPreCobro = 0 Exit Sub End If '**************** If Me.Pagado = True Then MsgBox "El ticket esta pagado, si has modificado algo del ticket utiliza el boton cobrar.", vbInformation varVerificacionesPreCobro = 0 Exit Sub End If If IsNull(Forms!frmTPV!NumeroTicket) Then MsgBox "Selecciona un ticket o cree uno nuevo.", vbExclamation, "Atención" varVerificacionesPreCobro = 0 Exit Sub End If End Sub Y en los botones 'Llamo a sub VerificacionesPreCobro 'Con este truco consigo que si en Sub VerificacionesPreCobro alguna sale 0 detenga codigo del todo If varVerificacionesPreCobro = 0 Then Exit Sub End If 'Llamo a sub Cobrar |
|
Mihura
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 06/Mayo/2005 Localización: En la dehesa Estado: en línea Puntos: 14017 |
Enviado: 26/Octubre/2021 a las 17:31 |
Yo me creo una función que me devuelve un True si todo es correcto o un False si hay un error.
Function ComprobarErrores() As Boolean If LoQueSea Then Mensaje error Exit Function End If . . ' si todas las comprobaciones son correctas ComprobarErrores = True Exit Function Y para llamarla: If ComprobarErrores then ' todo correcto Else ' por aquí si hay error End If
|
|
rokoko
Colaborador Unido: 16/Febrero/2008 Localización: Pamplona Estado: Sin conexión Puntos: 3062 |
Enviado: 26/Octubre/2021 a las 19:28 |
Gracias. Lo pruebo dentro de unos dias, que me voy fuera....
Saludos |
|
xavi
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Terrassa-BCN Unido: 10/Mayo/2005 Localización: Catalunya |||| Estado: en línea Puntos: 14734 |
Enviado: 26/Octubre/2021 a las 19:44 |
Para detener la ejecución del código creo que basta con un simple End
Editado por xavi - 26/Octubre/2021 a las 19:45 |
|
rokoko
Colaborador Unido: 16/Febrero/2008 Localización: Pamplona Estado: Sin conexión Puntos: 3062 |
Enviado: 02/Noviembre/2021 a las 22:37 |
Buenas. Con el metodo de Mihura me ha ido bien.
Lo de End ya lo habia probado Xabi y detiene el codigo efectivamente, pero tambien me vacia alguna variable publica y me surgia algun error por eso. Saludos y gracias Se puede cerrar
|
|
Responder | |
Tweet
|
Ir al foro | Permisos de foro Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |