Verificar si existe una tabla en una base de datos access

03/02/2005 - 20:35 por kirck | Informe spam
Agradecería me ayudara alguien en lo siguiente
necesito :
"verificar si existe una tabla en una base de datos access"
y en tal caso eliminarla, lo cual ya sé hacer
se despide cordialmente,

Kirck

Preguntas similare

Leer las respuestas

#1 Johersa
03/02/2005 - 21:23 | Informe spam
kirck, una manera un poco ortodoxa de hacerlo es tratar de hacer un lectura
de la tabla que quieres eliminar y si en la lectura de la tabla no te da
error es porque existe y en caso contrario (debes capturar el error,
realmente no se el número del error), es decir, no se genera error al leerla,
pues cierras el recordset y procedes a eliminarla

"kirck" escribió:

Agradecería me ayudara alguien en lo siguiente
necesito :
"verificar si existe una tabla en una base de datos access"
y en tal caso eliminarla, lo cual ya sé hacer
se despide cordialmente,

Kirck



Respuesta Responder a este mensaje
#2 Pedro Luna Montalvo, MVP
04/02/2005 - 00:01 | Informe spam
Puedes usar este metodo:


Public Function VerificarTablaAccess(cn As OleDbConnection, tabla As String)
As Boolean
' Asumo que cn es una conexion que ya esta abierta

Dim dt As DataTable
dt = cn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, _
New Object() { Nothing, Nothing, tabla, "TABLE" })

Return (dt.Rows.Count = 1) ' Si retorna un registro, es que si existe
End Function


Saludos
Pedro Luna, [MVP VB.NET]
Gye, Ecu

"kirck" escribió en el mensaje
news:
Agradecería me ayudara alguien en lo siguiente
necesito :
"verificar si existe una tabla en una base de datos access"
y en tal caso eliminarla, lo cual ya sé hacer
se despide cordialmente,

Kirck


Respuesta Responder a este mensaje
#3 kirck
04/02/2005 - 13:59 | Informe spam
Gracias Pedro, esta solucion fue mas corta que la que habia encontrado en
internet:
' Eliminacion Tabla: tbTemporal
Dim dtTableNames As DataTable
dtTableNames =
cnn.GetOleDbSchemaTable(OleDb.OleDbSchemaGuid.Tables, _
New Object() {Nothing, Nothing, Nothing, "TABLE"})
Dim dr As DataRow
For Each dr In dtTableNames.Rows
If dr("TABLE_NAME").ToString = "tbTemporal" Then
Dim cmd1 As New OleDb.OleDbCommand("DROP TABLE
tbTemporal", cnn)
cmd1.ExecuteNonQuery()
End If
Next
y tambien gracias Johersa por tu buena disposicion,

Kirck

"Pedro Luna Montalvo, MVP" escribió en
el mensaje news:uRk$
Puedes usar este metodo:


Public Function VerificarTablaAccess(cn As OleDbConnection, tabla As
String)
As Boolean
' Asumo que cn es una conexion que ya esta abierta

Dim dt As DataTable
dt = cn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, _
New Object() { Nothing, Nothing, tabla, "TABLE" })

Return (dt.Rows.Count = 1) ' Si retorna un registro, es que si existe
End Function


Saludos
Pedro Luna, [MVP VB.NET]
Gye, Ecu

"kirck" escribió en el mensaje
news:
Agradecería me ayudara alguien en lo siguiente
necesito :
"verificar si existe una tabla en una base de datos access"
y en tal caso eliminarla, lo cual ya sé hacer
se despide cordialmente,

Kirck






email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida