Imprimir página | Cerrar ventana

Objeto Containers Dao

Impreso de: Foro de Access y VBA
Categoría: Access y VBA
Nombre del foro: Tus Funciones Favoritas & Aportaciones & Artí­culos
Descripción del foro: Para publicar código interesante, aportaciones y artículos
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=77253
Fecha de impresión: 21/Enero/2020 a las 12:52


Tema: Objeto Containers Dao
Publicado por: buho
Asunto: Objeto Containers Dao
Fecha de publicación: 10/Agosto/2013 a las 00:33
Como listar mediante codigo las propiedades de los objetos de la ventana base de datos de Access?
(Las que salen cuando picas con la tecla derecha sobre un objeto, menú propiedades.

Sub Propiedades()
Dim Db As Object
Dim Con As Object
Dim Doc As Object

'Nombres de los objetos mas usuales:
'Forms , Tables, Reports, Modules
Rem Lo Hago para modulos y formularios, resto igual.

Set Db = CurrentDb
   
    'Modulos
    Set Con = Db.Containers("Modules")
    For Each Doc In Con.Documents
       ListaPropiedadesObjetoAccess "Modules", Doc.Name
    Next
    'Formularios
    Set Con = Db.Containers("Forms")
    For Each Doc In Con.Documents
       ListaPropiedadesObjetoAccess "Forms", Doc.Name
    Next
 
Set Con = Nothing
Set Db = Nothing
End Sub

Sub ListaPropiedadesObjetoAccess(ObjetoTipo As String, _
    ObjetoNombre As String)
Dim Mibase As dao.Database
Dim MiContenedor As dao.Container
Dim Midoc As dao.Document
Dim MiPropiedad As dao.Property

Set Mibase = CurrentDb
Set MiContenedor = Mibase.Containers(ObjetoTipo)
Set Midoc = MiContenedor.Documents(ObjetoNombre)
Midoc.Properties.Refresh
For Each MiPropiedad In Midoc.Properties
    'En la propiedad Description tendrás lo que pides.
   Debug.Print MiPropiedad.Name & " -> " & MiPropiedad.Value
   If MiPropiedad.Name = "Description" Then
    'Aqui podremos variar la propiedad descripción:
     MiPropiedad.Value = "Aquí puedo poner lo que quiera"
   End If
Next
'Ojo de estas propiedades, solo se pueden cambiar la Description y la
'los atributos. El resto son de solo lectura
End Sub



Algo más directo:

Dim db As Object 'DAO.Database
Dim con As Object 'DAO.Container
Dim doc As Object 'DAO.Document
Dim desc As Object 'DAO.Property
    Set db = CurrentDb
    Set con = db.Containers("Reports")
    Set doc = con("Informe1")
    On Error Resume Next
    Set desc = doc.Properties("Description")
    Debug.Print desc
    On Error GoTo 0
    Set desc = Nothing
    Set doc = Nothing
    Set con = Nothing
    Set db = Nothing

Saludos


-------------
Expulsado de la cárcel por robar los barrotes



Imprimir página | Cerrar ventana