ArcMap aus Access starten

Ich versuche mich an einer VBA-Prozedur, die ein GIS-Projekt von einem Access-Formular aus öffnet und auf den im Access-Formular aktuellen Datensatz zoomt.
In diversen Foren habe ich Ideen gefunden. Das öffnen des GIS-Projektes funktioniert bisher nur mit einer Shell-Execute-Api von Jörg Ostendorp vom 29.3.05 im ANUVA-Forum.
Danach erscheint aber gleich der Hinweis von Uwe Lange, daß auf diesem Weg z.B. das Zoomen in bestimmte Features nicht möglich ist. Sein mitgelieferter ArcObjects(8.0)-Code (30.3.05) produziert bei mir bloß folgende Fehlermeldung: "Benutzerdefinierter Typ nicht definiert!" und markiert die Zeile
"Dim pDoc As esriCore.IDocument"
Dabei bleibt es auch, egal welche ESRI-Bibliothek ich bei Verweisen im VBA-Editor in Access mitaktiviere und wie ich versuche den Code zu modifizieren.
Dieselbe Fehlermeldung erscheint ebenfalls, wenn ich den Programmcode nach ArcMap kopiere und die Prozedur von dort aufrufe. Wo liegt der Fehler, bzw. wie geht's richtig?
Danke und Gruß
Gerd
Hallo Gerd,

welche ArcGIS-Version benutzt Du denn?
ArcGIS 9.0
Hallo Gerd,

habe hier selbst kein 9.0, nach Hörensagen hat sich aber hinsichtlich der Biobliotheken einiges geänderdert. Möglich, daß IDocument nicht mehr zur esriCore gehört sondern zu esriCarto(?). Schau doch vielleicht einfach mal im Objectexplorer, ob dem so ist und deklariere ggf. die Zeilen um.

Viele Grüße
Jörg Ostendorp
In ArcGIS 9.0 werden die Schnittstellen nicht mehr mit esriCore. aufgerufen.
Beispielsweise schreibt man statt
"dim pDoc as esriCore.IDocument" hier "dim pDoc as IDocument".
Hilft Dir das irgendwie weiter? #

Gruß
Danke für die schnellen Rückmeldungen. Aber ...

bei "esricarto" existiert "IDocument" ebenfalls nicht, d.h. die Fehlermeldung ist dieselbe.
Hier mal der vollständige Code von Uwe Lange für ArcGIS 8:

Dim pDoc As esriCore.IDocument
Dim pMxApp As esriCore.IMxApplication
Dim pApp As IApplication

Set pDoc = New esriCore.MxDocument
Set pMxApp = pDoc.Parent
Set pApp = pMxApp
pApp.OpenDocument ("c:\temp\unbenannt.mxd")
pApp.Visible = True


Wenn ich "esricore" und "esricarto" weglasse, erscheint die Fehlermeldung:

"Objekterstellung durch Active-X-Komponente nicht möglich"

Dieselbe Fehlermeldung kommt bei dem Code, wie ich ihn versucht habe:

Dim MyMap As Object

Set MyMap = CreateObject("ArcGIS.Application")
MyMap.OpenDocument ("c:\temp\unbenannt.mxd")
MyMap.Visible = True

Was nun?
Hallo Gerd,

versuche es doch mal mit IMxDocument anstelle von IDocument

grüße
Hallo Gerd,

versuch es mal mit folgendem Code:

Public Sub DokumentStarten()

Dim pDoc As esriFramework.IDocument
Dim pMxApp As esriArcMapUI.IMxApplication
Dim pApp As IApplication

Set pDoc = New esriArcMapUI.MxDocument
Set pMxApp = pDoc.Parent
Set pApp = pMxApp
pApp.OpenDocument ("c:\temp\raster.mxd")
pApp.Visible = True

End Sub

Gruß

Uwe
Danke Uwe, der Code funzt!