2011-07-13 7 views
1

Je souhaite exporter des données dans un jeu d'enregistrements dans Access to Excel.Exportation à partir d'un accès à Excel

Je connais la commande DoCmd.TransferSpreadsheet mais elle ne fonctionne qu'avec les requêtes stockées et, dans mon cas, c'est un jeu d'enregistrements filtré à l'exécution.

J'ai essayé quelques codes pour faire ce que je veux. Je peux obtenir les données exportées mais je ne peux pas obtenir le nom de colonne du jeu d'enregistrements.

Une suggestion sur les commandes ou comment obtenir ces noms de colonne du jeu d'enregistrements?

Répondre

3

Les jeux d'enregistrements DAO ont une propriété name que vous pouvez utiliser.

Dim rs As DAO.Recordset 

Set rs = CurrentDb.OpenRecordset("SELECT * FROM ARTIKELGRUPPE") 
Debug.Print rs.Fields(0).Name 
Debug.Print rs.Fields(1).Name 

sortie pour ma table:

id 
Name 
+1

Vous pouvez faire exactement la même chose avec recordsets ADO, ils ont le ' name 'propriété ainsi. –

1

Vous pouvez modifier une requête stockée avant d'appeler feuille de transfert

Dim myQuery As QueryDef 
Set myQuery = CurrentDb.QueryDefs("SampleQuery") 
myQuery.SQL = "SELECT * FROM myTable WHERE something" 
DoCmd.TransferSpreadsheet acExport,acSpreadsheetTypeExcel9, "SampleQuery", "c:\test.xls" 
Questions connexes