dissabte, 19 d’abril de 2014

Eliminar una taula si existeix en VBA

Com ja és habitual, comences a buscar solucions per una cosa que ha de ser força freqüent i et trobes un munt de solucions complexes. Pot ser d'aquí a un temps canviaré la meva opinió però, de moment, si veig una solució simple no veig perquè complicar-me la vida.

En aquest cas vull eliminar la taula EstadosX sols si existeix i que no passi res si no existeix.
Faig un botó, en aquest cas Comando197 i a l'event click l'asocio aquest codi:

Private Sub Comando197_Click()

    On Error GoTo BorraTaules_Err

        If CurrentDb.TableDefs("EstadosX").Name = "EstadosX" Then
           CurrentDb.TableDefs.Delete "EstadosX"
        End If

BorraTaules_Exit:
    Exit Sub

BorraTaules_Err:
    Resume BorraTaules_Exit

End Sub

No hi ha segona part en el if perquè no és resol. Si no existeix dona error. Per tant, ho gestionem amb un error. Si vols, per comprovar-ho, pots possar un debug.print sota BorraTaules_Err: Veuràs que en cas de no existència, el codi s'en va cap a aquest subprocediment.

Tags:
Eliminate table if exists
Eliminar una tabla si existe
Comprobar que una tabla existe
Comprovació que una taula existeix
Verify if a table exists and delete

Basat en:
http://www.todoexpertos.com/categorias/tecnologia-e-internet/bases-de-datos/microsoft-access/respuestas/900406/macro-condicion

Cap comentari:

Publica un comentari a l'entrada