Originariamente inviato da vincentand
Ciao, posto questo messaggio dopo aver letto vari messaggi in questo forum e aver consultato la guida online di Office sull'inserimento di una immagine, e non essere riuscito a risolvere il problema.
Vorrei visualizzare, per ogni record, una immagine, dove le immagini sono dul disco fisso e non incorporate.
Ho creato una tabella nome, cognome, foto (campo foto di testo con percorso C:\foto\giulia.jpg, C:\foto\marta.jpg..etc).
Ho creato una maschera con campo nome, cognome, foto e relativa origine dei dati.
La maschera deve visualizzare, per ogni record, i dati mone cognome e la foto, recuperandola dal percorso.
Prendendo spunto dal database di esempio di Access Northwind ho modificato in questo database il percorso delle foto nella tabella impiegati (C:\foto\carla.jpg, etc) ed ho verificato che nella maschera impiegati vengono visualizzate correttamente le mie foto.
QUINDI L'IDEA E' BUONA!!!!!!!!!!!
Allora ho fatto copia/incolla dell'image frame e del campo di testo "Foto" nella MIA maschera ed ho fatto copia/incolla del codice:
SULLA MASCHERA:
(su corrente)
Private Sub Form_Current()
' Visualizza la foto per il record dell'impiegato corrente se disponibile.
' Se il file non è più disponibile o se non è stato specificato un nome di file
' per l'impiegato corrente, imposta il messaggio appropriato per la didascalia
' ErrorMsg.
Dim res As Boolean
Dim fName As String
Path = CurrentProject.Path
On Error Resume Next
errormsg.Visible = False
If Not IsNull(Me![foto]) Then
res = IsRelative(Me![foto])
fName = Me![ImagePath]
If (res = True) Then
fName = Path & "\" & fName
End If
Me![ImageFrame].Picture = fName
showImageFrame
Me.PaintPalette = Me![ImageFrame].ObjectPalette
If (Me![ImageFrame].Picture <> fName) Then
hideImageFrame
errormsg.Caption = "Impossibile trovare la foto"
errormsg.Visible = True
End If
Else
hideImageFrame
errormsg.Caption = "Fare clic su Aggiungi/modifica per aggiungere una foto"
errormsg.Visible = True
End If
End Sub
SULLA AMSCHERA
(dopo aggiornamento)
Private Sub Form_AfterUpdate()
' Riesegue la query per la casella combinata Superiore dopo la modifica di un record.
' Visualizza quindi la didascalia ErrorMsg se non è disponibile un nome di file per
' il record dell'impiegato o visualizza la foto se è disponibile un nome
' di file esistente.
Me![Superiore].Requery
On Error Resume Next
showErrorMessage
showImageFrame
If (IsRelative(Me!ImagePath) = True) Then
Me![ImageFrame].Picture = Path & Me![ImagePath]
Else
Me![ImageFrame].Picture = Me![ImagePath]
End If
End Sub
SU CASELLA DI TESTO FOTO
(dopo aggiornamento)
Private Sub ImagePath_AfterUpdate()
' Dopo la selezione di una foto per l'impiegato, la visualizza.
On Error Resume Next
showErrorMessage
showImageFrame
If (IsRelative(Me!ImagePath) = True) Then
Me![ImageFrame].Picture = Path & Me![ImagePath]
Else
Me![ImageFrame].Picture = Me![ImagePath]
End If
End Sub
non vedo l'immagine, ed ho un errore di compilazione in
res = IsRelative(Me![foto])
qualcuno di aiuta?
grazie