Bonjour,
je cherche comment faire en vba pour créer une table temporaire
dont la structure serait la copie d'une table déjà existante dans la base.
D'avance merci de vos réponses.
Bonjour,
je cherche comment faire en vba pour créer une table temporaire
dont la structure serait la copie d'une table déjà existante dans la base.
D'avance merci de vos réponses.
Bonjour,
Avec l'objet TableDefs qui te retourne la collection de Fields, tu peux dans une boucle, construire dynamiquement une table.
Tu auras à préciser la propriété Name de ta table et le tour est joué.
Argy
Voila.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Set oDB = CurrentDb() Set oTable = oDB.TableDefs("BaseTable") ' creation de la table de même structure Set oTableSave = oDB.CreateTableDef("TableSave") For Each oSourceField In oTable.Fields Set oField = oTableSave.CreateField(oSourceField.Name, oSourceField.Type, oSourceField.Size) oTableSave.Fields.Append oField Next TableSave.Fields.Refresh oDB.TableDefs.Append oTableSave oDB.TableDefs.Refresh
Très grossièrement (je tape sans vérifier ni la syntaxe, ni même si les commandes sont les bonnes. Je te laisse fouiller les diverses méthodes et propriétés des TableDefs, des Fields, etc.) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Dim Source as DAO.TableDef Dim TempTable as DAO.TableDef Dim db as DAO.Database Dim F as DAO.Field Set db = currentdb Set Source = db.TableDefs("nom table source") Set TempTable = db.CreateTableDef("Nom temporaire") For each F in Source.Fields TempTable.Fields.Add F.Name... 'peut être Append, plutôt que Add ? Next 'faut fermer proprement, en enregistrant tout ça...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager