¿Cómo Eliminar Formulario Access por VBA?

¿Hay alguna forma de borrar formularios de access desde vba?

Necesito crear un botón que elimine formularios específicos.

Respuesta
1

En algún evento, por ejemplo, al hacer clic de un botón puedes ponerle

DoCmd. DeleteObject acForm, "pedidos"

1 respuesta más de otro experto

Respuesta
2

Eliminar un objeto de la base de datos sin antes preguntar es algo muy peligroso, personalmente primero cargo en un cuadro de lista los formularios de la base de datos y valido que el formulario a eliminar no esté abierto.

Formularios en la base de datos

Este formulario se llama formulario3 por tanto está abierto, si hago clic sobre él obtengo.

Hago clic en Aceptar y no pasa nada. Ahora voy a eliminar el formulario frmPRUEBA

Hago clic en y se elimina el formulario. 

Efectivamente ya no aparece el formulario.

CÓDIGO DEL EVENTO AL CARGAR EL FORMULARIO

Private Sub Form_Load()
  Dim obj As AccessObject, dbs As Object
  Set dbs = Application.CurrentProject
  For Each obj In dbs.AllForms
   Me.lstForm.AddItem obj.Name
  Next
End Sub

Este código llena el cuadro de lista con los formularios de la base de datos

CODIGO AL HACER CLIC EN EL CUADRO DE LISTA

Private Sub lstForm_Click()
 If CurrentProject.AllForms(Me.lstForm).IsLoaded Then
   MsgBox "No puede eliminar el formulario " & Me.lstForm & ", porque está abierto", vbCritical, "Cuidado.."
 Else
   If MsgBox("¿Está seguro que elimina el formulario?" & vbCrLf & vbCrLf & Me.lstForm, _
   vbQuestion + vbYesNo + vbDefaultButton2, "Le informo") = vbYes Then
   DoCmd.DeleteObject acForm, Me.lstForm
   Me.lstForm.RowSource = ""
   Call Form_Load
   End If
 End If
End Sub

Si quiere el ejemplo lo puede solicitar a [email protected] 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas