SoloCodigo
		Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: MindEye en Miércoles  5 de Marzo de 2003, 01:59
		
			
			- 
				- 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
- 
				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
- 
				: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: