Foros del Web » Programación para mayores de 30 ;) » Programación General »

Existe la tabla en mi BD?

Estas en el tema de Existe la tabla en mi BD? en el foro de Programación General en Foros del Web. Hola, estoy programando una aplicacion en Visual Basic y necesito hacer lo siguiente. ¿Como puedo, mediante codigo, saber si en mi Base de datos existe ...
  #1 (permalink)  
Antiguo 05/02/2002, 12:16
 
Fecha de Ingreso: enero-2002
Ubicación: españa
Mensajes: 51
Antigüedad: 22 años, 4 meses
Puntos: 0
Existe la tabla en mi BD?

Hola, estoy programando una aplicacion en Visual Basic y necesito hacer lo siguiente.

¿Como puedo, mediante codigo, saber si en mi Base de datos existe una determinada tabla?

Espero haberme explicado bien. Gracias por vuestra ayuda y tiempo.
  #2 (permalink)  
Antiguo 15/02/2002, 20:46
 
Fecha de Ingreso: febrero-2002
Ubicación: Oaxaca, México
Mensajes: 18
Antigüedad: 22 años, 2 meses
Puntos: 0
Re: Existe la tabla en mi BD?

'Para el caso de DAO.
Dim dbBaseDatos As Database
Dim intContador As Integer
Dim tblTablas As TableDef

Set dbBaseDatos = OpenDatabase("C:\Ejemplo.mdb")
'''Puedes buscarla de esta manera
For Each tblTablas In dbBaseDatos.TableDefs
If UCase(tblTablas.Name) = UCase$("TablaaBuscar") Then
MsgBox "Existe"
Exit For
End If
Next tblTablas
'''O de esta otra
For intContador = 0 To dbBaseDatos.TableDefs.Count - 1
If UCase(dbBaseDatos.TableDefs(intContador).Name) = UCase$("TablaaBuscar") Then
MsgBox "Existe"
Exit For
End If
Next intContador

'Para ADO.
'Es necesario hacer referencia a Microsoft ADO Ext. 2.5 for DLL and Security
Dim cnBaseDatos As New ADODB.Connection
Dim dbBaseDatos As New ADOX.Catalog
Dim intContador As Integer

cnBaseDatos.CursorLocation = adUseClient
cnBaseDatos.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Ejemplo.mdb;Persist Security Info=False"
dbBaseDatos.ActiveConnection = cnBaseDatos
For intContador = 0 To dbBaseDatos.Tables.Count - 1
If UCase$(dbBaseDatos.Tables(intContador).Name) = UCase$("TablaaBuscar") Then
MsgBox "existe"
Exit For
End If
Next intCiclo

Espero te sirva.
  #3 (permalink)  
Antiguo 18/02/2002, 16:24
 
Fecha de Ingreso: enero-2002
Mensajes: 54
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: Existe la tabla en mi BD?

Elegante la respuesta pero.....y si hacemos algo mas corto como:
Declaras en el evento

On error goto CtrError


haces un picante select


CrtError:
if err>0 then
msgbox "existe"
else
msgbox "no existe"
end if

  #4 (permalink)  
Antiguo 19/02/2002, 20:44
 
Fecha de Ingreso: febrero-2002
Ubicación: Oaxaca, México
Mensajes: 18
Antigüedad: 22 años, 2 meses
Puntos: 0
Re: Existe la tabla en mi BD?

Tu opcion es buena.
Pero habría que adicionarle algo más.

On error goto CtrError

haces un picante select

CrtError:
if err> 0 then
msgbox "existe"
else
msgbox "no existe"
end if

En lugar de comprar si el err > 0 habria que poner err = "Aqui el Error que da cuando no existe la tabla".
Esto con la finalidad de que si tu tabla existe, pero se encuentra bloqueada no te diga que no existe.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:40.