OVH Cloud OVH Cloud

recuperer la structure d'un table

2 réponses
Avatar
Maileen
Bonjour,

J'aimerai savoir comment je peux recuperer la structure d'unetable
(champs, taille du champ, type de donnees, description,...) ?

J'aimerai ensuite afficher ces donnees sur une form.
merci,
Maileen

2 réponses

Avatar
Eric
Bonjour Maileen

Maileen écrivait news:uSqmNLQNEHA.3420
@TK2MSFTNGP11.phx.gbl:

J'aimerai savoir comment je peux recuperer la structure d'unetable
(champs, taille du champ, type de donnees, description,...) ?



Voici un bout de code qui te permet de récupérer les propriétés des
champs d'une table. (Charger la référence DAO 3.x au préalable)

Les informations s'afficheront dans la fenêtre Exécution du VBA
en tapant :
EditionPropChamps "NomTaTable"

Sub EditionPropChamps(NomTaTableAs String)
Dim t As DAO.TableDef, f As DAO.Field, bd As DAO.Database
Dim msg As String, prp As DAO.Property
Dim Position As Integer, NomBase As String
On Error Resume Next
Set bd = CurrentDb
Position = InStrRev(bd.Name, "")
NomBase = Mid$(bd.Name, Position + 1)
Set t = bd.TableDefs(NomTaTable)
Debug.Print "Il y a " & t.Fields.Count & " champs ";
Debug.Print "dans la table '" & t.Name;
Debug.Print "' de la base " & UCase(NomBase) & vbCrLf
With t
For Each f In .Fields
Debug.Print f.Name
For Each prp In f.Properties
Debug.Print vbTab & prp.Name & vbTab & prp.Value
Next prp
Debug.Print vbCrLf
Next f
End With
End Sub


J'aimerai ensuite afficher ces donnees sur une form.


Les champs n'ayant pas tous les même propriétés, il faudra que tu
identifies celles communes pour avec un bout de code insérer ces
propriétés dans une table et ensuite créer un formulaire sur cette
dernière. (Pas d'autre idée pour l'instant)

A+
Eric

Avatar
Maileen
merci pour le bout de code.

M.

Eric wrote:
Bonjour Maileen

Maileen écrivait news:uSqmNLQNEHA.3420
@TK2MSFTNGP11.phx.gbl:


J'aimerai savoir comment je peux recuperer la structure d'unetable
(champs, taille du champ, type de donnees, description,...) ?




Voici un bout de code qui te permet de récupérer les propriétés des
champs d'une table. (Charger la référence DAO 3.x au préalable)

Les informations s'afficheront dans la fenêtre Exécution du VBA
en tapant :
EditionPropChamps "NomTaTable"

Sub EditionPropChamps(NomTaTableAs String)
Dim t As DAO.TableDef, f As DAO.Field, bd As DAO.Database
Dim msg As String, prp As DAO.Property
Dim Position As Integer, NomBase As String
On Error Resume Next
Set bd = CurrentDb
Position = InStrRev(bd.Name, "")
NomBase = Mid$(bd.Name, Position + 1)
Set t = bd.TableDefs(NomTaTable)
Debug.Print "Il y a " & t.Fields.Count & " champs ";
Debug.Print "dans la table '" & t.Name;
Debug.Print "' de la base " & UCase(NomBase) & vbCrLf
With t
For Each f In .Fields
Debug.Print f.Name
For Each prp In f.Properties
Debug.Print vbTab & prp.Name & vbTab & prp.Value
Next prp
Debug.Print vbCrLf
Next f
End With
End Sub



J'aimerai ensuite afficher ces donnees sur une form.



Les champs n'ayant pas tous les même propriétés, il faudra que tu
identifies celles communes pour avec un bout de code insérer ces
propriétés dans une table et ensuite créer un formulaire sur cette
dernière. (Pas d'autre idée pour l'instant)

A+
Eric