DetailPage-MSS-KB

Base de connaissances

Numéro d'article: 306125 - Dernière mise à jour: mercredi 16 janvier 2013 - Version: 3.0

 
Ancien nº de publication de cet article : F306125

Sommaire

Résumé

Ce guide décrit étape par étape comment importer des données dans Microsoft Excel à partir de la base de données Pubs, une base de données exemple est fournie avec Microsoft SQL Server.

Les objets ADO (ActiveX Data Objects) permettent d'accéder à n'importe quel type de source de données. Il s'agit d'un modèle d'objet plat avec peu d'objets. Les objets principales dans le modèle objet ADO sont les suivantes :
   Object          Description
   -----------------------------------------------------------------------
   Connection      Refers to the connection to the data source.
   Recordset       Refers to the data extracted.
   Command         Refers to a stored procedure or SQL statements that 
                   need to be executed.
				
Bien qu'il existe de nombreuses façons pour renvoyer un jeu d'enregistrements à l'aide d'ADO, cet article se concentre sur la connexion et les objets Recordset.

Configuration requise

Vous devez disposer d'un serveur local exécutant Microsoft SQL Server et qui contient la base de données Pubs.

Microsoft vous recommande de qu'avoir connaissance des opérations suivantes :
  • Création de Visual Basic pour Applications procédures dans les programmes Office.
  • Utilisation des variables de l'objet.
  • Utilisation d'objets Excel.
  • Concepts de systèmes de gestion de base de données (SGBDR) relationnel.
  • Langage SQL des instructions SELECT (SQL).

Référence à la bibliothèque d'objets ADO

  1. Démarrez Excel. Ouvrez un nouveau classeur, puis enregistrez-le en tant que SQLExtract.xls.
  2. Démarrez l'éditeur Visual Basic et sélectionnez votre projet VBA.
  3. Sur la Outils menu, cliquez sur Références.
  4. Cliquez pour sélectionner la version la plus récente de la Bibliothèque Microsoft ActiveX Data Objects case à cocher.

Création de la connexion

  1. Insérez un nouveau module dans le projet.
  2. Créer une nouvelle procédure Sub appelée DataExtract.
  3. Tapez ou collez le code suivant :
    ' Create a connection object.
    Dim cnPubs As ADODB.Connection
    Set cnPubs = New ADODB.Connection
    
    ' Provide the connection string.
    Dim strConn As String
    
    'Use the SQL Server OLE DB Provider.
    strConn = "PROVIDER=SQLOLEDB;"
    
    'Connect to the Pubs database on the local server.
    strConn = strConn & "DATA SOURCE=(local);INITIAL CATALOG=pubs;"
    
    'Use an integrated login.
    strConn = strConn & " INTEGRATED SECURITY=sspi;"
    
    'Now open the connection.
    cnPubs.Open strConn
    					

Extraction des données

Tapez ou collez le code suivant pour extraire vos enregistrements :
' Create a recordset object.
Dim rsPubs As ADODB.Recordset
Set rsPubs = New ADODB.Recordset

With rsPubs
	' Assign the Connection object.
	.ActiveConnection = cnPubs
	' Extract the required records.
	.Open "SELECT * FROM Authors"
	' Copy the records into cell A1 on Sheet1.
	Sheet1.Range("A1").CopyFromRecordset rsPubs
	
	' Tidy up
	.Close
End With

cnPubs.Close
Set rsPubs = Nothing
Set cnPubs = Nothing
				

Vérifier que le code fonctionne

  1. Exécutez le code.
  2. Basculez vers Excel et observez la feuille Sheet1 du classeur pour afficher les données.

Résolution des problèmes

Si votre code semble se bloquer et vous recevez une erreur d'exécution, votre serveur de base de données est peut-être indisponible. Vous pouvez utiliser la propriété ConnectionTimeout pour contrôler le temps que nécessaire pour renvoyer une erreur d'exécution. Définir cette propriété une valeur supérieure à zéro. Si vous définissez la valeur à zéro, la connexion n'expire jamais. La valeur par défaut est 15 secondes.

Références

Vous trouverez des exemples de code supplémentaires en recherchant dans le site Web de Microsoft à l'adresse suivante :
http://msdn.Microsoft.com/ (http://msdn.microsoft.com/)

Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Office Excel 2007
  • Microsoft Excel 2002
Mots-clés : 
kbhowtomaster kbmt KB306125 KbMtfr
Traduction automatiqueTraduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d’articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d’avoir accès, dans votre propre langue, à l’ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s’exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s’efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 306125  (http://support.microsoft.com/kb/306125/en-us/ )
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.
Partager
Options de support supplémentaire
Forums du support Microsoft Community
Nous contacter directement
Trouver un partenaire Microsoft Certified Partner
Microsoft Store