Access-o-Mania

Access-Forum => Access-Hilfe => Thema gestartet von: Black Sabbath am April 01, 2016, 15:41:46

Titel: Access Button spezielle Abfrage
Beitrag von: Black Sabbath am April 01, 2016, 15:41:46
Guten Tag zusammen,

ich habe eine Datenbank erstellt, in der verschiedne Informationen über Bearbeitungsmaschinen stehen. Desweiteren ist in jeder Zeile ein Button, der eine entsprechende Datei zu der Maschine öffnet. Der Button öffnet die Datei über einen Hyperlink, der in der Tabelle gespeichert ist.


Private Sub Befehl52_Click()
Application.FollowHyperlink Me!Datei
End Sub

Das Problem bei der ganzen Sache ist, dass erstens der Dateipfad sehr lang ist und zweitens, sobald jemand den Ordner verschiebt, z.B. in einen anderen Unterordner, sind über 300 Hyperlinks da, die nicht mehr funktionieren.

Ich würde gerne meine Datenbank in einen Ordner mit den dazugehörigen Word, Excel, PDF, etc. Dokumenten speichern und den Code so gestalten, dass er mir immer die Datei mit dem Dateinamen in dem gleichem Ordner wo ich mich befinde öffne. Ist das möglich? Wenn ja, kann mir jemand dabei helfen?

Wie gesgat, zur Zeit habe ich im Formular einen Button, der über den oben gennanten Code den jeweiligen Hyperlink aus der zeile öffnet. Jede Zeile in meiner Datenbank hat eine laufenden Nummer (ID). Vielleicht kann man es so einstellen, dass er nach der Datei mit gleichen Namen in der Spalte im Ordner sucht und öffnet. Dann würde ich keinen Hyperlink mehr benötigen.

(http://www.imgbox.de/users/public/images/pbJaT7tCFL.jpg)

Wie im Bild hier zu sehen ist, habe ich ganz links meine ID's. Alle verknüften Dateien haben den gleichen Namen. Nur die Endung ändert sich (doc, docx, pdf, xlsx....). Hat jemand eine Idee wie ich es umsetzen kann oder besser, hat jemand schon mal sowas ähnliches erstellt?.

Vielen Dank im Voraus  :)
Titel: Re: Access Button spezielle Abfrage
Beitrag von: MaggieMay am April 01, 2016, 15:54:13
Hallo,

den aktuellen Pfad bekommst du über CurrentProject.Path, aber woher willst du den Dateityp nehmen?
Kann ein Datensatz mehrere Anlagen haben?

Den oder die konkreten Dateinamen kannst du mit Hilfe der Dir-Funktion ermitteln:
Dim strDatei As String
strDatei = Dir(CurrentProject.Path & "\" & Me!ID & ".*")
Do While strDatei <> ""
    Debug.Print strDatei
    strDatei = Dir
Loop
Titel: Re: Access Button spezielle Abfrage
Beitrag von: Black Sabbath am April 01, 2016, 15:58:09
Hallo, erst mal danke für die Antowrt, freue mich über jede Hilfe :)

Nein, jeder Datensatz hat nur eine Anlage. Nur die Dateiebndung variiert. Manchmal ist es ein PDF Dokument, machmal ein Word Dokument etc. was er öffnen soll.

Ich brauche im Prinzip ein Verfahren, welches den Namen aus der ID nimmt und ihn dann in dem ordner sucht wo auch die Datenbank gespeichert ist.
Titel: Re: Access Button spezielle Abfrage
Beitrag von: MaggieMay am April 01, 2016, 16:03:17
Genau das macht der oben gezeigte Code, die Schleife kannst du ja weglassen.
Titel: Re: Access Button spezielle Abfrage
Beitrag von: Black Sabbath am April 01, 2016, 16:04:43
ok, danke ich versuch es mal :) Vielen Dank schon mal
Titel: Re: Access Button spezielle Abfrage
Beitrag von: Black Sabbath am April 01, 2016, 16:09:14
Genau das macht der oben gezeigte Code, die Schleife kannst du ja weglassen.

Funktioniert leider nicht. Einen Fehler gibt er mir auch nicht raus  :o
Titel: Re: Access Button spezielle Abfrage
Beitrag von: MaggieMay am April 01, 2016, 18:38:47
Was genau funktioniert nicht, was erwartest du was der Code tut?
Und wie sieht der aktuelle Code bei dir aus?
Titel: Re: Access Button spezielle Abfrage
Beitrag von: Black Sabbath am April 07, 2016, 09:29:27
Hab es geschaft

Private Sub Befehl52_Click()
Dim strDatei As String
strDatei = Dir(CurrentProject.Path & "\" & Me!ID & ".*")
FollowHyperlink strDatei
End Sub

Da ist jedoch noch ein lästiges Ding was mich stört und zwar beim Anklicken erscheint folgendes:

(http://www.imgbox.de/users/public/images/mMkha2RTGb.jpg)

Kann man es per VBA deaktievieren?


Titel: Re: Access Button spezielle Abfrage
Beitrag von: MaggieMay am April 07, 2016, 10:19:39
Hallo,

was passiert, wenn du den vollständigen Pfad angibst, also CurrentProject.Path & "\" & strDatei ?

Alternativ könntest du die Datei mit Shell bzw. ShellExecute öffnen.
Titel: Re: Access Button spezielle Abfrage
Beitrag von: DF6GL am April 07, 2016, 10:28:19
Hallo,

es lohnt sich auch, die Sicherheitseinstellungen (Vertrauenswürdige Speicherorte etc.)  zu überprüfen...

und z. B. dies anzusehen:

http://www.wintotal.de/tipparchiv/?id=1155
Titel: Re: Access Button spezielle Abfrage
Beitrag von: Black Sabbath am April 07, 2016, 10:37:55
Das habe ich schon gemacht, ich habe den Speicherort als Sicher in den Optionen markiert, jedoch habe ich den blöden Hinweis immer noch.

Außerdem macht es keinen Sinn etwas in der Registry zu ändern, da die Datei an mehreren Rechnern genutzt wird. Ich müsste dann an jedem Rechner diesen Schritt durchführen.
Titel: Re: Access Button spezielle Abfrage
Beitrag von: Black Sabbath am April 07, 2016, 10:40:35
Hallo,

was passiert, wenn du den vollständigen Pfad angibst, also CurrentProject.Path & "\" & strDatei ?

Alternativ könntest du die Datei mit Shell bzw. ShellExecute öffnen.

Ich habe es schon mit Shell probiert

Shell Dir(CurrentProject.Path & "\" & Me!ID & ".*")
dann sagt er mit, datei nicht gefunden. Ich denke ich übersehe da etwas....
Titel: Re: Access Button spezielle Abfrage
Beitrag von: atom007 am April 07, 2016, 10:53:41
Ändere deine Sub mal folgendermaßen ab:

Dim strDatei As String
strDatei = CurrentProject.Path & "\" & Me!ID & ".*"
MsgBox strDatei

...und du siehst den Fehler. Da Windows keine Datei mit .* kennt wird es die Datei auch nicht öffnen. Kannst du in die ID - Spalte auch den kompletten Datei-Namen eingeben, oder soll/muss das so bleiben?
Titel: Re: Access Button spezielle Abfrage
Beitrag von: Black Sabbath am April 07, 2016, 10:57:14
Er soll mir ja eine Datei öffnen beliebeiger Endung. Ich habe ja auch in dem Ordner PDF und Excel Dokumente vorhanden, allerdings hat keine Datei den gleichen Namen. Es soll schon so sein, dass in der Tabelle nur die Namen der ID stehene, keine Endungen.
Titel: Re: Access Button spezielle Abfrage
Beitrag von: Black Sabbath am April 07, 2016, 11:31:08
Hallo,

was passiert, wenn du den vollständigen Pfad angibst, also CurrentProject.Path & "\" & strDatei ?


Wunderbar, top!!!

Private Sub Befehl52_Click()
Dim strDatei As String
strDatei = Dir(CurrentProject.Path & "\" & Me!ID & ".*")
FollowHyperlink CurrentProject.Path & "\" & strDatei
End Sub

so klappt es, danke für den Tipp!
Alternativ könntest du die Datei mit Shell bzw. ShellExecute öffnen.
Titel: Re: Access Button spezielle Abfrage
Beitrag von: MaggieMay am April 07, 2016, 11:45:21
Da hast du wohl beim ersten Mal nicht richtig hingeschaut... ;-)
Titel: Re: Access Button spezielle Abfrage
Beitrag von: Black Sabbath am April 07, 2016, 13:11:34
Ja kann man wohl sagen :D, danke!