Freigeben über


DataRecordsets.Add-Methode (Visio)

Fügt der DataRecordsets-Auflistung ein DataRecordset-Objekt hinzu, indem eine Verbindung mit einer OLEDB- oder ODBC-Datenquelle hergestellt und Daten daraus abgerufen werden.

Hinweis

Dieses Visio-Objekt oder dieses Visio-Mitglied ist nur für lizenzierte Benutzer von Visio Professional 2013 verfügbar.

Syntax

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

Ausdruck Eine Variable, die ein DataRecordsets-Objekt darstellt.

Parameter

Name Erforderlich/Optional Datentyp Beschreibung
ConnectionIDOrString Erforderlich Variant Die ID eines vorhandenen DataConnection-Objekts oder der Verbindungszeichenfolge, um eine neue Datenquellenverbindung anzugeben.
CommandString Erforderlich String Abfragezeichenfolge, die die Datenbanktabelle oder das Excel-Arbeitsblatt und die Felder (Spalten) in der Tabelle bzw. in dem Arbeitsblatt angibt, die die abzufragenden Daten enthalten.
AddOptions Erforderlich Long Optionen, die die Eigenschaften des hinzuzufügenden Datenrecordsets bestimmen. Eine Kombination aus einem oder mehreren aufgezählten Werten aus VisDataRecordsetAddOptions. Weitere Informationen hierzu finden Sie unter „Hinweise“.
Name Optional String Weist dem hinzuzufügenden DataRecordset-Objekt einen Anzeigenamen zu.

Rückgabewert

DataRecordset

Hinweise

Sie können eine geeignete Verbindungszeichenfolge bestimmen, die an den ConnectionIDOrString-Parameter übergeben werden soll, indem Sie zuerst den Datenauswahl-Assistenten auf der Visio-Benutzeroberfläche verwenden, um die gleiche Verbindung herzustellen, ein Makro während der Ausführung des Assistenten aufzuzeichnen und dann die Verbindungszeichenfolge aus dem Makrocode zu kopieren.

Eine einfache Möglichkeit, eine vorhandene Datenverbindung wiederzuverwenden, besteht darin, den DataConnection-Eigenschaftswert eines vorhandenen DataRecordset-Objekts für den ConnectionIDOrString-Parameter zu übergeben. Verwenden Sie die folgende Syntax:

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

Wenn Sie für einen ConnectionIDOrString-Parameter die ID eines vorhandenen DataConnection-Objekts übergeben, das derzeit von einem oder mehreren anderen Datenrecordsets verwendet wird, werden alle diese Datenrecordsets zu einem Transact-Gruppenrecordset. Wenn ein Datenaktualisierungsvorgang ausgeführt wird, werden alle Datenrecordsets in der Gruppe aktualisiert.

Der AddOptions-Parameter kann eine Kombination aus den folgenden Werten aus der VisDataRecordsetAddOptions-Aufzählung sein, die in der Visio-Typbibliothek deklariert ist. Die Standardeinstellung ist Null (0), wodurch angegeben wird, dass keine der Optionen festgelegt wird.

Konstante Wert Beschreibung
visDataRecordsetNoExternalDataUI 1 Verhindert, dass Daten im neuen Datenrecordset im Fenster Externe Daten angezeigt werden.
visDataRecordsetNoRefreshUI 2 Verhindert, dass das Datenrecordset im Dialogfeld Daten aktualisieren angezeigt wird.
visDataRecordsetNoAdvConfig 4 Verhindert, dass das Datenrecordset im Dialogfeld Aktualisierung konfigurieren angezeigt wird.
visDataRecordsetDelayQuery 8 Fügt ein Datenrecordset hinzu, führt jedoch die CommandString-Abfrage erst aus, wenn Sie das nächste Mal die Refresh-Methode aufrufen.
visDataRecordsetDontCopyLinks 16 Fügt ein Datenrecordset hinzu, aber Shape-Daten-Verknüpfungen werden nicht in die Zwischenablage kopiert, wenn Shapes kopiert oder ausgeschnitten werden.

Wenn Sie diese Werte zugewiesen haben, können sie während der Lebensdauer des DataRecordset-Objekts nicht mehr geändert werden.

Der Name-Parameter ist eine optionale Zeichenfolge, mit der Sie dem Datenrecordset einen Anzeigenamen zuweisen können. Wenn Sie angeben, dass das Fenster Externe Daten in der Benutzeroberfläche von Visio angezeigt werden soll, wird der für dieses Argument übergebene Name im Fenster Externe Daten auf der Registerkarte angezeigt, die dem hinzugefügten Datenrecordset entspricht.

Wenn die Add-Methode erfolgreich ist, führt sie die folgenden Aktionen aus:

  • Es wird ein DataRecordset-Objekt erstellt, dem der Name zugewiesen wird, der im Name-Parameter angegeben ist. Wenn Sie keinen Namen angeben, weist Visio dem Datenrecordset den Namen der Datenbanktabelle zu, die die Quelle der Daten ist.

  • Ein neues oder vorhandenes DataConnection-Objekt wird mit dem DataRecordset-Objekt verknüpft.

  • Das Fenster Externe Daten wird in der Visio-Benutzeroberfläche geöffnet, sofern visDataRecordsetNoExternalDataUI nicht festgelegt ist.

Sofern Sie visDataRecordsetDelayQuery nicht als Teil des AddOptions-Parameters übergeben, führt die Add-Methode auch noch Folgendes aus:

  • Führt die im CommandString-Parameter angegebene Abfragezeichenfolge aus und ruft die resultierenden Daten ab.

  • Die Datentypen der Spalten in der Datenquelle werden den entsprechenden Datentypen in Visio zugewiesen. Gleichzeitig werden durch das Filtern der Ergebnisse Datenquellenspalten entfernt, die nicht mit Visio-Shapes verknüpft werden können, da sie keinen entsprechenden Visio-Datentyp aufweisen. Insbesondere können Sie keine Binärdaten oder esoterische Datentypen wie UserDefined, Chapter und IDispatch importieren.

  • Jeder Zeile im Datenrecordset wird eine Zeilen-ID zugewiesen. Weitere Informationen zu Zeilen-IDs finden Sie im Thema DataRecordset.GetDataRowIDs .

Hinweis

Die Add-Methode schlägt fehl und gibt eine Ausnahme zurück, wenn Fehler in Bezug auf Netzwerkverbindungen, Netzwerktimeouts oder Datenbankberechtigungen auftreten. Wenn die Option visDataRecordsetDelayQuery festgelegt ist, fügt Add unter denselben Bedingungen möglicherweise ein neues Datenrecordset erfolgreich hinzu, wobei jedoch keine Aktualisierung ausgeführt werden kann.

Beispiel

Das folgende VBA-Makro (Microsoft Visual Basic for Applications) zeigt, wie Sie die Add-Methode verwenden können, um eine Visio-Zeichnung mit Daten in ORGDATA.XLS zu verbinden, einer Microsoft Office Excel-Arbeitsmappe, die unter C:\Programme\Microsoft Office\OFFICE12\SAMPLES\1033\ installiert wird, wenn Sie Visio im Standarddateipfad installieren.

In diesem Beispiel ist keine Datenverbindung vorhanden. Daher übergeben wir für den ersten Parameter der Add-MethodestrConnection , den Verbindungszeichenfolge. Für den zweiten Parameter übergeben wir strCommand , die Befehlszeichenfolge, die Visio angibt, alle Spalten aus dem angegebenen Arbeitsblatt auszuwählen. Für den dritten Parameter der Add-Methode übergeben wir null, um das Standardverhalten des Datenrecordsets anzugeben, und für den letzten Parameter übergeben wir "Organisationsdaten" , den Anzeigenamen, den wir dem Datenrecordset zuweisen möchten.

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

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.