| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY wird von NVIDIA zum Händler des Jahres gewählt – zum dritten Mal in Folge, eine Pressemitteilung
|
Autor
|
Thema: Objektverknüpfung mit Datenbank (2112 mal gelesen)
|
marcel69 Mitglied Bauingenööhr
Beiträge: 5 Registriert: 11.11.2004
|
erstellt am: 11. Nov. 2004 12:26 <-- editieren / zitieren --> Unities abgeben:
Moins zusammen!!! Habe mich an ein großes Projekt gewagt und bleibe z.Zt. an einem Problem hängen. Hat jemand 'nen Lösungsansatz? Problem: Koordinaten und zusätzliche Sachinformationen sind in einer Access-Datenbank vorhanden. Die Koordinaten werden ausgelesen und hieraus die Polylinie gezeichnet. Bisher kein Thema. Nur wie verknüpfe ich per VBA diese so erstellte Polylinie mit dem Datensatz aus Access? Mir schweben ein paar Stichwörter wie Handle etc. durch den Kopf, weiß aber nicht wie und wo ich die Verbindung unterkriegen soll. Merci, Marcel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
kiltswitch Mitglied
Beiträge: 189 Registriert: 27.10.2004 Windows 98 (Version 4.10.1998) AutoCAD 2000i
|
erstellt am: 11. Nov. 2004 12:39 <-- editieren / zitieren --> Unities abgeben: Nur für marcel69
Hallo, vor so einem ähnlichen Problem stehe ich auch. Wollte ich Dir nur mal mitteilen. Ich muß ein Konzept für einen Mastkonfigurator machen.Das beinhaltet z.B. das automatische Zusammensetzen von Mastteilen - Blöcken - in einer Zeichnung. Jeder Block ist in einer eigenen Datei gespeichert und diese Dateine sind in einem Bauteilkatalog drin. Nun habe ich auch schon Überlegungen angestellt, denn um auf die richtige Datei zuzugreifen, benötige ich mit Sicherheit eine Datenbank... Und dabei steht natürlich auch die Frage, wie das dann mit VBA verknüpft wird. Also helfen kann ich Dir jetzt leider nicht, weil ich wie gesagt selber noch nicht weiß, wie es geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BloodyMess Mitglied Applicationingenieur
Beiträge: 604 Registriert: 06.06.2002 AutoCAD Map 3D 2005 Win XP pro
|
erstellt am: 11. Nov. 2004 12:46 <-- editieren / zitieren --> Unities abgeben: Nur für marcel69
|
Proxy Ehrenmitglied Stateless-DHCP v6-Paketfragmentierer
Beiträge: 1629 Registriert: 13.11.2003 Tastaturen, Mäuse, Pladden, Monitore, ..., einige AutoCADs 200x & SWX 2kX
|
erstellt am: 11. Nov. 2004 13:04 <-- editieren / zitieren --> Unities abgeben: Nur für marcel69
_dbconnect eingeben <enter> "Provider" auswählen Ms OLE DB for ODBC Drivers oder so... je nach OS und Office Version, Datenquelleytyp auswählen bei 2ten Reiter mdb suchen ... Login vergeben falls ein vorhanden, bei Erweitert die entsprechenden Berechtigungen setzten, und unter alle vielleicht paar kritische Werte erfassen (anpassen) Connect Timeout, Data Source überprüfen etc. Dann müsste auf der linken Seite die Tabellen erscheinen die in der MDB existieren. Der Rest ist schönes MSSQL. P.S. Dont forget the allmighty handle. ------------------ "Lisp?!?! Why the Hell did you pick the most arcane, obscure, and hopelessly-rooted-in-the-computer-science-department language in the world for an AutoCAD programming language?" Read the whole story: The Autodesk File ca. 890 Seiten | 7500 KB PDF Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
marcel69 Mitglied Bauingenööhr
Beiträge: 5 Registriert: 11.11.2004
|
erstellt am: 11. Nov. 2004 17:40 <-- editieren / zitieren --> Unities abgeben:
Moins TP, vielen Dank für deinen Tip mit CAO. Hilft mir nen bißchen weiter. Das Beispiel geht schon von verlinkten Objekten aus, die beidseitig aktualisiert werden. Aber wie legt man den Link an? Grüße, Marcel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
marcel69 Mitglied Bauingenööhr
Beiträge: 5 Registriert: 11.11.2004 Windoof auf'n PC, leider...
|
erstellt am: 11. Nov. 2004 17:43 <-- editieren / zitieren --> Unities abgeben:
Netter Beitrag, Proxy, nur leider völlig am Problem vorbei. Wie unter VBA die Objekte mit den Einträgen verlinkt werden war die Frage. Vielleicht das nächste Mal, trotzdem Danke für dein Bemühen. Bis dahin, Marcel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Proxy Ehrenmitglied Stateless-DHCP v6-Paketfragmentierer
Beiträge: 1629 Registriert: 13.11.2003 Tastaturen, Mäuse, Pladden, Monitore, ..., einige AutoCADs 200x & SWX 2kX
|
erstellt am: 11. Nov. 2004 19:45 <-- editieren / zitieren --> Unities abgeben: Nur für marcel69
Oppps sorry hab mich vertan, solte eigentlich ein Antwort auf das hier (Nachbartread) werden. ------------------ "Lisp?!?! Why the Hell did you pick the most arcane, obscure, and hopelessly-rooted-in-the-computer-science-department language in the world for an AutoCAD programming language?" Read the whole story: The Autodesk File ca. 890 Seiten | 7500 KB PDF Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BloodyMess Mitglied Applicationingenieur
Beiträge: 604 Registriert: 06.06.2002 AutoCAD Map 3D 2005 Win XP pro
|
erstellt am: 11. Nov. 2004 22:03 <-- editieren / zitieren --> Unities abgeben: Nur für marcel69
Hi Marcel, ich würd Dir ja jetzt gerne ein Beispiel programmieren, aber im Moment ist Zeit gerade etwas rar. Versuch doch mal über Goggle Groups 'cao link template vba' ... da finden sich einige Beispiele. Ich hab sowas auch schon über CAO gemacht, find aber gerade das Beispiel nicht. Ich hoffe das hilft Dir weiter. Gruß TP ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
marcel69 Mitglied Bauingenööhr
Beiträge: 5 Registriert: 11.11.2004
|
erstellt am: 12. Nov. 2004 07:36 <-- editieren / zitieren --> Unities abgeben:
|
marcel69 Mitglied Bauingenööhr
Beiträge: 5 Registriert: 11.11.2004 Windoof auf'n PC, leider...
|
erstellt am: 12. Nov. 2004 09:43 <-- editieren / zitieren --> Unities abgeben:
Moins !!! Problem gelöst. Dank CAO. Für Tobias und sonstig Interessierte nen kleines Progrämmchen, dass eine Objektauswahl in der Datenbank "test" unter Zuhilfenahme der zuvor erstellten Verknüpfung tab1ver1 mit dem Datensatz "ID=3" verbindet. Sub DB_Connection() Dim dbConnect As CAO.dbConnect Dim linkTemplates As CAO.linkTemplates Dim newLink As CAO.link Dim Doc As AcadDocument Dim strDataSource As String Dim currKeyValues As CAO.KeyValues Dim entitySet As IAcadSelectionSet Dim entityIndex As Integer Dim objectId As Long Set Doc = ThisDrawing.Application.ActiveDocument Set dbConnect = GetInterfaceObject("CAO.DbConnect") Set currKeyValues = GetInterfaceObject("CAO.KeyValues") strDataSource = "test" If Not dbConnect.IsConnected(strDataSource) Then dbConnect.Connect strDataSource Set linkTemplate = dbConnect.GetLinkTemplates.Item("tab1ver1") currKeyValues.Add "id", "3" Set entitySet = Doc.ActiveSelectionSet entitySet.Clear entitySet.SelectOnScreen For entityIndex = 0 To entitySet.Count - 1 objectId = entitySet.Item(entityIndex).objectId Set newLink = linkTemplate.CreateLink(objectId, currKeyValues) Next entityIndex If Not linkTemplates Is Nothing Then Set linkTemplates = Nothing If Not dbConnect Is Nothing Then Set dbConnect = Nothing End Sub Grüße, Marcel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |