Anbindung einer Access Datenbank an ARCGIS ???

hallo,
wir haben eine fertige Access Datenbank mehreren Tabellen, Abfragen, Formulare usw. erstellt mit Atributdaten zu entsprechenden Geometrien(Schlüsselfeld ist Vorhanden).
wie lässt sich diese Datenbank nun an ArcGIS 8.3 anbinden.
DIe Formulare und Abfragen (Access) sollen in ArcGIS verfügbar sein...

vielen Dank für eure hilfe
andreas
hi andreas,
tabellen können direkt über "Daten importieren" in arcmap eingebunden werden, um aber auch deine abfragen nach arcmap rüberzuholen solltest du eine "database connection" in arccatalog einrichten (zu finden im katalogverzeichnis). Hier kannst du verschiedene Verbindungstypen auswählen, probier mal die jet- oder die odbc-Verbindung aus.
gruß marc
hallo, wir haben für unser projekt jetzt so gelöst, dass wir mit vba in arcmap einen knopf haben der dann das eingabeformular in access startet...zwar nicht ganz so toll weil wir mit odbc verbindung arbeiten, aber es reicht mal aus.
in arc view 3.X gibts ja den access link der stellt uns aber nicht ganz so zufrieden weil er nichtso sauber funktioniert.
für meine diplomarbeit benutze ich geomediaprof. und da ist das mit der access datenbank anbinden überhaupt kein problem....aber prüfung hab ich halt mit arcmap;-)
hallo andreas,

es würde mich sehr interessieren wie Du das Problem letztlich gelöst hast, ich habe nämlich gerade das gleiche!
Für Tips bin ich dankbar, ich kann nämlich nicht auf ArcView 3.2 zurückgreifen, sondern muß mit 8.3 arbeiten.

Gruß Anke
Hallo zusammen!
Ich kann mich erinnern, dass es in den ArcScripts eine Extension für ArcGIS gibt, die die Verbindung zu Access bewerkstelligt. Die ArcScripts sind aber offenbar z.Zt. nicht erreichbar.

Gruß
Wolfgang
Hallo alle,

wer ueber VBA auf eine ACCESS-Datenbank zugreifen moechte, der interessiert sich vielleicht fuer entsprechende Programmierbeispiele:

Datenbankabfrage ueber VBA

Happy Programming

Uwe.Lange(at)DB-GIS.de
hallo uwe,

und wie funktioniert das? Den Vb-Code als Hotlink eingeben?

Im Moment hab ich das Problem, dass ich die Datenbank über ODBC als Microsoft Jet angebunden habe. Funktioniert auch prima, aber ich muß ja jetzt jede einzelne Tabelle der aus der Database Connection in ArcGIS laden. Und da die Beziehungen aus Access nicht übernommen werden, muß ich vier oder mehr Einzeltabellen in ArcMaß mit Joins über Schlüsselfelder miteinander verbinden, um dann an die Attribute einer bestimmten Variable darstellen zu können. Gibt es da keine elegantere Lösung als meine bzw. ausser mit VB, wenn man sich da nicht auskennt?

Gruß Anke
Hallo Anke,

waere dir damit geholfen, dass du:

1. deine Abfrage in ACCESS definierst, wie du sie in ArcMap benoetigst und
2. eine Tabellenabfrage durchfuehrst:
a. Abfrage -> Tabellenerstellungsabfrage -> Namen der neu zu erstellenden Tabelle eingeben
b. Rotes Ausrufezeichen druecken, um die Abfrage auszufuehren

Die neu erstellte Tabelle kannst du dann auch ueber deine Verbindung aufrufen.

Gruss und viel Erfolg damit

Uwe
Hallo Uwe,

ja, daran habe ich auch schon gedacht! Es ist wahrscheinlich die einfachste Möglichkeit.
Habe ich auch schon versucht, es kam aber Mist raus. Das lag aber in dem Fall wohl eher daran, wie ich die Abfrage gemacht habe.

Bleibt das Problem, dass diese Abfrage immer aktualisiert werden muß sobald die Datenbank bearbeitet wurde.
Wie bekomme ich das hin?

Gruß Anke
Hallo Anke,

wenn du die Datenbank grundsaetzlich ueber einen Button im Formular schliesst, so kann die betreffende Prozedur deine Tabellenerstellungsabfrage automatisch aufrufen und ausfuehren, bevor die Datenbank geschlossen wird.

Gruss

Uwe
Hallo Uwe,

o.k. danke. Aber als nicht besonders VB versiert frage ich mich wie die Prozedur aussehen müßte.
Käme da einfach eine Ereignisprozedur für den Button mit "bei Klicken tue folgendes" in Frage?
Und genau da fehlen mir die Befehle. Hast Du noch einen Tip für mich? :-))

Gruss Anke
Hallo Anke,

vielleicht geht es so:

Public Function accessShutdown()

Dim lngAnswer As Long
lngAnswer = MsgBox("Soll die Tabelle xyz aktualisiert werden?", vbYesNo + vbDefaultButton1, "Tabelle xyz aktualisieren")
If lngAnswer = vbYes Then
DoCmd.RunMacro "TabelleAktualisieren"
End If

DoCmd.RunMacro "AccessBeenden"

End Function


Das Makro TabelleAktualisieren muesste die Aktion ÖffnenAbfrage oder AusführenSQL enthalten.

In dem Makro AccessBeenden waehltst du als Aktion Verlassen und als Option Alles Speichern.

Das Formular kannst du entweder wie gewohnt oder ueber den Übersichtsmanager erstellen.

Viel Erfolg und Gruss

Uwe