25. marts 2003 - 19:13Der er
16 kommentarer og 1 løsning
Gennemse knap til indsættelse af hyperlink
Jeg har en database på min computer over mine artikler, hvor der også er et felt der hedder hyperlink. På siden hvor oplysninger om hver artikel indtastes er det så meningen at dette felt "hyperlink" skal pege hen på den pågældende artikel som f.eks. ligger C:/dokumenter/artikler/artikel.pdf. jeg har fået siden til at virke med hyperlink, det eneste der mangler er en knap hvor man direkte kommer til at kunne gennemse efter den artikel man skriver ind istedet for at man skal højreklikke, "hyperlink" , "edit hyperlink" osv. hvordan gør man det?
Kan det ikke klares ved at du sætter datatypen for feltet til "Hyperlink"? Så kan du trykke på teksten (dvs. du behøver ikke oprette en knap til formålet).
Så tror jeg du misforstod (eller jeg skrev det indviklet). Datatypen er hyperlink, men når hyperlinket skal indsættes bliver man, som det er nu, nødt til at højreklikke osv. jeg vil gerne have lavet en knap hvor der står "gennemse" og man på den måde kommer ind i mappestrukturen for at lede efter artiklen som man vil indsætte et link til.
Place this code in a module Option Compare Database Option Explicit
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Public Const SW_HIDE = 0 Public Const SW_SHOW = 5
and then use the following syntax to open a document with the program associated with the document type.
Private Sub cmdOpenDoc_Click() Dim stAppName As String Dim result As Integer
On Error GoTo Err_cmdOpenDoc_Click
result = ShellExecute(0, "Open", Me.txtWordDoc, "", "", SW_SHOW)
If result < 32 Then MsgBox "Couldn't open file ..." End If
The example opens the document which is found in the field Me.txtWordDoc you should (I hope) be able to replace this with the name of the field containing the hyperlink although I have NOT tried it with a hyperlink.
In the database window you should se a "Modules" button. select this then new. Then copy this CODE into it. NOTHING ELSE
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Now you need to place a button on the form. Do this and then alter the name of the button to "cmdOpenDoc"
Then open the properties for the button and choose the on click event for the button. You should see a little button appear containing ... press this button and then choose code builder from the list. You should now see some code looking like this
Private Sub cmdOpenDoc_Click()
End Sub
REPLACE the code with Private Sub cmdOpenDoc_Click() Dim stAppName As String Dim result As Integer
On Error GoTo Err_cmdOpenDoc_Click
result = ShellExecute(0, "Open", Me.txtWordDoc, "", "", SW_SHOW)
If result < 32 Then MsgBox "Couldn't open file ..." End If
ja det forstod jeg godt og fandt da også ud af hvordan jeg skulle gøre, det eneste problem er bare at Me.txtWordDoc (som her er en pdf) skal være variabel. altså.... Der er et tomt felt hvor der skal indtastes et link, dette link skal findes ved at man trykker på en knap der gør det muligt at gennemse mine mapper og finde den relevante artikel og derefter trykke ok, og så står artiklen i det tomme felt. det sker ikke med ovenstående. hvad skal jeg gøre?
OK, this was to open en EXISTING link. To "browse" to a folder then you will need to open for example the File Open common dialog. To be able to do this the Activex Control needs to be registered on your PC. Can you find Microsoft Common Dialog Control in the toolbox?
I have an example of how to use the common dialog to browse for a document and also open it with Shellexecute If you place your email I will send it to you
jeg kunne ikke finde en der hed Microsoft Common Dialog Control men jeg har noget der hedder under tools => activeX objects, men der var heller ikke noget derunder der hed Microsoft Common Dialog Control. Kan du finde et alternative? Jeg har sat pointene lidt op
Ked af det men jeg kan på ingen måde få det til at fungere og det du gav mig blev ved med at komme med fejl, så jeg kaster håndklædet i ringen. Ellers tak
Ja men jeg har bare ikke så meget tid til at lege med det mere, men hvis du har en vil jeg da være glad. jeg så den du sendte til mig men jeg kunne ikke få den til at virke
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.