** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Impedir cerrar formularo o access
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoImpedir cerrar formularo o access

 Responder Responder
Autor
Mensaje
rokoko Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 16/Febrero/2008
Localización: Pamplona
Estado: Sin conexión
Puntos: 3062
Enlace directo a este mensaje Tema: Impedir cerrar formularo o access
    Enviado: 03/Abril/2020 a las 09:42
Hola, de tanto confinamiento creo que estoy espeso....me suena que alguna vez lo he hecho pero en estos momentos estoy atascado.
Quiero que una serie de campos sean obligatorios y lo quiero hacer por vba, para que me saque un mensaje pesonalizado y me mande el foco al campo que es necesario. Tengo esto y si que me saca el aviso pero despues me cierra el formulario cuando no deberia.... a ver si me iluminais...

Private Sub Form_BeforeUpdate(Cancel As Integer)

Dim strMsg As String

If IsNull(Me.TipoRevision) Or Me.TipoRevision = "" Then
strMsg = "Se debe rellenar TipoRevision, pulsa escape si quieres deshacer registro." & vbCrLf
Me.TipoRevision.SetFocus
Cancel = True
End If

If IsNull(Me.FechaRevision) Or Me.FechaRevision = "" Then
strMsg = "Se debe rellenar FechaRevision, pulsa escape si quieres deshacer registro." & vbCrLf
Me.FechaRevision.SetFocus
Cancel = True
End if


If strMsg <> "" Then MsgBox strMsg, vbExclamation

End Sub

Arriba
main Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 31/Agosto/2009
Localización: OVIEDO
Estado: Sin conexión
Puntos: 1258
Enlace directo a este mensaje Enviado: 03/Abril/2020 a las 10:08
Hola Y si sustituyes
If IsNull(Me.TipoRevision) Or Me.TipoRevision = "" Then
por
If len(Nz(Me.TipoRevision,""))=0 then

Saludos y saludos pal grupo

Arriba
rokoko Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 16/Febrero/2008
Localización: Pamplona
Estado: Sin conexión
Puntos: 3062
Enlace directo a este mensaje Enviado: 03/Abril/2020 a las 10:24
Hola, mismo resultado....
Para cerrar el formulario uso esto se si tendra que ver....

DoCmd.Close acForm, "frmRevisiones"
Forms!frmProductos.Form.Refresh
Arriba
main Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 31/Agosto/2009
Localización: OVIEDO
Estado: Sin conexión
Puntos: 1258
Enlace directo a este mensaje Enviado: 03/Abril/2020 a las 10:30
Y si solo pones
DoCmd.Close
que cerraria el Form Activo



Editado por main - 03/Abril/2020 a las 10:31
Arriba
rokoko Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 16/Febrero/2008
Localización: Pamplona
Estado: Sin conexión
Puntos: 3062
Enlace directo a este mensaje Enviado: 03/Abril/2020 a las 10:51
Publicado originalmente por main main escribió:

Y si solo pones
DoCmd.Close
que cerraria el Form Activo


Tampoco.

Como si parece que funciona es asi, pero estoy casi seguro que en access 2003 Dirty da error, yo programo en access 2013 pero es un mdb con formarto access 2003.
A ver si se os ocurre algo.... el lunes si no probare en el curro con access 2003

If Me.Dirty Then Me.Dirty = False
DoCmd.Close
Arriba
main Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 31/Agosto/2009
Localización: OVIEDO
Estado: Sin conexión
Puntos: 1258
Enlace directo a este mensaje Enviado: 03/Abril/2020 a las 11:28
Hola yo lo hago en access 2010 y funciona perfectamente
Saludos
Arriba
rokoko Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 16/Febrero/2008
Localización: Pamplona
Estado: Sin conexión
Puntos: 3062
Enlace directo a este mensaje Enviado: 14/Abril/2020 a las 20:23
Al final trabajare con access 2010 y ya funciona con Dirty

Se puede cerrar!!
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable