• Lunes 23 de Diciembre de 2024, 19:00

Autor Tema:  Re: Como puedo aberiguar, cuantas tablas componen una base d  (Leído 1514 veces)

MindEye

  • Miembro MUY activo
  • ***
  • Mensajes: 185
    • Ver Perfil
Re: Como puedo aberiguar, cuantas tablas componen una base d
« en: Miércoles 5 de Marzo de 2003, 01:59 »
0
- Hola, me gutaría saber, como puedo averiguar, cuantas tablas, y el nombre de cada una, esta compuesta una base de datos, la que elijas en un command dialogo, para luego, intentar saber cuantos campos tiene cada tabla, y a si hasta conseguir toda la informacion necesaria, para poder reconstruir una nueva, que sea igual que la que intentamos abrir.

 - Gracias

ROBER.29

  • Miembro MUY activo
  • ***
  • Mensajes: 421
    • Ver Perfil
    • http://www.contrapixel.com
Re: Como puedo aberiguar, cuantas tablas componen una base d
« Respuesta #1 en: Miércoles 5 de Marzo de 2003, 09:51 »
0
Añade las siguientes referencias al proyecto:

Microsoft ActiveX Data Objects 2.6 Library
Microsoft ADO Ext. 2.6 for DLL and Security

Realiza la siguiente función que recibirá como parámetro la cadena d conexión de la base de datos que quieres abrir y devolverá los nombres de las tablas concatendos por comas (sólo devolverá los nombres de las tablas de usuario y las vistas, las de sistema no. En el caso de querer las del sistema también quitar la condición)

Function obtener_tablas (conexion as string) As string
Dim BaseDatos As New ADOX.Catalog, Tablas As ADOX.table
Dim cnnBaseDatos As New ADODB.Connection

cnnBaseDatos.Open conexion

Set BaseDatos.ActiveConnection = cnnBaseDatos

obtener_tablas = ""

For Each Tablas In BaseDatos.Tables
       If Tablas.Type = "TABLE" Then
              If obtener_tablas <> "" Then
                     obtener_tablas = obtener_tablas & "," & Tablas.Name
              Else
                      obtener_tablas = Tablas.Name
              End If
       Else
             If Tablas.Type = "VIEW" Then
                  If obtener_tablas <> "" Then
                          obtener_tablas = obtener_tablas & "," & Tablas.Name
                  Else
                          obtener_tablas = Tablas.Name
                  End If
             End If
       End If
Next

cnnBaseDatos.close
Set BaseDatos = Nothing
Set BaseDatos = Nothing

End Function

Espero que te sirva.

Un saludo,
Roberto García
Roberto García
Moderador de Visual Basic.
Gerente
[contra]PixeL S.L.
Valladolid

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Como puedo aberiguar, cuantas tablas componen una base de da
« Respuesta #2 en: Sábado 8 de Marzo de 2003, 03:39 »
0
:alien:
Bueno, sinla base de datos la has montado sobre Oracle o algo similar  te recomiendo que hagas el siguiente Query

select count(table_name) from cat;

no estoy seguro si funciona o no en ms access,
pero seguro que si utilizas Oracle o alguna base de datos como sql server si te funciona ya sea con DAO o con ADO.

Para saber las tablas y su composicion:
select * from cat;
:lightsabre:
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io