none
desactivar la X de cierre de Access RRS feed

  • Pregunta

  • Quiero que el usuario utilice un Botón Cerrar y no que cierre la aplicación desde la X de la barra de título. Este botón cierra la aplicación desarrollada en Access 2013, y hace un backup. Si el usuario hace clic en la X cierra la aplicación, pero no se hace el backup.

    La X de cierre de un formulario en la vista Fichas, se puede desactivar desde las propiedades del formulario. ¿Cómo desactivo la X de la barra de título?

    Hay una macro autoexec que la desactive?

    Gracias

    Tresy


    totobertoy

    jueves, 30 de julio de 2015 10:59

Todas las respuestas

  • Hola, prueba con esto:

    Public Sub AccessCloseButtonEnabled(pfEnabled As Boolean)
      ' Comments: Control the Access close button.
      '           Disabling it forces the user to exit within the application
      ' Params  : pfEnabled       TRUE enables the close button, FALSE disabled it
      ' Owner   : Copyright (c) FMS, Inc.
      ' Source  : Total Visual SourceBook
      ' Usage   : Permission granted to subscribers of the FMS Newsletter
    
      On Error Resume Next
    
      Const clngMF_ByCommand As Long = &H0&
      Const clngMF_Grayed As Long = &H1&
      Const clngSC_Close As Long = &HF060&
    
      Dim lngWindow As Long
      Dim lngMenu As Long
      Dim lngFlags As Long
    
      lngWindow = Application.hWndAccessApp
      lngMenu = GetSystemMenu(lngWindow, 0)
      If pfEnabled Then
        lngFlags = clngMF_ByCommand And Not clngMF_Grayed
      Else
        lngFlags = clngMF_ByCommand Or clngMF_Grayed
      End If
      Call EnableMenuItem(lngMenu, clngSC_Close, lngFlags)
    End Sub

    Al iniciar tu aplicacion manda llamar la funcion:

    Call AccessCloseButtonEnabled(False)

    Y al finalizar tu aplicacion, activalo de nuevo:

    Call AccessCloseButtonEnabled(True)
    Tomado de: Disable the Microsoft Access Close Button to Prevent Users from Accidentally Closing Your Application

    No lo he probado aun, pero espero que te sirva.

    Saludos.

    jueves, 30 de julio de 2015 14:03