Newsgroup: it.comp.appl.access
Titolo: Indirizzo coll. ipertestuale

Da una maschera al click di un pulsante apro un file residente sul mio disco 
fisso.
Il problema:
Se il file non viene trovato sul disco fisso, in automatico mi apre quello 
precedentemente aperto.
Ho notato sulle proprietà del pulsante che su "Indirizzo coll. ipertestuale" 
viene memorizzato in automatico l'ultimo indirizzo del file trovato e di 
conseguenza anche se l'ultima ricerca da' esito negativo quest'ultimo verrà 
comunque aperto. Vorrei che ciò non avvenisse.
Ho anche messo una condizione ma niente:
        If Dir(Left(CurrentDb.Name, Len(CurrentDb.Name) - 
Len(Dir(CurrentDb.Name))) & _
            "Personaggi\SchedePersonaggi\" & Personaggio & ".Txt") <> "" 
Then
            Me!ApriSchedaPersonaggio.HyperlinkAddress = Left(CurrentDb.Name, 
Len(CurrentDb.Name) - _
            Len(Dir(CurrentDb.Name))) & "Personaggi\SchedePersonaggi\" & 
Personaggio & ".Txt"
        Else
            MsgBox ("ATTENZIONE: La Scheda del Personaggio non è presente")
         End If
Come risolvere? Grazie

 ha scritto nel messaggio 
news:YTaMf.9086$A83.2...@twister1.libero.it...

Io per aprire file esterni uso queste due funzioni
richiamandole con un semplice
ExecuteFile ("TuoPercorsoAlFile")
senza specificare il formato, quindi ti apre qualsiasi file.Chiaramente 
avrai un campo
nella maschera in cui è memorizzato il percorso al file.
Public Function ExecuteFile(FilePath As String)
Dim intRet As Integer
On Error GoTo ErrHandle
If FileExists(FilePath) = False Then Exit Function
    intRet = Shell("rundll32.exe url.dll,FileProtocolHandler " & (FilePath))
Exit Function
ErrHandle:
If Err.Number = 0 Then Exit Function
MsgBox "Errore numero: " & Err.Number & " Descrizione: " & Err.Description & 
" Sorgente " & Err.Source & " Funzione: ExecuteFile di " & FilePath
End Function
Public Function FileExists(sFilename As String) As Boolean
On Error GoTo ErrHandle
     FileExists = CBool(Len(Dir(sFilename)) <> 0)
ErrHandle:
If Err.Number = 0 Then Exit Function
If Err.Number = 52 Then
    MsgBox "Attenzione! il file cercato non esiste od è stato 
spostato."vbInformation
    Exit Function
End If
MsgBox  "Errore numero: " & Err.Number & " Descrizione: " & Err.Description 
& " Sorgente " & Err.Source
End Function
Morgan 

Ciao a tutti.
Ripropongo il seguente quesito:
Da una maschera al click di un pulsante apro un file residente sul mio disco
fisso.
Il problema:
Se il file non viene trovato sul disco fisso, in automatico mi apre quello
precedentemente aperto.
Ho notato sulle proprietà del pulsante che su "Indirizzo coll. ipertestuale"
viene memorizzato in automatico l'ultimo indirizzo del file trovato e di
conseguenza anche se l'ultima ricerca da' esito negativo quest'ultimo verrà
comunque aperto. Vorrei che ciò non avvenisse.
Ho anche messo una condizione ma niente:
        If Dir(Left(CurrentDb.Name, Len(CurrentDb.Name) -
Len(Dir(CurrentDb.Name))) & _
            "Personaggi\SchedePersonaggi\" & Personaggio & ".Txt") <> ""
Then
            Me!ApriSchedaPersonaggio.HyperlinkAddress = Left(CurrentDb.Name,
Len(CurrentDb.Name) - _
            Len(Dir(CurrentDb.Name))) & "Personaggi\SchedePersonaggi\" &
Personaggio & ".Txt"
        Else
            MsgBox ("ATTENZIONE: La Scheda del Personaggio non è presente")
         End If
Come risolvere?
Grazie per le eventuali risposte.

 Grazie per le eventuali risposte.
Prego
-- 
Roberto
-----------------------------------------------
il Sito Comune di it.comp.appl.access
http://www.sitocomune.com
-----------------------------------------------

 ha scritto nel messaggio 
news:b8xNf.15265$A83.4...@twister1.libero.it...

Niente di più "semplice".
Grazie