je cherche le moyen d'imprimer la structure de chaque table de mon appli
en mettant les colonnes suivantes:
Nom du champ / type/ description
A ma grande surprise la fonction
Outils / Analyse/ Documentation ne me permet pas cette édition car je
ne vois rien sur la description de chaque champ.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Eric
Bonjour,
Dans Outils|Analyse|Documentation, si tu cliques sur le bouton Options et que tu coches pour les champs Noms, Types de données, Tailles et propriétés, la ligne Description s'affiche si tu as renseigné la description du champ. Toutefois, tu auras toutes les propriétés du champ et pas uniquement la description.
Si tu veux n'avoir que ces 3 propriétés, il te faudra faire du vba. Exemple de code pour un état qui a en-entête d'état une zone de texte nommée Titre et dans la section Détail 3 zones de texte nommées respectivement NomChamp, TypeChamp & Description qui ont toutes les 3 la propriété AutoExtensible à Oui.
Voila le code du module de l'état. Il doit y avoir plus simple et cela peut être largement amélioré. Bonne lecture ;-)
Option Compare Database
Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer) Dim bd As Database Dim t As TableDef, f As Field Set bd = CurrentDb Me.Titre = Titre.Tag & " " & CurrentProject.Name For Each t In bd.TableDefs If Left(t.Name, 4) <> "MSys" Then Set t = bd.TableDefs(t.Name) Me.NomChamp = Me.NomChamp & "Table : " _ & UCase(t.Name) & vbCrLf Me.TypeChamp = Me.TypeChamp & vbCrLf Me.Description = Me.Description & vbCrLf For Each f In t.Fields Me.NomChamp = Me.NomChamp & f.Name & vbCrLf Me.TypeChamp = Me.TypeChamp & FieldType(f.Type) & vbCrLf Me.Description = Me.Description _ & fnRetourDescriptionChamp(t.Name, f.Name) & vbCrLf Next f Me.NomChamp = Me.NomChamp & vbCrLf Me.TypeChamp = Me.TypeChamp & vbCrLf Me.Description = Me.Description & vbCrLf End If Next t Set t = Nothing bd.Close Set bd = Nothing End Sub
Private Sub EntêteÉtat_Format(Cancel As Integer, FormatCount As Integer) ' Titre.Tag contient Champs : Nom, Type, Description des tables de la base Me.Titre = Titre.Tag & " " & CurrentProject.Name End Sub
Function fnRetourDescriptionChamp(UneTable As String, _ UnChamp As String) As String Dim bd As Database, t As TableDef Dim f As Field Set bd = CurrentDb Set t = bd.TableDefs(UneTable) Set f = t.Fields(UnChamp) On Error GoTo TraitementErreur fnRetourDescriptionChamp = f.Properties("Description") Set f = Nothing Set t = Nothing bd.Close Set bd = Nothing Exit Function TraitementErreur: If Err = 3270 Then fnRetourDescriptionChamp = "Pas de description" Resume Next End If End Function
Function FieldType(intType As Integer) As String ' adaptée de l'aide Select Case intType Case dbBoolean FieldType = "Booléen" Case dbByte FieldType = "Octet" Case dbInteger FieldType = "Entier" Case dbLong FieldType = "Entier Long" Case dbCurrency FieldType = "Monétaire" Case dbSingle FieldType = "Simple précision" Case dbDouble FieldType = "Double précision" Case dbDate FieldType = "Date/Heure" Case dbText FieldType = "Texte" Case dbLongBinary FieldType = "Objet OLE" Case dbMemo FieldType = "Memo" End Select End Function
Bonjour,
je cherche le moyen d'imprimer la structure de chaque table de mon appli en mettant les colonnes suivantes: Nom du champ / type/ description
A ma grande surprise la fonction Outils / Analyse/ Documentation ne me permet pas cette édition car je ne vois rien sur la description de chaque champ.
Avez vous une astuce pour faire celà.
Yann
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonjour,
Dans Outils|Analyse|Documentation, si tu cliques sur le bouton Options
et que tu coches pour les champs Noms, Types de données, Tailles et
propriétés, la ligne Description s'affiche si tu as renseigné la
description du champ. Toutefois, tu auras toutes les propriétés du champ
et pas uniquement la description.
Si tu veux n'avoir que ces 3 propriétés, il te faudra faire du vba.
Exemple de code pour un état qui a en-entête d'état une zone de texte
nommée Titre et dans la section Détail 3 zones de texte nommées
respectivement NomChamp, TypeChamp & Description qui ont toutes les 3 la
propriété AutoExtensible à Oui.
Voila le code du module de l'état. Il doit y avoir plus simple et cela
peut être largement amélioré. Bonne lecture ;-)
Option Compare Database
Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
Dim bd As Database
Dim t As TableDef, f As Field
Set bd = CurrentDb
Me.Titre = Titre.Tag & " " & CurrentProject.Name
For Each t In bd.TableDefs
If Left(t.Name, 4) <> "MSys" Then
Set t = bd.TableDefs(t.Name)
Me.NomChamp = Me.NomChamp & "Table : " _
& UCase(t.Name) & vbCrLf
Me.TypeChamp = Me.TypeChamp & vbCrLf
Me.Description = Me.Description & vbCrLf
For Each f In t.Fields
Me.NomChamp = Me.NomChamp & f.Name & vbCrLf
Me.TypeChamp = Me.TypeChamp & FieldType(f.Type) & vbCrLf
Me.Description = Me.Description _
& fnRetourDescriptionChamp(t.Name, f.Name) & vbCrLf
Next f
Me.NomChamp = Me.NomChamp & vbCrLf
Me.TypeChamp = Me.TypeChamp & vbCrLf
Me.Description = Me.Description & vbCrLf
End If
Next t
Set t = Nothing
bd.Close
Set bd = Nothing
End Sub
Private Sub EntêteÉtat_Format(Cancel As Integer, FormatCount As Integer)
' Titre.Tag contient Champs : Nom, Type, Description des tables de
la base
Me.Titre = Titre.Tag & " " & CurrentProject.Name
End Sub
Function fnRetourDescriptionChamp(UneTable As String, _
UnChamp As String) As String
Dim bd As Database, t As TableDef
Dim f As Field
Set bd = CurrentDb
Set t = bd.TableDefs(UneTable)
Set f = t.Fields(UnChamp)
On Error GoTo TraitementErreur
fnRetourDescriptionChamp = f.Properties("Description")
Set f = Nothing
Set t = Nothing
bd.Close
Set bd = Nothing
Exit Function
TraitementErreur:
If Err = 3270 Then
fnRetourDescriptionChamp = "Pas de description"
Resume Next
End If
End Function
Function FieldType(intType As Integer) As String
' adaptée de l'aide
Select Case intType
Case dbBoolean
FieldType = "Booléen"
Case dbByte
FieldType = "Octet"
Case dbInteger
FieldType = "Entier"
Case dbLong
FieldType = "Entier Long"
Case dbCurrency
FieldType = "Monétaire"
Case dbSingle
FieldType = "Simple précision"
Case dbDouble
FieldType = "Double précision"
Case dbDate
FieldType = "Date/Heure"
Case dbText
FieldType = "Texte"
Case dbLongBinary
FieldType = "Objet OLE"
Case dbMemo
FieldType = "Memo"
End Select
End Function
Bonjour,
je cherche le moyen d'imprimer la structure de chaque table de mon appli
en mettant les colonnes suivantes:
Nom du champ / type/ description
A ma grande surprise la fonction
Outils / Analyse/ Documentation ne me permet pas cette édition car je
ne vois rien sur la description de chaque champ.
Avez vous une astuce pour faire celà.
Yann
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Dans Outils|Analyse|Documentation, si tu cliques sur le bouton Options et que tu coches pour les champs Noms, Types de données, Tailles et propriétés, la ligne Description s'affiche si tu as renseigné la description du champ. Toutefois, tu auras toutes les propriétés du champ et pas uniquement la description.
Si tu veux n'avoir que ces 3 propriétés, il te faudra faire du vba. Exemple de code pour un état qui a en-entête d'état une zone de texte nommée Titre et dans la section Détail 3 zones de texte nommées respectivement NomChamp, TypeChamp & Description qui ont toutes les 3 la propriété AutoExtensible à Oui.
Voila le code du module de l'état. Il doit y avoir plus simple et cela peut être largement amélioré. Bonne lecture ;-)
Option Compare Database
Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer) Dim bd As Database Dim t As TableDef, f As Field Set bd = CurrentDb Me.Titre = Titre.Tag & " " & CurrentProject.Name For Each t In bd.TableDefs If Left(t.Name, 4) <> "MSys" Then Set t = bd.TableDefs(t.Name) Me.NomChamp = Me.NomChamp & "Table : " _ & UCase(t.Name) & vbCrLf Me.TypeChamp = Me.TypeChamp & vbCrLf Me.Description = Me.Description & vbCrLf For Each f In t.Fields Me.NomChamp = Me.NomChamp & f.Name & vbCrLf Me.TypeChamp = Me.TypeChamp & FieldType(f.Type) & vbCrLf Me.Description = Me.Description _ & fnRetourDescriptionChamp(t.Name, f.Name) & vbCrLf Next f Me.NomChamp = Me.NomChamp & vbCrLf Me.TypeChamp = Me.TypeChamp & vbCrLf Me.Description = Me.Description & vbCrLf End If Next t Set t = Nothing bd.Close Set bd = Nothing End Sub
Private Sub EntêteÉtat_Format(Cancel As Integer, FormatCount As Integer) ' Titre.Tag contient Champs : Nom, Type, Description des tables de la base Me.Titre = Titre.Tag & " " & CurrentProject.Name End Sub
Function fnRetourDescriptionChamp(UneTable As String, _ UnChamp As String) As String Dim bd As Database, t As TableDef Dim f As Field Set bd = CurrentDb Set t = bd.TableDefs(UneTable) Set f = t.Fields(UnChamp) On Error GoTo TraitementErreur fnRetourDescriptionChamp = f.Properties("Description") Set f = Nothing Set t = Nothing bd.Close Set bd = Nothing Exit Function TraitementErreur: If Err = 3270 Then fnRetourDescriptionChamp = "Pas de description" Resume Next End If End Function
Function FieldType(intType As Integer) As String ' adaptée de l'aide Select Case intType Case dbBoolean FieldType = "Booléen" Case dbByte FieldType = "Octet" Case dbInteger FieldType = "Entier" Case dbLong FieldType = "Entier Long" Case dbCurrency FieldType = "Monétaire" Case dbSingle FieldType = "Simple précision" Case dbDouble FieldType = "Double précision" Case dbDate FieldType = "Date/Heure" Case dbText FieldType = "Texte" Case dbLongBinary FieldType = "Objet OLE" Case dbMemo FieldType = "Memo" End Select End Function
Bonjour,
je cherche le moyen d'imprimer la structure de chaque table de mon appli en mettant les colonnes suivantes: Nom du champ / type/ description
A ma grande surprise la fonction Outils / Analyse/ Documentation ne me permet pas cette édition car je ne vois rien sur la description de chaque champ.
Avez vous une astuce pour faire celà.
Yann
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr