Cómo usar SetOption para deshabilitar mensajes de advertencia en una aplicación de Access

Nota

Office 365 ProPlus pasa a llamarse Microsoft 365 Apps para empresas. Para obtener más información sobre este cambio, lea esta publicación de blog.

Moderado: requiere conocimientos básicos de macro, codificación e interoperabilidad.

Este artículo solo se refiere a una base de datos de Microsoft Access (.mdb o .accdb).

Resumen

En este artículo se muestra cómo usar el método Application.SetOption para deshabilitar los mensajes de advertencia en una aplicación de Access.

Más información

Microsoft proporciona ejemplos de programación con fines ilustrativos únicamente, sin ninguna garantía, ya sea expresa o implícita. Esto incluye, entre otras, las garantías implícitas de comerciabilidad e idoneidad para un fin determinado. Se considera que está familiarizado con el lenguaje de programación que se muestra y con las herramientas para crear y depurar procedimientos. Los ingenieros de soporte técnico de Microsoft pueden ayudar a explicar la funcionalidad de un procedimiento en particular, pero no modificarán estos ejemplos para proporcionar funcionalidad adicional o crear procedimientos para cumplir con sus requisitos específicos. Las consultas de acción y otros procesos que anexan, eliminan o modifican datos suelen presentar al usuario una advertencia de que los datos están a punto de modificarse. Sin embargo, en una aplicación en tiempo de ejecución, suele ser conveniente deshabilitar las advertencias porque las comprobaciones y precauciones suelen estar fuera del control del usuario.

Para ello, use el método SetWarnings del objeto DoCmd, pero puede que prefiera deshabilitar las advertencias para toda la aplicación. Para ello, puede usar el método SetOption del objeto Application. Sin embargo, si lo hace, también debe volver a activar las advertencias a medida que se cierra la aplicación.

Para hacerlo en una aplicación sencilla de un solo formulario, siga estos pasos:

  1. Inicie Access y, a continuación, cree una base de datos en blanco denominada TestRun.

  2. Importe la tabla Customers desde la base de datos de ejemplo Northwind.mdb.

  3. Cree un nuevo formulario en la vista Diseño y, a continuación, agregue un cuadro combinado sin enlazar a la sección de detalles.

  4. Establezca las siguientes propiedades para el cuadro combinado:

    Name: cboCountry
    Row Source: SELECT DISTINCT Customers.Country FROM Customers ORDER BY Customers.Country; 
    
  5. Agregue un botón de comando a la sección de detalles del formulario y así mismo denle el nombre cmdDelete.

  6. Establezca la propiedad OnClick del botón de comando en el siguiente procedimiento de evento:

    DoCmd.OpenQuery "qryDeleteCustomers"

  7. Cierre el editor de Visual Basic.

  8. Guarde el formulario como DeleteCustomers y, a continuación, cierre el formulario.

  9. Cree una nueva consulta en la vista Diseño y, a continuación, agregue la tabla Clientes.

  10. En Access 2002 o en Access 2003, haga clic en Eliminar consulta en el menú Consulta.

    En Access 2007, haga clic en Eliminar en el grupo Tipo de consulta de la ficha Diseño.

  11. Arrastre el asterisco (*) de la lista de campos a la primera columna de la cuadrícula de diseño de consulta y, a continuación, arrastre el campo País a la segunda columna.

  12. En la fila Criterios de la columna País, escriba lo siguiente:

    Formularios [DeleteCustomers]! [cboCountry]

  13. Guarde la consulta como qryDeleteCustomers y, a continuación, cierre la consulta.

  14. Abra el formulario DeleteCustomers en la vista Formulario.

  15. Seleccione un país en el cuadro combinado, haga clic en el botón de comando y anote la advertencia que aparece. Haga clic en No en el cuadro de diálogo advertencia.

  16. Abra el formulario en la vista Diseño y, a continuación, en la barra de herramientas, haga clic en el botón Código.

  17. En la ventana Código, escriba o pegue los procedimientos siguientes:

Private Sub Form_Load()

Application.SetOption "Confirm Action Queries", 0
   Application.SetOption "Confirm Document Deletions", 0
   Application.SetOption "Confirm Record Changes", 0

End Sub

Private Sub Form_Unload(Cancel As Integer)

Application.SetOption "Confirm Action Queries", 1
    Application.SetOption "Confirm Document Deletions", 1
    Application.SetOption "Confirm Record Changes", 1

End Sub

  1. Cierre el editor Visual Basic y, a continuación, guarde y cierre el formulario.

  2. Abra el formulario DeleteCustomers, seleccione un país y, a continuación, haga clic en el botón de comando.

    Tenga en cuenta que no aparece ningún cuadro de diálogo de advertencia.

En este ejemplo, las opciones de confirmación de la aplicación se deshabilitan cuando se carga el formulario DeleteCustomers y se vuelve a habilitar cuando se descarga. En una aplicación más compleja, puede llevar a cabo las mismas acciones en un formulario de inicio o un panel de conmutación.