Aus MS-Access ArcView aufrufen und umgekehrt

Im View von ArcView ist ein Punkt auf einer Karte. Wird dieser angeklickt, soll ein Access-Formular aufgerufen werden. Natürlich soll aus der Tabelle, die mehrere Punkte enthält, die richtige Zeile angezeigt werden.
1.)
Geht wohl mit einem Hotlink. Aber wie definiere ich die Hotlink-Eigenschaft? Man kann ein z.B. ein Dokument oder eine Bilddatei verknüpfen, aber wie geht das mit Access? Bestimmt muss ich ein Script verwenden. Gibt es dazu schon ein fertiges?

2.)
Über die SQL-Verbindung in ArcView kann ich, wenn ich nur ArcView gestartet habe, aus einer Tabelle die Punkte automatisch anzeigen lassen, kein Problem.

Nun soll aber aus dem Formular von Access ArcView aufgerufen werden. Der Punkt der Access-Tabelle soll in der Karte angezeigt werden.
Hier weiß ich gar nicht weiter.
Hallo,

zu 1: schau mal unter den ArcView FAQ unter Datenbank nach.

Jens
Hm, also der Erste benutzt das 50$ teure Accesslink. Zu teuer, wenn es ich es mit DDE kostenlos programmieren kann.
Hotlink reicht nicht, ebenso wie die ODBC-Schnittstelle.

Mittlerweile funktioniert aber auch fast alles bei mir mit DDE. Heißt, ich kann in der Datenbank eine Koordinate angeben, die ArcView automatisch in einem Shape setzt.

In einem anderen Thread schreibt Johannes, dass man dem Script eine Schaltfläche zuweisen kann. Wie kann ich dem Script ein Klickereignis auf einem Shape zuweisen???
Andersherum, kann ich einen Punkt in ArcView anklicken und automatisch wird Access, das zugehörige Formular und der zum Punkt zugehörige Datensatz angezeigt.
Es wird sogar geprüft, ob Access schon geöffnet war.

Ein Problem habe ich damit erstmal nur noch eines:
Ich kann nicht wirklich den Punkt anklicken, sondern muss in der Attributtabelle des Shapes einen Datensatz auswählen und dann das Script ausführen. Aber ich will ja direkt den Punkt anklicken können. Daraufhin soll sich dann nicht mehr die Attributtabelle, sondern mein Access-Formular öffnen.
Nee, leider nicht. Diese Beispiele sind aus der ArcView Online-Hilfe, allerdings mit modifierten Kommentaren. Mittlerweile funktioniert aber auch fast alles, was ich wollte.

Problem ist jetzt noch, dass ich einen Datensatz in der Attributtabelle gelb markieren muss, um ihn im Access-Formular anzeigen zu können. Dagegen wird beim "Identifizieren"-Button nach Anklicken eines Punktes oder Polygons der entsprechende Datensatz in der Attributtabelle kurz schwarz markiert, bevor dessen Thementabelle öffnet. Diese schwarze Markierung muss man doch abfragen können, wie die gelbe Markierung. Aber wie?

Dafür war:
http://gislounge.com/features/aa051700.shtml
ganz hilfreich!

Urks, mittlerweile bin ich mit einem Thema in zwei Threads. Schande über mein Haupt!
Falls Ihr mir noch helfen könnt und möchtet, schreibt doch bitte die Antwort in "Wie führe ich ein Avenue Script aus?".
Hallo,

bin jetzt zu faul zum suchen, aber war das Script gemeint?


theView = av.FindDoc("dein_view")
theTheme = theView.FindTheme( "dein_shape.shp")

theFtab = theTheme.GetFtab
theThemeBitmap = theFtab.GetSelection

for each r in theThemeBitmap
ActID = theFtab.ReturnValueString(theFtab.FindField( "dein_eindeutiges_feld_im_dbf"),r)
end

msgbox.info(ActID, "Ausgewählt: ")
' nur zum anzeigen

'ActID = SELF.asstring
Condition = "[OpenForm frm_arcview,,,[dein_eindeutiges_feld_in_Access] = """ +ActID+ """]"


theRequest = DDEClient.Make( "MSAccess", "System")


if (theRequest.HasError) then
MsgBox.Info( "Ich starte jetzt die Datenbank. blabla..." + (10.aschar) + "Bitte wiederholen Sie danach Ihre Abfrage ." , "Kleine Info:" )


system.execute("C:\Programme\Microsoft Office\Office\msaccess.exe C:\fachdaten\db\meine_datenbank.mdb")
theRequest = DDEClient.Make( "MSAccess", "System ")
end
theRequest.execute(Condition)
'Ausführen

theRequest.Close
'Schliessen


---

Das kannst Du anpassen und im View einem neuen Button zuordnen (Im View Doppelklicken auf die Menüleiste - Kategorie Schaltflächen - Neu - und beim Click-Ereignis das zuvor kompilierte Script angeben. Ich weiß nicht, wo ich das mal gefunden habe - kann sein bei Jürgen Evert, der ja hier auch im Forum aktiv ist vielleicht schaust Du mal auf dessen Homepage, sehr hilfreich.

Hth

Uwe