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 |