Llamar un botón después de un MsgBox en Access

En un formulario que se llama PRESTAMOS tengo un par de Cuadros combinados, en uno de ellos al seleccionar un expediente que ya esta prestado me manda un mensaje "EXPEDIENTE PRESTADO", y tengo un botón que se llama "DESHACER REGISTRO".
Lo que yo quiero es que des pues de que e aparezca el mensaje "EXPEDIENTE PRESTADO" mande llamar en automático el botón "DESHACER REGISTRO".

Este proceso lo puedo realizar manualmente, pero quiero que mi programa este mas automatizado.

Este es el código:

Private Sub SOCIO_AfterUpdate()
If SOCIO = DLookup("[SOCIO]", "[PRESTAMOS]", "SOCIO =" & SOCIO) Then
MsgBox "EXPEDIENTE PRESTADO"

Else
MsgBox "EXPEDIENTE DISPONIBLE"
End If

End Sub

Respuesta
2

Añade lo que está en negrita, suponiendo que tu botón se llame efectivamente así y tenga programado el evento "Al hacer click":

Private Sub SOCIO_AfterUpdate()
If SOCIO = DLookup("[SOCIO]", "[PRESTAMOS]", "SOCIO =" & SOCIO) Then
MsgBox "EXPEDIENTE PRESTADO"

Me.DESHACER_REGISTRO_Click

Else
MsgBox "EXPEDIENTE DISPONIBLE"
End If

End Sub

gracias voy anexar el codio

me sale un mensaje:
Error de compilación
No se encontró el método o el dato miembro

Upsss, fallo mío, quita el "Me." para dejar solo el nombre del botón y el evento:

DESHACER_REGISTRO_Click


Se me paso comentar que ya le había intentado así como me comentas DESHACER_REGISTRO_Click y me sale este error:
Error de compilación
No se ha definido Sub o Funcion

Pues eso es que no tienes ese evento programado para el botón (Al hacer click) o el botón no se llama así (DESHACER_REGISTRO)...

La forma es la correcta de llamar al código del botón: http://filebig.net/files/A4hpEiuXax puedes comprobarlo en ese mini-ejemplo chorra

Ya se cual es mi error,

El botón DESHACER_REGISTRO esta en macro no en código VB es por eso que no funciona verdad

Correcto, con macro incrustada no te funcionará el sistema. Pásala a VBA y lo solucionas.

1 respuesta más de otro experto

Respuesta
1

Juan Andrade, realicelo de esta manera. No cambie que el evento sea por macro.

Con esto simula que se este ejecutando.

If SOCIO = DLookup("[SOCIO]", "[PRESTAMOS]", "SOCIO =" & SOCIO) Then
    me.DESHACER_REGISTRO.setfocus 
    SendKeys ("{ENTER}")
    MsgBox "EXPEDIENTE PRESTADO"
Else
    MsgBox "EXPEDIENTE DISPONIBLE"
End If
End Sub

Gracias ya lo realice y si funciona

OK.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas