Liste des champs par requête sql.

Le
William Kameron
Bonsoir.

Je voudrais écrire une requête qui donne la liste des champs d'une table.

Comment m'y prendre ?
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fabien
Le #6281661
Bonsoir.

Je voudrais écrire une requête qui donne la liste des champs d'une table.

Comment m'y prendre ?
Salut William

Par sql je pense pas ça possible mais par vba oui.
CF http://warin.developpez.com/access/dao/
Il y a plein d'explication sur les objets et les manipulations possibles
@+

Fabien
Le #6281651
Bonsoir.

Je voudrais écrire une requête qui donne la liste des champs d'une table.

Comment m'y prendre ?
Salut William

Par sql je pense pas ça possible mais par vba oui.
CF http://warin.developpez.com/access/dao/
Il y a plein d'explication sur les objets et les manipulations possibles
@+
[Début délire]

Imaginons qu'avec un bout de code tu te créé une premiére table avec
dedans le nom des tables et un N° pour chaque
En parallele tu créé également une table dans laquelle tu stock le N° de
la table et le nom du champ.
genre
Pour chaque table
enregistrer le nom de la table dans T_Table et ajouter un N° auto
Pour chaque champs de la table
Enregistrer le N° auto et le nom du champ dans T_Champ


Du coup tu peux faire des requetes sur ces deux tables
T_Table et T_Champs.
[Fin délire]

Ya surement plus simple ;-)


Fabien
Le #6281641
Bonsoir.

Je voudrais écrire une requête qui donne la liste des champs d'une
table.

Comment m'y prendre ?
Salut William

Par sql je pense pas ça possible mais par vba oui.
CF http://warin.developpez.com/access/dao/
Il y a plein d'explication sur les objets et les manipulations possibles
@+
[Début délire]

Imaginons qu'avec un bout de code tu te créé une premiére table avec
dedans le nom des tables et un N° pour chaque
En parallele tu créé également une table dans laquelle tu stock le N° de
la table et le nom du champ.
genre
Pour chaque table
enregistrer le nom de la table dans T_Table et ajouter un N° auto
Pour chaque champs de la table
Enregistrer le N° auto et le nom du champ dans T_Champ


Du coup tu peux faire des requetes sur ces deux tables
T_Table et T_Champs.
[Fin délire]

Ya surement plus simple ;-)
Une piste :

Sub creat_table()
Dim db As DAO.Database
Dim Tbl_Def, Tbl_Loop As DAO.TableDef
Dim Str_Source As String
Dim I As Integer
Set db = CurrentDb
DoCmd.SetWarnings False
For Each Tbl_Loop In db.TableDefs
Debug.Print Tbl_Loop.Name 'Nom des tables
Set Tbl_Def = db.TableDefs(Tbl_Loop.Name)
For I = 0 To Tbl_Def.Fields.Count
Debug.Print Tbl_Def.Fields(I).Name 'Nom des champs de la table
Next
Next
Set db = Nothing
End Sub



William Kameron
Le #6281621
Comme c'est curieux...

Lors de la définition d'une table, nous avons bien la possibilité de
spécifier comme source de la liste de déroulante la liste de champs provenant
d'une table ou une requête !!!!!!!
J'aurais souhaité avoir une liste expurgée de certains éléments auxquels
j'ajouterais des expressions génériques.

Je vais explorer ta solution Fabien.
Je vais insérer ton bout de code quelque part.

Merci Fabien


Bonsoir.

Je voudrais écrire une requête qui donne la liste des champs d'une
table.

Comment m'y prendre ?
Salut William

Par sql je pense pas ça possible mais par vba oui.
CF http://warin.developpez.com/access/dao/
Il y a plein d'explication sur les objets et les manipulations possibles
@+
[Début délire]

Imaginons qu'avec un bout de code tu te créé une premiére table avec
dedans le nom des tables et un N° pour chaque
En parallele tu créé également une table dans laquelle tu stock le N° de
la table et le nom du champ.
genre
Pour chaque table
enregistrer le nom de la table dans T_Table et ajouter un N° auto
Pour chaque champs de la table
Enregistrer le N° auto et le nom du champ dans T_Champ


Du coup tu peux faire des requetes sur ces deux tables
T_Table et T_Champs.
[Fin délire]

Ya surement plus simple ;-)
Une piste :

Sub creat_table()
Dim db As DAO.Database
Dim Tbl_Def, Tbl_Loop As DAO.TableDef
Dim Str_Source As String
Dim I As Integer
Set db = CurrentDb
DoCmd.SetWarnings False
For Each Tbl_Loop In db.TableDefs
Debug.Print Tbl_Loop.Name 'Nom des tables
Set Tbl_Def = db.TableDefs(Tbl_Loop.Name)
For I = 0 To Tbl_Def.Fields.Count
Debug.Print Tbl_Def.Fields(I).Name 'Nom des champs de la table
Next
Next
Set db = Nothing
End Sub






William Kameron
Le #6281531
Pour ma liste déroulante, en fait, pourquoi pas faire plus simple ?

On pourrait concantener tous les champs utiles de la table dans la propriété
'contenu' de 'liste valeurs" juste avant l'ouverture de l'objet.....

Je vais creuser le sujet.


Comme c'est curieux...

Lors de la définition d'une table, nous avons bien la possibilité de
spécifier comme source de la liste de déroulante la liste de champs provenant
d'une table ou une requête !!!!!!!
J'aurais souhaité avoir une liste expurgée de certains éléments auxquels
j'ajouterais des expressions génériques.

Je vais explorer ta solution Fabien.
Je vais insérer ton bout de code quelque part.

Merci Fabien


Bonsoir.

Je voudrais écrire une requête qui donne la liste des champs d'une
table.

Comment m'y prendre ?
Salut William

Par sql je pense pas ça possible mais par vba oui.
CF http://warin.developpez.com/access/dao/
Il y a plein d'explication sur les objets et les manipulations possibles
@+
[Début délire]

Imaginons qu'avec un bout de code tu te créé une premiére table avec
dedans le nom des tables et un N° pour chaque
En parallele tu créé également une table dans laquelle tu stock le N° de
la table et le nom du champ.
genre
Pour chaque table
enregistrer le nom de la table dans T_Table et ajouter un N° auto
Pour chaque champs de la table
Enregistrer le N° auto et le nom du champ dans T_Champ


Du coup tu peux faire des requetes sur ces deux tables
T_Table et T_Champs.
[Fin délire]

Ya surement plus simple ;-)
Une piste :

Sub creat_table()
Dim db As DAO.Database
Dim Tbl_Def, Tbl_Loop As DAO.TableDef
Dim Str_Source As String
Dim I As Integer
Set db = CurrentDb
DoCmd.SetWarnings False
For Each Tbl_Loop In db.TableDefs
Debug.Print Tbl_Loop.Name 'Nom des tables
Set Tbl_Def = db.TableDefs(Tbl_Loop.Name)
For I = 0 To Tbl_Def.Fields.Count
Debug.Print Tbl_Def.Fields(I).Name 'Nom des champs de la table
Next
Next
Set db = Nothing
End Sub








Fabien
Le #6281441
Pour ma liste déroulante, en fait, pourquoi pas faire plus simple ?

On pourrait concantener tous les champs utiles de la table dans la propriété
'contenu' de 'liste valeurs" juste avant l'ouverture de l'objet.....

Je vais creuser le sujet.


Comme c'est curieux...

Lors de la définition d'une table, nous avons bien la possibilité de
spécifier comme source de la liste de déroulante la liste de champs provenant
d'une table ou une requête !!!!!!!
J'aurais souhaité avoir une liste expurgée de certains éléments auxquels
j'ajouterais des expressions génériques.

Je vais explorer ta solution Fabien.
Je vais insérer ton bout de code quelque part.

Merci Fabien


Bonsoir.

Je voudrais écrire une requête qui donne la liste des champs d'une
table.

Comment m'y prendre ?
Salut William

Par sql je pense pas ça possible mais par vba oui.
CF http://warin.developpez.com/access/dao/
Il y a plein d'explication sur les objets et les manipulations possibles
@+
[Début délire]

Imaginons qu'avec un bout de code tu te créé une premiére table avec
dedans le nom des tables et un N° pour chaque
En parallele tu créé également une table dans laquelle tu stock le N° de
la table et le nom du champ.
genre
Pour chaque table
enregistrer le nom de la table dans T_Table et ajouter un N° auto
Pour chaque champs de la table
Enregistrer le N° auto et le nom du champ dans T_Champ


Du coup tu peux faire des requetes sur ces deux tables
T_Table et T_Champs.
[Fin délire]

Ya surement plus simple ;-)
Une piste :

Sub creat_table()
Dim db As DAO.Database
Dim Tbl_Def, Tbl_Loop As DAO.TableDef
Dim Str_Source As String
Dim I As Integer
Set db = CurrentDb
DoCmd.SetWarnings False
For Each Tbl_Loop In db.TableDefs
Debug.Print Tbl_Loop.Name 'Nom des tables
Set Tbl_Def = db.TableDefs(Tbl_Loop.Name)
For I = 0 To Tbl_Def.Fields.Count
Debug.Print Tbl_Def.Fields(I).Name 'Nom des champs de la table
Next
Next
Set db = Nothing
End Sub

Je voyais bien aussi cette solution de liste mais comme tu étais parti



sur une requete sql .... ;-)
La propriété rowsource d'une liste c'est nettement plus simple ;-)






Fabien
Le #6281311
Pour ma liste déroulante, en fait, pourquoi pas faire plus simple ?

On pourrait concantener tous les champs utiles de la table dans la
propriété 'contenu' de 'liste valeurs" juste avant l'ouverture de
l'objet.....

Je vais creuser le sujet.


Comme c'est curieux...

Lors de la définition d'une table, nous avons bien la possibilité de
spécifier comme source de la liste de déroulante la liste de champs
provenant d'une table ou une requête !!!!!!! J'aurais souhaité avoir
une liste expurgée de certains éléments auxquels j'ajouterais des
expressions génériques.

Je vais explorer ta solution Fabien.
Je vais insérer ton bout de code quelque part.

Merci Fabien


Bonsoir.

Je voudrais écrire une requête qui donne la liste des champs
d'une table.

Comment m'y prendre ?
Salut William

Par sql je pense pas ça possible mais par vba oui.
CF http://warin.developpez.com/access/dao/
Il y a plein d'explication sur les objets et les manipulations
possibles
@+
[Début délire]

Imaginons qu'avec un bout de code tu te créé une premiére table
avec dedans le nom des tables et un N° pour chaque
En parallele tu créé également une table dans laquelle tu stock le
N° de la table et le nom du champ.
genre
Pour chaque table
enregistrer le nom de la table dans T_Table et ajouter un
N° auto
Pour chaque champs de la table
Enregistrer le N° auto et le nom du champ dans T_Champ


Du coup tu peux faire des requetes sur ces deux tables
T_Table et T_Champs.
[Fin délire]

Ya surement plus simple ;-)
Une piste :

Sub creat_table()
Dim db As DAO.Database
Dim Tbl_Def, Tbl_Loop As DAO.TableDef
Dim Str_Source As String
Dim I As Integer
Set db = CurrentDb
DoCmd.SetWarnings False
For Each Tbl_Loop In db.TableDefs
Debug.Print Tbl_Loop.Name 'Nom des tables
Set Tbl_Def = db.TableDefs(Tbl_Loop.Name)
For I = 0 To Tbl_Def.Fields.Count
Debug.Print Tbl_Def.Fields(I).Name 'Nom des champs de
la table
Next
Next
Set db = Nothing
End Sub

Je voyais bien aussi cette solution de liste mais comme tu étais parti



sur une requete sql .... ;-)
La propriété rowsource d'une liste c'est nettement plus simple ;-)
William je suis confus ;-(

C'est si simple que c'est a s'en modre les doigts.
Dans la definition de ta liste tu indique au lieu de requete, liste de
champs. Tu indique la table et le tour est joué.
Désolé de toute ces complications ;-(((







William Kameron
Le #6281301
Merci Fabien.


Pour ma liste déroulante, en fait, pourquoi pas faire plus simple ?

On pourrait concantener tous les champs utiles de la table dans la propriété
'contenu' de 'liste valeurs" juste avant l'ouverture de l'objet.....

Je vais creuser le sujet.


Comme c'est curieux...

Lors de la définition d'une table, nous avons bien la possibilité de
spécifier comme source de la liste de déroulante la liste de champs provenant
d'une table ou une requête !!!!!!!
J'aurais souhaité avoir une liste expurgée de certains éléments auxquels
j'ajouterais des expressions génériques.

Je vais explorer ta solution Fabien.
Je vais insérer ton bout de code quelque part.

Merci Fabien


Bonsoir.

Je voudrais écrire une requête qui donne la liste des champs d'une
table.

Comment m'y prendre ?
Salut William

Par sql je pense pas ça possible mais par vba oui.
CF http://warin.developpez.com/access/dao/
Il y a plein d'explication sur les objets et les manipulations possibles
@+
[Début délire]

Imaginons qu'avec un bout de code tu te créé une premiére table avec
dedans le nom des tables et un N° pour chaque
En parallele tu créé également une table dans laquelle tu stock le N° de
la table et le nom du champ.
genre
Pour chaque table
enregistrer le nom de la table dans T_Table et ajouter un N° auto
Pour chaque champs de la table
Enregistrer le N° auto et le nom du champ dans T_Champ


Du coup tu peux faire des requetes sur ces deux tables
T_Table et T_Champs.
[Fin délire]

Ya surement plus simple ;-)
Une piste :

Sub creat_table()
Dim db As DAO.Database
Dim Tbl_Def, Tbl_Loop As DAO.TableDef
Dim Str_Source As String
Dim I As Integer
Set db = CurrentDb
DoCmd.SetWarnings False
For Each Tbl_Loop In db.TableDefs
Debug.Print Tbl_Loop.Name 'Nom des tables
Set Tbl_Def = db.TableDefs(Tbl_Loop.Name)
For I = 0 To Tbl_Def.Fields.Count
Debug.Print Tbl_Def.Fields(I).Name 'Nom des champs de la table
Next
Next
Set db = Nothing
End Sub

Je voyais bien aussi cette solution de liste mais comme tu étais parti



sur une requete sql .... ;-)
La propriété rowsource d'une liste c'est nettement plus simple ;-)









Publicité
Poster une réponse
Anonyme