La Web del Programador: Comunidad de Programadores
 
    Pregunta:  33353 - COMPROBAR SI EXISTE UNA TABLA EN ACCESS
Autor:  Paco Sanchez
¿Como puedo llegar a saber si una determinada tabla existe en access?

A partir de una conexión establecida con ADO y sin poder acceder a la tabla del sistema de Access MSysObjects.

Muchas gracias por anticipado y un saludo

  Respuesta:  Luis Bueno
Hola Paco

Te envio estas lineas estoy seguro te serviran

Dim ocn As New ADODB.Connection
Dim ors As New ADODB.Recordset

ocn.Open "Provider=Microsoft.Jet.OLEDB.3.51;Data Source=c:\softconper\basedatos\conper.mdb"

Set ors = ocn.OpenSchema(adSchemaTables)
Do While Not ors.EOF
If ors("TABLE_TYPE") = "TABLE" Then
MsgBox ors("TABLE_NAME").Value
End If
ors.MoveNext
Loop

ors.Close
ocn.Close
Set ors = Nothing
Set ocn = Nothing

  Respuesta:  Miguel Lucero
Paco

Una forma que puedes usar para saber si existe o no una tabla en una base de datos es realizando por ejemplo un select a dicha tabla y detectar el error que te devuelve ado al no encontrar la tabla
ej.

DIM rs As ADODB.Recorset
---
On error goto et_NoExisteTabla

strSQL = "SELECT TOP 1 * FROM "
rs = dbCon.Exec( strSQL )
' Si llega acá es porque la tabla existe
....
Exit sub
et_NoExisteTabla
' Si llega acá puede ser porque no existe tabla
' ver datos que devuelve el objeto Err
---

Otra forma es ver la lista de objetos de la base de datos para saber que tablas, consultas etc. existe pero creo que debes tener los permisos necesarios.

Espero que te sirva