Visio ID-Zuordnung der externen Daten/Tabellen

  • Sonstige

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Termi4.

    Visio ID-Zuordnung der externen Daten/Tabellen

    Hallo zusammen,

    ich suche schon seit längerem eine Möglichkeit, wie ich in Visio 2010 die ID-Zuweisung die beim verknüpfen von externen Daten mit Shapes zurücksetzen kann. Sobald ich nämlich neue externe Daten in Visio einfüge, muss mein Makro anpassen und nach LinkToData eine Zahl höher stellen, damit ich meine Shapes automatisch mit den Datensätzen aus Access verknüpfen kann. Dabei greife ich nicht direkt auf die Acces-DB zu, sondern nur auf die externen Daten in Visio, die ich vorher mit Visio verknüpft habe.

    Visual Basic-Quellcode

    1. vsshape.LinkToData 1, (1 + i), True 'Verlinkung zum Datensatz


    der genaue Befehl ist: "expression.LinkToData(DataRecordsetID, RowID, AutoApplyDataGraphics)"

    Ich denke ich muss die RowID zurücksetzen. Ich beschäftige mich aber erst einen Monat mit VBA/Visio und allgemein mit dem Programmieren, von daher sind meine Erfahrungen eher bescheiden.

    Falls ihr weitere Infos braucht, fragt einfach. Ich weiss, dass das eine sehr spezifische Frage ist.

    Danke schonmal fürs Lesen :)

    Termi4

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Termi4“ ()

    INOPIAE schrieb:

    Wo liegen den Deine Daten?

    Gib mal ein Beispiel. Dann kann man evtl. eine Aussage treffen.


    Die Daten liegen in einer Accessdatenbank. Nur darauf greift Visio nicht zu, wenn die Daten mit den Shapes verknüpft werden sondern, auf den Reiter "externe Daten" siehe Bild/Anhang. Kann leider momentan aus technischen Gründen Visio nicht benutzen :-/, deshalbb das improvisierte Bild. Schwarz umrandet, diese Felder werden durch "LinkToData" angesprochen.
    Bilder
    • Externe Daten.png

      108,09 kB, 1.112×584, 257 mal angesehen
    Die Verknüpfung klappt ohne Probleme auch per VBA. Ich suche nur eine Möglichkeit nachdem ich die Verknüpfung gelöscht habe die Eindeutige Zuordung zu diesem Datensatz im VBA-Code wieder auf 1 zu setzen. Damit mein VBA-Code auch neue Datensätze einlesen kann, ohne das ich meinen Code für jede neue Tabelle erweitern muss.



    Visual Basic-Quellcode

    1. vsshape.LinkToData 1, (1 + i), True '


    die erste Zahl erhöht sich, wenn neue Datensätze/Tabellen eingefügt werden. Lösche ich ich eine Tabelle oder auch alle kann ich mit dem alten VBA-Code, hier Beispielsweise noch eine 1 hat keine neuen Tabellen verknüpfen, da ich diese Zahl erhöhen muss.

    Mann kann dies auch sehen, wenn man ein Marko aufzeichnet, dass VBA in Visio diese Zahl fortlaufend im gleichen Dokument erhöht, auch wenn es keine alten Datensätze mehr gibt.