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.
| |||
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. |
| |||
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. |
| |||
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 |
| |||
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. |