Autor Tema: Averiguar existencia de tabla  (Leído 178 veces)

Desconectado xavi

  • Administrador
  • Habitual
  • *****
  • Mensajes: 181
Averiguar existencia de tabla
« en: Abril 13, 2012, 11:11:22 pm »
Palabras clave: ADO, averiguar, existe, tabla
Autor: Lluís Franco y Búho
Extraído de: La web del Búho

Objetivo:
Varias funciones para averiguar si existe una tabla.


Cita de: Lluís Franco expone

Código: [Seleccionar]
Public Function ExistTable(sTableName As String) As Boolean
    On Error GoTo ErrHandlerNoExiste
    Dim stmp As String
    stmp = CurrentDb.TableDefs(sTableName).Name
    ExistTable = True
ErrHandlerNoExiste:
End Function

Cita de: Búho contraataca con...

...pues ala, ya puestos, otra mas con ADOX, por si acaso...

Código: [Seleccionar]
Function ExisteTablaADO(ByVal NombreTabla As String) As Boolean

   Dim Catalogo As New ADOX.Catalog
   Dim ObjetoTabla As ADOX.Table
   Catalogo.ActiveConnection = CurrentProject.Connection

   For Each ObjetoTabla In Catalogo.Tables
      If ObjetoTabla.Name = NombreTabla Then
       ExisteTablaADO = True
       Exit For
      End If
   Next
  Set Catalogo = Nothing

End Function

Cita de: Lluís Franco de nuevo...
Código: [Seleccionar]
Public Function ExistTable(sTableName As String) As Boolean
    On Error GoTo ErrHandlerNoExiste
    Dim oRs As New ADODB.Recordset
    oRs.Open "SELECT * FROM [" & sTableName & _
    "] WHERE 1=0", CurrentProject.Connection
    If oRs.State = adStateOpen Then
        ExistTable = True
        oRs.Close
    End If
ErrHandlerNoExiste:
End Function


Cita de: Buho acaba con...

:-DDD pues ala, otra mas, esta vez con sintaxis propia de VBA :-P

Código: [Seleccionar]
Function ExisteTabla(NombreTabla As String) As Boolean

 If Len(Nz(DLookup("Name", "msysobjects", _
   "type=1 and Name= '" & NombreTabla & "'"), "")) <> 0 Then
   ExisteTabla = True
 End If
End Function
« Última modificación: Abril 13, 2012, 11:28:46 pm por xavi »