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