Share via


DataRecordsets.Add, méthode (Visio)

Ajoute un objet DataRecordset à la collection DataRecordsets en se connectant à une source de données OLEDB ou ODBC et en la récupérant.

Remarque

Cet objet ou ce membre Visio est disponible uniquement pour les titulaires d’une licence d’utilisation de Visio Professionnel 2013.

Syntaxe

expression. Add (ConnectionIDOrString, CommandString, AddOptions, Name)

Expression Variable qui représente un objet DataRecordsets .

Parameters

Nom Requis/Facultatif Type de données Description
ConnectionIDOrString Requis Variant ID d’un objet DataConnection existant ou de la chaîne de connexion pour spécifier une nouvelle connexion de source de données.
CommandString Requis String Chaîne de requête qui spécifie la table de la base de données ou la feuille de calcul Excel et les champs (colonnes) dans la table ou la feuille de calcul qui contient les données sur lesquelles doit porter la requête.
AddOptions Obligatoire Long Options qui déterminent les propriétés du jeu d’enregistrements de données à ajouter. Combinaison d’une ou de plusieurs valeurs énumérées de VisDataRecordsetAddOptions. Pour plus d’informations, consultez la rubrique Remarques.
Name Facultatif String Attribue un nom complet à l'objet DataRecordset ajouté.

Valeur renvoyée

DataRecordset

Remarques

Pour déterminer la chaîne de connexion appropriée à passer au paramètre rStringConnexionIDO, utilisez tout d'abord l'Assistant Sélecteur de données dans l'interface utilisateur de Visio pour établir la même connexion, enregistrez une macro pendant l'exécution de l'Assistant, puis copiez la chaîne de connexion à partir du code de la macro.

Un moyen simple de réutiliser une connexion de données existante consiste à transmettre la valeur de propriété DataConnection d’un objet DataRecordset existant pour le paramètre ConnectionIDOrString. Utilisez la syntaxe suivante :

NewDataRecordset  = DataRecordsets.Add(ExistingDataRecordset .DataConnection.ID, CommandString, AddOptions, Name)

Pour le paramètre rStringConnexionIDO, si vous passez l'ID d'un objet DataConnection existant actuellement utilisé par un ou plusieurs autres jeux d'enregistrements de données, tous les jeux d'enregistrements de données deviennent des jeux d'enregistrements de groupes avec transaction. Tous les jeux d’enregistrements de données du groupe sont réactualisés dès qu’une actualisation des données a lieu.

Le paramètre AjouterOptions peut être une combinaison d’une ou plusieurs des valeurs issues de l'énumération VisDataRecordsetAddOptions, qui est déclarée dans la bibliothèque de types de Visio. La valeur par défaut est zéro (0) et spécifie qu'aucune option n'est définie.

Constante Valeur Description
visDataRecordsetNoExternalDataUI 1 Empêche les données du nouveau jeu d'enregistrements de données d'être affichées dans la fenêtre Données externes.
visDataRecordsetNoRefreshUI 2 Empêche l'affichage du jeu d'enregistrements de données dans la fenêtre Actualiser les données.
visDataRecordsetNoAdvConfig 4 Empêche l'affichage du jeu d'enregistrements de données dans la fenêtre Configurer l'actualisation.
visDataRecordsetDelayQuery 8 Ajoute un jeu d'enregistrements de données mais n'exécute pas la requête ChaîneCommande tant que la méthode Refresh n'est pas appelée.
visDataRecordsetDontCopyLinks 16 Ajoute un jeu d’enregistrements de données, mais les liaisons de données de forme ne sont pas copiées dans le Presse-papiers lorsque les formes sont copiées ou coupées.

Une fois ces valeurs attribuées, vous ne pouvez pas les modifier pour l'objet DataRecordset.

Le paramètre Nom est une chaîne facultative qui permet d'attribuer un nom complet au jeu d'enregistrements de données. Si vous demandez l'affichage de la fenêtre Données externes dans l'interface utilisateur de Visio, le nom passé pour cet argument apparaît sous l'onglet de la fenêtre Données externes qui correspond au jeu d'enregistrements de données que vous avez ajouté.

Si la méthode Add réussit, elle effectue les actions suivantes :

  • Crée un objet DataRecordset et lui attribue le nom défini dans le paramètre Nom. Si vous ne spécifiez pas de nom, Visio attribue au jeu d’enregistrements de données le nom de la table de base de données qui est la source des données.

  • Associe un nouvel objet DataConnection existant à l'objet DataRecordset.

  • Ouvre la fenêtre Données externes dans l'interface utilisateur de Visio, excepté si la constante visDataRecordsetNoExternalDataUI est définie.

Excepté si vous passez visDataRecordsetDelayQuery comme partie du paramètre AjouterOptions, la méthode Add effectue également les opérations suivantes :

  • Exécute la chaîne de requête spécifiée dans le paramètre CommandString et récupère les données obtenues.

  • Mappe les types de données des colonnes de la source de données aux types de données équivalents dans Visio, tout en filtrant les résultats pour supprimer les colonnes de la source de données qui ne peuvent pas être liées aux formes Visio car elles ne possèdent aucun type de données équivalent dans Visio. Vous ne pouvez tout particulièrement pas importer de données du type binaire ou ésotérique tels que UserDefined, Chapter et IDispatch.

  • Attribue un ID de ligne à chaque ligne du jeu d’enregistrements de données. Pour plus d’informations sur les ID de ligne, consultez la rubrique DataRecordset.GetDataRowIDs .

Remarque

La méthode Add échoue et renvoie une exception si elle rencontre des erreurs liées à la connexion réseau, à des délais d'attente réseau ou à des autorisations de base de données. Si l'option visDataRecordsetDelayQuery est définie, dans les mêmes circonstances, la méthode Add peut parvenir à ajouter un nouveau jeu d'enregistrements de données, mais l'actualisation risque d'échouer.

Exemple

La macro de Microsoft Visual Basic pour Applications (VBA) suivante montre comment utiliser la méthode Add pour connecter un dessin Visio aux données du fichier ORGDATA.XLS, un classeur Microsoft Office Excel, copié dans C:\Program Files\Microsoft Office\OFFICE12\SAMPLES\1033\ lorsque vous installez Visio dans le chemin par défaut.

Dans cet exemple, il n’existe aucune connexion de données. Par conséquent, pour le premier paramètre de la méthode Add , nous transmettons strConnection , la chaîne de connexion. Pour le deuxième paramètre, nous transmettons strCommand , la chaîne de commande, qui indique à Visio de sélectionner toutes les colonnes de la feuille de calcul que nous spécifions. Pour le troisième paramètre de la méthode Add , nous transmettons zéro pour spécifier le comportement par défaut du jeu d’enregistrements de données, et pour le dernier paramètre, nous transmettons « Données d’organisation », le nom d’affichage que nous voulons attribuer au jeu d’enregistrements de données.

Public Sub AddDataRecordset_Example() 
 
    Dim strConnection As String 
    Dim strCommand As String 
    Dim strOfficePath As String 
    Dim vsoDataRecordset As Visio.DataRecordset 
 
    strOfficePath = Visio.Application.Path     
    strConnection = "Provider=Microsoft.ACE.OLEDB.12.0;" _ 
                       & "User ID=Admin;" _ 
                       & "Data Source=" + strOfficePath + "SAMPLES\1033\ORGDATA.XLS;" _ 
                       & "Mode=Read;" _ 
                       & "Extended Properties=""HDR=YES;IMEX=1;MaxScanRows=0;Excel 12.0;"";" _ 
                       & "Jet OLEDB:Engine Type=34;" 
 
    strCommand = "SELECT * FROM [Sheet1$]" 
 
    Set vsoDataRecordset = ActiveDocument.DataRecordsets.Add(strConnection, strCommand, 0, "Org Data") 
 
End Sub

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.