Datentypen werden nicht erkannt

Bamboocha_10

Mitglied
Folgendes Problem
Ich programmiere mit VB 6.0. ein Programm mit dem ich auf ArcMap von Esri zugreifen möchte. Das Problem ist, dass die Datentypen (siehe Code) nicht erkannt werden.

Nutze ich das VBA Tool in ArcMap (leider nur VB 4), funktioniert folgender Programmcode:
Code:
'Geodataset --> Feature Dataset --> Liste aller FeatureClasses in einem Dataset
'Zugriff auf das Network
Dim strMDBFile As String
Dim aoiAccFact As IWorkspaceFactory
Dim aoiAccWsp As IFeatureWorkspace
Dim aoiDataset As IFeatureDataset
Dim aoiEnum As IEnumDataset
Dim aoiFDataset As IDataset
Dim strList As String

  ' Pfad zur Access-Datenbank festlegen...
  strMDBFile = "D:\Studium\Masterarbeit\Plan Zossen\GeoDb_street_Network.mdb"
  ' AccessWorkspaceFactory erzeugen ...
  Set aoiAccFact = New AccessWorkspaceFactory
  ' Verweis auf die IWorkspace-Schnittstelle ...
  Set aoiAccWsp = aoiAccFact.OpenFromFile(strMDBFile, 0)

  ' FeatureDataset "water" öffnen ...
  Set aoiDataset = aoiAccWsp.OpenFeatureDataset("network_dataset")
  ' Liste aller FeatureClasses
  Set aoiEnum = aoiDataset.Subsets
  ' Schleife durch alle Objekte der Liste ...
  aoiEnum.Reset
  Set aoiFDataset = aoiEnum.Next
  Do While Not aoiFDataset Is Nothing
    strList = strList & aoiFDataset.Name & Chr(13)
    Set aoiFDataset = aoiEnum.Next
  Loop
  MsgBox "Liste der Feature Classes im Dataset street_network " & strList
  
  
  
'Pfad auf der CD: Die Geodatabase -->
'Table --> Dataset --> Anzahl der Felder in einer Tabelle
'abgewandelter Code für den Zugriff auf die Feature Classes
Dim aoiTable As IClass

  'ITable-Schnittstelle auf die Tabelle in der Geodatabase
  Set aoiTable = aoiAccWsp.OpenFeatureClass("streets")
  'Anzahl der Felder in der Table
  MsgBox "Anzahl der Felder Straßen_Poly (Feature Class) " & aoiTable.Fields.FieldCount
End Sub

(Das ich diese Dinge auch über Recordsets machen kann, weiß ich, aber es sollen weitere Dinge gemacht werden, die nicht über RS funktionieren.)

Im VB 6.0 geht das leider nicht
Fehlermeldung: "Fehler beim Kompilieren. Benutzerdefinierter Typ nicht definiert.

Ich könnte mir als Lösung folgende Dinge vorstellen:
- über Projekt - Verweise etwas von ESRI hinzufügen (doch woher weiss ich was)
- Klassen definieren (wie das geht weiss ich allerdings überhaupt nicht)

Ich würde mich freuen, wenn mir jemand in irgendeiner Form auf die Sprünge helfen kann. Auch Denkanstöße sind willkommen! Aber bitte berücksichtigt, dass ich noch nicht sehr fit bin im Programmieren.
 
Nach langem Probieren und Lesen habe ich nun folgende Verweise hinzugefügt:
ESRI GeoDatabase Object Library
ESRI DataSourcesGDB OBJECT Library
(ich weiss, dass ihr das schlecht nachvollziehen könnt, da das Programm vermutlich nicht vorhanden ist.) Aber gibt es grundsätzlich ein Vorgehen, woran man Erkennt welchen Verweis man setzen muss?

Leider kommt es in meinem VB 6 nun zu folgender Fehlermeldung:
Laufzeitfehler: Automatisierungsfehler
beim Debuggen springt er in diese Zeile
Code:
Set aoiAccWsp = aoiAccFact.OpenFromFile(strMDBFile, 0)

Im VBA funktioniert es weiterhin.
Weiß jemand, warum es an dieser Zeile hapert?
 

Neue Beiträge

Zurück