Avatar billede shaqarat Nybegynder
25. marts 2003 - 19:13 Der 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?
Avatar billede sjap Praktikant
25. marts 2003 - 19:37 #1
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).
Avatar billede shaqarat Nybegynder
25. marts 2003 - 19:41 #2
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.
Avatar billede terry Ekspert
25. marts 2003 - 19:47 #3
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
   
Exit_cmdOpenDoc_Click:
    Exit Sub

Err_cmdOpenDoc_Click:
    MsgBox Err.Description
    Resume Exit_cmdOpenDoc_Click
   
End Sub
Avatar billede terry Ekspert
25. marts 2003 - 19:49 #4
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.
Avatar billede shaqarat Nybegynder
25. marts 2003 - 19:51 #5
Glemte at sige at jeg er relativ begynder, så hvor er det lige at jeg skal indsætte det, Terry
Avatar billede terry Ekspert
25. marts 2003 - 19:55 #6
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


Public Const SW_HIDE = 0
Public Const SW_SHOW = 5
Avatar billede terry Ekspert
25. marts 2003 - 20:01 #7
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
   
Exit_cmdOpenDoc_Click:
    Exit Sub

Err_cmdOpenDoc_Click:
    MsgBox Err.Description
    Resume Exit_cmdOpenDoc_Click
   
End Sub

and then replace txtWordDoc with the correct field name.


Hope you understand all that otherwise you have a problem :o)
Avatar billede shaqarat Nybegynder
25. marts 2003 - 20:10 #8
ok det klarlagde lidt, jeg skal lige spise, komemr tilbage lidt senere, tak for det indtil videre
Avatar billede shaqarat Nybegynder
25. marts 2003 - 20:41 #9
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?
Avatar billede terry Ekspert
25. marts 2003 - 20:55 #10
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?
Avatar billede terry Ekspert
25. marts 2003 - 21:03 #11
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
Avatar billede terry Ekspert
25. marts 2003 - 21:04 #12
If you dont have the common dialog on your PC then I may be able to find an alternative
Avatar billede shaqarat Nybegynder
25. marts 2003 - 21:31 #13
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

forgotmyemail@netscape.net
Avatar billede shaqarat Nybegynder
26. marts 2003 - 19:23 #14
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
Avatar billede terry Ekspert
26. marts 2003 - 19:34 #15
Its too soon to give up :o)
Are you still interested in a solution or have you given up?
Avatar billede shaqarat Nybegynder
26. marts 2003 - 22:06 #16
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
Avatar billede terry Ekspert
27. marts 2003 - 18:39 #17
shaqarat, I could give yo an example but if you dont know mucg about programming (VBA) then it will be very complicated.
http://www.mvps.org/access/api/api0001.htm
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester