Partager via


Méthode DataRecordset.GetDataRowIDs (Visio)

Obtient un tableau des ID de toutes les lignes dans le jeu d’enregistrements de données.

Remarque

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

Syntaxe

expression. GetDataRowIDs (CriteriaString)

Expression Expression qui renvoie un objet DataRecordset .

Parameters

Nom Requis/Facultatif Type de données Description
CriteriaString Requis String Chaîne conforme aux instructions spécifiées dans l'API Microsoft ActiveX Data Object (ADO) pour paramétrer la propriété ADO.Filter

Valeur renvoyée

Long()

Remarques

Utilisez la méthode GetDataRowIDs pour obtenir un tableau des ID de toutes les lignes d’un jeu d’enregistrements de données, où chaque ligne représente un enregistrement de données unique. La méthode GetDataRowIDs prend comme son paramètre une chaîne de critères, qui est une chaîne conforme aux instructions spécifiées dans l'API ADO pour paramétrer la propriété ADO.Filter. En spécifiant les critères appropriés et à l'aide des opérateurs AND et OR pour séparer des clauses, vous pouvez filtrer les informations dans le jeu d'enregistrements de données, afin de renvoyer uniquement certaines lignes de jeu d'enregistrements de données sélectionnées. Pour ne pas appliquer de filtre (ce qui équivaut à obtenir toutes les lignes), transférez une chaîne vide ("").

Pour plus d’informations sur les chaînes de critères, consultez Propriété de filtre dans la référence de l’API ADO 2.8.

Exemple

Cette macro Microsoft Visual Basic pour Applications (VBA) vous indique comment vous pouvez utiliser les méthodes GetDataRowIDs et GetRowData, afin de renvoyer l’ID de ligne de chaque ligne, puis d’obtenir les données stockées dans chaque ligne du jeu d’enregistrements de données spécifié. La macro obtient le nombre de tous les jeux d’enregistrements de données associés au document actif et obtient les données de ligne pour celui qui a été ajouté le plus récemment. Elle parcourt toutes les lignes du jeu d’enregistrements de données puis, pour chaque ligne, elle parcourt l’ensemble des colonnes incluses dans cette ligne. Le code affiche les informations renvoyées dans la fenêtre Exécution.

Avant d'exécuter cette macro, créez au moins un jeu d'enregistrements de données dans le document actif.

Notez que la macro transfère une chaîne vide à la méthode GetDataRowIDs pour contourner le filtrage et pour obtenir toutes les lignes dans le jeu d'enregistrements. Après avoir exécuté la macro, notez que le premier jeu de données affiché (correspondant à la première ligne de données) contient les en-têtes pour toutes les colonnes de données dans le jeu d'enregistrements de données.

Public Sub GetDataRowIDs_Example() 
 
     
    Dim vsoDataRecordset As Visio.DataRecordset 
    Dim intCount As Integer 
    Dim lngRowIDs() As Long 
    Dim lngRow As Long 
    Dim lngColumn As Long 
    Dim varRowData As Variant 
 
    'Get the count of all data recordsets in the current document. 
    intCount = ThisDocument.DataRecordsets.Count 
 
    Set vsoDataRecordset = ThisDocument.DataRecordsets(intCount) 
 
    'Get the row IDs of all the rows in the data recordset 
    lngRowIDs = vsoDataRecordset.GetDataRowIDs("") 
 
    'Iterate through all the records in the data recordset. 
    For lngRow = LBound(lngRowIDs) To UBound(lngRowIDs) + 1 
        varRowData = vsoDataRecordset.GetRowData(lngRow) 
 
        'Print a separator between rows 
        Debug.Print "------------------------------" 
 
       'Print the data stored in each column of a particular data row. 
        For lngColumn = LBound(varRowData) To UBound(varRowData) 
            Debug.Print varRowData(lngColumn) 
        Next lngColumn 
    Next lngRow 
 
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.