Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Access mit Link starten und Datensatz aufrufen

Begonnen von Carl, August 22, 2019, 07:56:45

⏪ vorheriges - nächstes ⏩

Carl

Bei uns ist es üblich, Links auf Dateien herum zu schicken, zum Beispiel K:\ordner\unterordner\brief.docx

Bei der Umstellung auf Access ist das nun nicht mehr möglich. Daher die Frage:

Kann man Access mit einem Link starten, der:
* Access öffnet
* ein bestimmtes Endlosformular startet
* einen bestimmten Datensatz daraus anzeigt?

Es wäre auch okay, wenn man mit dem Link ein ansonsten nicht benutztes verstecktes Formular ansteuert und ihm aus dem Link heraus die ID des Datensatzes übergibt.

Geht sowas?

Carl

DF6GL

Hallo,

versteh ich das richtig: Du willst einen Link verteilen, der Access auf dem lokalen Zielrechner startet und ein Form mit bestimmten Daten anzeigt?

Prinzipiell ist das annähernd möglich:

--Access und die Anwendung müssen auf allen(!) Rechnern gleichartig installiert sein.
--Die Anwendung besitzt ein Autoexec-Makro, das das Form läd und nach der ID filtert, bzw. positioniert.
    Alternativ dazu könnte die Anzeige des Forms entspr. hier:  http://www.dbwiki.net/wiki/Access_Anf%C3%A4nger:_Access_mit_Parameter_starten  gesteuert werden.
-- die ID dynamisch, bzw. den mit der ID-gefilterten Datensatz an den Link zu geben, ist vermutlich eher nicht oder schwierig zu lösen.

Eine andere Möglichkeit ist, das Formular aus dem Navibereich auf den Desktop zu "ziehen". Dadurch wird ein Link erstellt, der das Form öffnet, aber eben auch ohne dynamisch angegebene Filterung.

Insgesamt sehe ich das aber als verquerte Datenverteilung an.. 
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

PhilS

Zitat von: Carl am August 22, 2019, 07:56:45
Kann man Access mit einem Link starten, der:
* Access öffnet
* ein bestimmtes Endlosformular startet
* einen bestimmten Datensatz daraus anzeigt?
Ja, das sollte gehen, aber es ist nicht ganz trivial und hat wohl ein paar Einschränkungen. - Es steht seit langem auf meiner ToDo-Liste das genauer anzuschauen, aber ich bin bisher nicht dazu gekommen.

Anders 'TheSmileyCoder' Ebro hat dazu zwei Artikel auf Englisch veröffentlicht.
Deep Linking or Hyperlinking in Microsoft Access
Access Email with Hyperlink to record
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

Carl

#3
Die Datenbank wird in den meisten Fällen über einen Starter gestartet und öffnet über die autoexec ein Formular "_index" (ohne Filterfunktion) Diese Arbeitsgewohnheit muss natürlich normal weiterhin möglich sein.

Ich stelle es mir gerade so vor: Man erstelle in der DB eine alternative "autoexec2", die durch einen Link angesprochen werden kann. Diese:
* werde aus dem Link gestartet
* verhindere das Ausführen von autoexec
* starte statt dessen das gewünschte Zielformular
* filtere nach einem DS, der vom Link übergeben werde

Wäre das machbar?

Dann im DS ein Button, der den Link erstellt und in die Zwischenablage kopiert, so dass man ihn einfach in eine Email pasten und an den Kollegen schicken kann, damit er den Vorgang aufrufen kann.

VG Carl

Beaker s.a.

Hallo Carl,
Ich würde das mit einer Art "Messenger" komplett innerhalb von Access
realisieren. Ganz grob:

tblMessages
MessageID (PK)
Absender (FK Personal)
MessageText
und wenn es wirklich so speziell wie beschrieben sein soll, könnte man hier
auch noch Felder für Formularnamen/gewünschte ID einfügen, die man dann
in u.a. Formular in gewünschter Weise weiterverwenden kann.

tblEmpfaenger
MessEmpfID (PK)
Empfaenger (FK Personal)
gelesen (Boolean)

Auf diese Tabellen ein Formular (Hidden) aufgesetzt, dass einmal nach dem
Login des MA bzw. im laufenden Betrieb per Timer schaut ob es neue Nach-
richten gibt, und ggfls. aufpoppt. Um selber eine Nachricht zu schreiben
könnte man das Form per AutoKeys sichtbar machen.

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Carl

Die Lösung ist arbeitstechnisch bei mir nicht umsetzbar.

Ich habe mal zwei Einzelfragen:

(1) Kann man mit einem Link, der Access startet, ein Argument übergeben, welches Formular nach dem Starten von Access aufgerufen werden soll?

Also wenn man die DB ohne diesen Link startet, sondern normal durch anklicken, soll das betreffende Formular nicht aufgerufen werden.

DF6GL

Hallo,



Zwei (?) Einzelfragen, ich sehe nur eine,

und die habe ich letzthin schon beantwortet:


siehe
http://www.dbwiki.net/wiki/Access_Bedienungsanleitung:_Startparameter_f%C3%BCr_Access

und speziell /x Makroname
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Carl

Vielen Dank für Deine Antwort. Aber ich sehe gerade mit den angegeben Optionen keinen Weg, zum Beispiel nach dem öffnen der DB das Formular a aufzurufen und den Datensatz mit der ID 20 anzeigen zu lassen.

PhilS

Zitat von: Carl am September 03, 2019, 15:05:07
Aber ich sehe gerade mit den angegeben Optionen keinen Weg, zum Beispiel nach dem öffnen der DB das Formular a aufzurufen und den Datensatz mit der ID 20 anzeigen zu lassen.
Wo genau hakt es denn?
Falls du ihn auf den zuvor verlinkten Seite nicht gefunden hast, hier noch folgender Direktlink: http://www.dbwiki.net/wiki/Access_Anf%C3%A4nger:_Access_mit_Parameter_starten
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor