Access - informe con SQL del Nombre de la tabla, campos y descripción de los campos

 
Vista:

informe con SQL del Nombre de la tabla, campos y descripción de los campos

Publicado por steppaso (3 intervenciones) el 06/10/2016 11:11:48
Hola, como puedo exportar, imprimir o ver las tablas en access (accdb) con sus campos y de cada campo obtener el nombre del campo, el tipo y la descripción de cada campo.

Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Neckkito
Val: 573
Plata
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

informe con SQL del Nombre de la tabla, campos y descripción de los campos

Publicado por Neckkito (1157 intervenciones) el 07/10/2016 14:16:37
Hola!

Con SQL, ni idea, pero, ¿por qué no utilizas el documentador de bases de datos de Access? Te dará la información que quieres, y más.

Saludos,

Neckkito
http://bit.ly/neckkito
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

informe con SQL del Nombre de la tabla, campos y descripción de los campos

Publicado por fernando (3 intervenciones) el 10/10/2016 10:18:28
Hola
Con el documentador únicamente es posible generar la información de varias formas, pero si queremos algo más particular como es este caso, (campo y descripción) no da esa opción. Pensaba que si con sql se saca los nombres de las tablas, campos y demás por tabla, también existiría una query para sacar todas las propiedades que quisiéramos.

Muchas gracias por tu atencón.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 831
Oro
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

informe con SQL del Nombre de la tabla, campos y descripción de los campos

Publicado por Jesús Manuel (363 intervenciones) el 10/10/2016 11:21:00
Tu petición es algo que me había planteado en algunos casos, sobre todo al estar diseñando y tener que hacer modificaciones por cambios que me pueden solicitar. Hasta ahora siempre he intentado imprimir el informe de relaciones, pero no tengo el tipo de campo.

He estado buscando y he encontrado esta web: http://blogannath.blogspot.com.es/2010/03/microsoft-access-tips-tricks-list-table.html

No he tenido tiempo a probarlo, pero por si os sirve de ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 831
Oro
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

informe con SQL del Nombre de la tabla, campos y descripción de los campos

Publicado por Jesús Manuel (363 intervenciones) el 11/10/2016 09:29:00
He investigado un poco y consigo que en la ventana de inmediato me liste las tablas con los campos, incluyendo tipo, tamaño y descripción.
El código lo he sacado de un par de webs y he hecho por ahora pequeños ajustes.
Intentaré colocar la info de alguna forma para trabajar con ella en un informe, pero eso en cuanto consiga algo más de tiempo.

Pon todo este código en un módulo y ejecuta la función InfoTablas en la ventana de inmediato con ?InfoTablas


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
Function InfoTablas()
'Adaptada a partir de la web http://stackoverflow.com/questions/17555174/how-to-loop-through-all-tables-in-an-ms-access-db
Dim db As DAO.Database
Dim tdf As DAO.TableDef
Set db = CurrentDb
For Each tdf In db.TableDefs
    ' ignore system and temporary tables
    If Not (tdf.Name Like "MSys*" Or tdf.Name Like "~*") Then
        Debug.Print "-----------------------------------------------------"
        Debug.Print tdf.Name
        Debug.Print "-----------------------------------------------------"
        TableInfo tdf.Name
    End If
Next
Set tdf = Nothing
Set db = Nothing
 
End Function
 
 
Function TableInfo(strTableName As String)
'http://allenbrowne.com/func-06.html
On Error GoTo TableInfoErr
   ' Purpose:   Display the field names, types, sizes and descriptions for a table.
   ' Argument:  Name of a table in the current database.
   Dim db As DAO.Database
   Dim tdf As DAO.TableDef
   Dim fld As DAO.Field
 
   Set db = CurrentDb()
   Set tdf = db.TableDefs(strTableName)
   Debug.Print "FIELD NAME", "FIELD TYPE", "SIZE", "DESCRIPTION"
   Debug.Print "==========", "==========", "====", "==========="
 
   For Each fld In tdf.Fields
      Debug.Print fld.Name,
      Debug.Print FieldTypeName(fld),
      Debug.Print fld.Size,
      Debug.Print GetDescrip(fld)
   Next
   Debug.Print "==========", "==========", "====", "==========="
 
TableInfoExit:
   Set db = Nothing
   Exit Function
 
TableInfoErr:
   Select Case Err
   Case 3265&  'Table name invalid
      MsgBox strTableName & " table doesn't exist"
   Case Else
      Debug.Print "TableInfo() Error " & Err & ": " & Error
   End Select
   Resume TableInfoExit
End Function
 
 
Function GetDescrip(obj As Object) As String
'http://allenbrowne.com/func-06.html
    On Error Resume Next
    GetDescrip = obj.Properties("Description")
End Function
 
 
Function FieldTypeName(fld As DAO.Field) As String
'http://allenbrowne.com/func-06.html
    'Purpose: Converts the numeric results of DAO Field.Type to text.
    Dim strReturn As String    'Name to return
 
    Select Case CLng(fld.Type) 'fld.Type is Integer, but constants are Long.
        Case dbBoolean: strReturn = "Yes/No"            ' 1
        Case dbByte: strReturn = "Byte"                 ' 2
        Case dbInteger: strReturn = "Integer"           ' 3
        Case dbLong                                     ' 4
            If (fld.Attributes And dbAutoIncrField) = 0& Then
                strReturn = "Long Integer"
            Else
                strReturn = "AutoNumber"
            End If
        Case dbCurrency: strReturn = "Currency"         ' 5
        Case dbSingle: strReturn = "Single"             ' 6
        Case dbDouble: strReturn = "Double"             ' 7
        Case dbDate: strReturn = "Date/Time"            ' 8
        Case dbBinary: strReturn = "Binary"             ' 9 (no interface)
        Case dbText                                     '10
            If (fld.Attributes And dbFixedField) = 0& Then
                strReturn = "Text"
            Else
                strReturn = "Text (fixed width)"        '(no interface)
            End If
        Case dbLongBinary: strReturn = "OLE Object"     '11
        Case dbMemo                                     '12
            If (fld.Attributes And dbHyperlinkField) = 0& Then
                strReturn = "Memo"
            Else
                strReturn = "Hyperlink"
            End If
        Case dbGUID: strReturn = "GUID"                 '15
 
        'Attached tables only: cannot create these in JET.
        Case dbBigInt: strReturn = "Big Integer"        '16
        Case dbVarBinary: strReturn = "VarBinary"       '17
        Case dbChar: strReturn = "Char"                 '18
        Case dbNumeric: strReturn = "Numeric"           '19
        Case dbDecimal: strReturn = "Decimal"           '20
        Case dbFloat: strReturn = "Float"               '21
        Case dbTime: strReturn = "Time"                 '22
        Case dbTimeStamp: strReturn = "Time Stamp"      '23
 
        'Constants for complex types don't work prior to Access 2007 and later.
        Case 101&: strReturn = "Attachment"         'dbAttachment
        Case 102&: strReturn = "Complex Byte"       'dbComplexByte
        Case 103&: strReturn = "Complex Integer"    'dbComplexInteger
        Case 104&: strReturn = "Complex Long"       'dbComplexLong
        Case 105&: strReturn = "Complex Single"     'dbComplexSingle
        Case 106&: strReturn = "Complex Double"     'dbComplexDouble
        Case 107&: strReturn = "Complex GUID"       'dbComplexGUID
        Case 108&: strReturn = "Complex Decimal"    'dbComplexDecimal
        Case 109&: strReturn = "Complex Text"       'dbComplexText
        Case Else: strReturn = "Field type " & fld.Type & " unknown"
    End Select
 
    FieldTypeName = strReturn
End Function
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Neckkito
Val: 573
Plata
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

informe con SQL del Nombre de la tabla, campos y descripción de los campos

Publicado por Neckkito (1157 intervenciones) el 11/10/2016 10:01:16
Hola, Jesús Manuel:

Aunque nunca he tenido necesidad de extraer tanta información (con un listadito de tablas y campos me ha bastado) te agradezco que hayas compartido ese código y te hayas currado la adaptación.

Nunca se sabe cuándo se va a necesitar "un poco más de información" ;-)

Así que, por mi parte, muchas gracias por compartirlo.

Un abrazo,

Neckkito
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

informe con SQL del Nombre de la tabla, campos y descripción de los campos

Publicado por Fernando (3 intervenciones) el 11/10/2016 10:46:12
Muchas gracias por la aportación.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar