Buongiorno a tutti, ho un database con una maschera dove premendo un pulsante e tramite codice VB posso caricare e visualizzare nella maschera una immagine esterna al database.
Ho due PC Windows 10 Il database funziona perfettamente su una macchina mentre sulla seconda quando premo il pulsante mi si apre la finestra in raccolta documenti anziché in C:\ (come indicato nel codice VB) e poi a fianco della casella nome file appare il formato BMP
Foto comportamento anomalo
anziché Tutti i file
Foto comportamento corretto
e poi quando seleziono l'immagine da inserire non me la memorizza nel campo ImagePath che rimane vuoto e quindi l'immagine non viene caricata nel database.
Come mai?
Versione Windows 1909
Versione Access Microsoft Office Professional Plus 2019
Il codice VB in questione è il seguente:
Private Sub cmdCommonDialog_Click()
Dim strOut As String
Dim lngFlags As Long
Dim gfni As bac_accOfficeGetFileNameInfo
On Error GoTo HandleErrors
'ImagePath = ""
lngFlags = lngFlags Or bacGfniConfirmReplace
lngFlags = lngFlags Or bacGfniNoChangeDir
'lngFlags = lngFlags Or bacGfniAllowMultiSelect
'lngFlags = lngFlags Or bacGfniDirectoryOnly
lngFlags = lngFlags Or bacGfniInitializeView
With gfni
.lngView = 1
.lngFlags = lngFlags
' Make sure not to pass in Null values. adhOfficeGetFile
' doesn't like that, and often GPFs.
.strFilter = "Tutti formati Immagini (*.bmp;*.jpg;*.jpeg;*.gif;*.tiff;*.png;*.wmf;*.emf;*.cur;*.ico)" & _
"|Immagini BMP (*.bmp)" & _
"|Immagini JPG (*.jpg)" & _
"|Immagini JPEG (*.jpeg)" & _
"|Immagini PNG (*.png)" & _
"|Immagini GIF (*.gif)" & _
"|Immagini TIFF (*.tiff)" & _
"|Immagini WMF (*.wmf)" & _
"|Immagini EMF (*.emf)" & _
"|Immagini ICO (*.ico)" & _
"|Immagini CUR (*.cur)"
.lngFilterIndex = 0
'.strFile = ""
.strDlgTitle = "Seleziona Immagine"
.strOpenTitle = "Inserisci"
.strInitialDir = "C:\"
.hWndOwner = Application.hWndAccessApp
End With
If baOfficeGetFileName(gfni, True) = bacAccErrSuccess Then
strOut = Trim(gfni.strFile)
If Not IsNull(strOut) Then
Me.ImagePath = Trim(gfni.strFile)
Me.ImageFrame.Picture = ImagePath
Me.ImageFrame.HyperlinkAddress = ImagePath
Me.lblInsertImmage.Visible = False
End If
End If
ExitHere:
Exit Sub
HandleErrors:
MsgBox "Error: " & Err.Description & " (" & Err.Number & ")"
Resume ExitHere
End Sub
E' consentito mettere un link al mio Google drive dove è possibile scaricare il file *mdb ?
Grazie.
Simone.