Newsgroup: it.comp.appl.access
Titolo: Archivio immagini che fanno le bizze...

Ho provato a creare un archivio immagini seguendo la guida trovata su
www.sitocomune.com
 e ci sono riuscito, tutto funziona o quasi....
Ho creato in una Form un'area per fare il drag&drop dei file dei quali
voglio carpire il link html ma ho scoperto che non prende il path assoluto
ma relativo... comunque  lo immagazzina nella tabella e sono andato avanti,
mi sono fatto un pulsante per aprire le stesse in una maschera e ho fatto
delle prove, tutto OK.
Da principio andava tutto bene e non c'erano problemi ma quando ho
cominciato a lavorarci, e quindi ho spostato il DB in una posizione
opportuna dentro la cartella documenti, e le cartelle immagini dentro un
altro drive si sono verificati i primi problemi.
Il link relativo se cliccato da dentro la tabella apre comunque il file con
Photo editor e fino a li tutto OK ma quando cerco di aprire lo stesso link
su una maschera mi và in palla...
Questo il codice della maschera con l'immagine sull'evento "corrente"
'aggiorna il path dell'immagine collegata
Private Sub Form_Current()
Dim link_name As Double
    If Me.Path_f2 = "" Or IsNull(Me.Path_f2) Then
      Exit Sub
'se il campo è vuoto usa l'immagine collegata di default
        Else
      link_name = InStr(Me!Path_f2, "#") + 1
        With Forms!mscfoto2
        !Immagine.Picture = Mid(Me!Path_f2, link_name, Len(Me!Path_f2) -
link_name)
        .Caption = Mid(Me!Path_f2, link_name, Len(Me!Path_f2) - link_name)
        End With
    End If
End Sub
e funziona !!! a patto che il path sia assoluto:
 infatti se il path è relativo si ferma mentre se digito manualmente il path
assoluto nel campo opportuno allora funziona.
Il problema che non riesco a superare è forse legato al SO più che a AC
immagino ma non ho trovato il punto cruciale: c'è una maniera per far
riconoscere i link in modo assoluto e non relativo??
AC2000SR1
Win2000Pro SP3
IE 6.0.2600.0000IC

 ha scritto nel messaggio
news:uKVta.92232$K35.2...@news2.tin.it...

La proprietà Picture di un controllo immagine deve contenere il path
completo dell'immagine da visualizzare: questa è una regola di Access e non
c'è la possibilità di modificarla. Ora il path completo è formato da tre
parti: il percorso della directory che contiene il file immagine, il nome
del file e la sua extencion.
Per risovere il tuo problema, a mio avviso, hai due possibilità:
1) Se tutte le immagini sono contenute in un'unica directory, potresti
memorizzare nei record relativi ai vari file immagine NON il loro path
completo ma SOLO il nome e l'extension del file in un campo che ad esempio
può chiamarsi NomeExt. Il percorso della directory che contiene i file
immagine(comprensivo di drive) potresti memorizzarli in una tabella
contenente un solo record con un solo campo, quello che conterrà il
percorso; naturalmente ti preoccuperai (in maniera più o meno automatica) di
aggiornare tale campo ogni volta che sposti le immagini.
All'apertura del database potresti memorizzare il percorso in una variabile
stringa globale chiamata appunto Percorso, quindi quando devi impostare la
proprietà Picture del controllo Immagine potresti scrivere:
Me!MioControlloImmagine.Picture = Percorso & Me!NomeExt
2) In alternativa potresti spostare i file immagine tramite codice VBA
contenuto nel tuo database; dopo aver spostato l'immagine modificherai,
sempre con codice VBA, il valore del campo della tabella che contiene il
path completo del file immagine.
-- 
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 ha scritto nel messaggio
news:zU4ua.98714$DT4.3...@twister1.libero.it...

Grazie!!! Una soluzione semplice ma efficace