PDA

Vollständige Version anzeigen : Sortierte Einträge als Link...


viko
23.03.2006, 13:11
Hallo zusammen, ich habe ein Listenfeld wo werden die Resultate von eine suche angezeigt. Gesucht wird über eintrag in ein textfeld. Listenfeld Datenherkunft ist:
SELECT qry_Bibliothek.Artikel_Titel, qry_Bibliothek.Artikel_Author, qry_Bibliothek.Artikel_Datei, qry_Bibliothek.Artikel_Stichwörter FROM qry_Bibliothek WHERE (((qry_Bibliothek.Artikel_Titel) Like "*" & Formulare!formSuchen!SuchenText.Text & "*")) Or (((qry_Bibliothek.Artikel_Author) Like "*" & Formulare!formSuchen!SuchenText.Text & "*")) Or (((qry_Bibliothek.Artikel_Datei) Like "*" & Formulare!formSuchen!SuchenText.Text & "*")) Or (((qry_Bibliothek.Artikel_Stichwörter) Like "*" & Formulare!formSuchen!SuchenText.Text & "*"));

Da wird auch eine Spalte angezeigt die ein Hyperlink zu ein Datei ist. Leider der Link ist jetzt inaktiv. Wie kann ich ihm wieder Aktiv machen, heist wenn ich in diese Resultat clicke wird diese link in die entsprechende App geöffnet?

Danke und Gruss
Viko

KHS
23.03.2006, 14:00
Ich würde auf 'echte' Hyperlinks verzichten, und statt dessen entweder die <b>FollowHyperlink-Methode</b> (siehe Hilfe), oder <b><a href="http://www.ms-office-forum.net/forum/showthread.php?s=&postid=431223" target="_blank">ShellExecute</a></b> verwenden.
Siehe auch im <b>DBWiki</b> unter <b><a href="http://www.dbwiki.de/wiki.php?title=VBA_Tipp:_Anwendung_mit_ShellExecute_starten" target="_blank">VBA Tipp: Anwendung mit ShellExecute starten</a></b>.

viko
23.03.2006, 14:59
Hallo KHS,
also bei mir sieht alles so aus:
Suchtext oben, und unten in Listenfeld filtriert.

http://www.gajdur.ch/suchen.jpg

Da sind alles nur PDF dateien die in ein Ordner abgellegt sind, und in die spalte ist der komplette Pfad vorhanden.

Wäre super wenn ich jetzt in eine filtrierte feld klicke und Acrobat geht auf und meine datei wird angezeigt.

Gruss
Viko

Verdener80
23.03.2006, 15:07
Du kannst im Klick-Ereignis des Listenfeldes mit der Methode FollowHyperlink, wie es auch schon KHS geschreiben hat, arbeiten.

KHS
23.03.2006, 15:25
So wird auf die 3. Spalte des Listenfelds verwiesen:
Application.FollowHyperlink Me!DeineListe.Column(2)

Das geht aber mit dieser Syntax nur, wenn da auch wirklich der komplette Pfad drinsteht:
Also z.B.: C:\BlaBla\ABC\DateiXY.pdf

MaTock
23.03.2006, 15:25
@ khs
Gehört zwar nicht direkt hier dazu aber ich hab genau DIESE Beschreibung der ShellExecute seit Stunden gesucht
Danke :top:
Greez
MaTock

viko
23.03.2006, 15:26
Hallo zusammen,

Ich habe in Hilfe nachgesehen und das als Beispiel gefunden:
Function GetUserAddress() As Boolean
Dim strInput As String

On Error GoTo Error_GetUserAddress
strInput = InputBox("Enter a valid address")
Application.FollowHyperlink strInput, , True
GetUserAddress = True

Exit_GetUserAddress:
Exit Function

Error_GetUserAddress:
MsgBox Err & ": " & Err.Description
GetUserAddress = False
Resume Exit_GetUserAddress
End Function


Leider kann ich garnichts damit anfangen. In VB kenne ich mich sehr wenig.

Bitte Hilfe, wie kann ich diese Bsp. für mich anpassen?

Danke
Viko

Edit:

Danke KHS
Das mit: Application.FollowHyperlink Me!DeineListe.Column(2)
hat super funktioniert aber eben leider geht immer die zweite spalte auf.
Wie kann ich jetzt sagen "Active Spalte benutzen" oder Gedruckte :rolleyes: ?

Verdener80
23.03.2006, 15:31
So sollte es in etwa in dem Klick-Ereignis aussehen:

Dim strPathFile As String

strPathFile = me!NameDesListenfeldes.Column(3)
Application.FollowHyperlink (strPathFile)

viko
24.03.2006, 07:24
Danke an euch alle geht alles prima. Ich glaube ich muss mich mehr mit die VB Materie beschäftigen.

Danke nochmals und Gruss
Viko