Hola,
¿sabeis si hay alguna forma de sacar un listado de los nombres de todas las tablas de una BD de Ms Access 2003?
Saludos
| ||||
Re: Listar nombres de las tablas de una BD [Access 2003] Cita: Prueba creando un ASP:
Código:
Saludos <% Const adSchemaTables = 20 StrConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& Server.MapPath("/tabla.mdb") Set oConn = Server.CreateObject("ADODB.Connection") oConn.Open StrConn strFiltro = Array(Empty,Empty,Empty,"TABLE") set rstSchema = oConn.OpenSchema(adSchemaTables,strFiltro) Do Until rstSchema.EOF Response.Write "Table name: " & rstSchema("TABLE_NAME") &"<BR>" rstSchema.MoveNext Loop %> |
| ||||
Re: Listar nombres de las tablas de una BD [Access 2003] O bien, una aplicación en VB6:
Código:
Option Explicit '--------------------------------------- ' Agregar la referencia a Microsoft DAO '--------------------------------------- Private Sub Listar_Tabla(path_BD As String) 'variable para la base de datos Dim base As Database On Error GoTo ErrSub Dim Tabla As TableDef List1.Clear 'Abre la base de datos Set base = OpenDatabase(path_BD) ' Añade en el control ListBox las tablas For Each Tabla In base.TableDefs List1.AddItem Tabla.Name Next Tabla 'Cierra la base de datos base.Close Exit Sub 'Error ErrSub: MsgBox " Número de error: " & Err.Number & _ vbNullString & "DEscripción del error: " & Err.Description End Sub Private Sub Command1_Click() With CommonDialog1 .DialogTitle = " Abrir una base de datos" .Filter = "Archivos Access|*.mdb" .ShowOpen If .FileName = vbNullString Then Exit Sub Else 'Le pasa la ruta de la base de datos Call Listar_Tabla(.FileName) End If End With End Sub Private Sub Form_Load() Me.Caption = " Listar tablas " Command1.Caption = " Abrir " End Sub |
| ||||
Re: Listar nombres de las tablas de una BD [Access 2003] Bueno al final encontré otra solución que me iba mejor, para ir más rapido. Es una consulta que la puedes ejecitar desde Ms ACcess mismo: Cita: gracias de todos modos.SELECT MSysObjects.Name FROM MsysObjects WHERE (Left$([Name],1)<>"~") AND (Left$([Name],4) <> "Msys") AND (MSysObjects.Type)=1 ORDER BY MSysObjects.Name Saludos! |