Salve, dovendo realizzare alcune tabelle ove memorizzare allegati, per non appesantire il database e farlo aumentare di Gb, in rete ho trovato una soluzione dove viene copiato solo il collegamento - “testo” - di dove risiede il file, in modo da aprirlo sempre dal database ma richiamando il percorso del file
Il codice è questo:
‘ Funzione publica’
Public Function SelezionaFile() As String
Dim FO As Object
Set FO = Application.FileDialog(3)
FO.Show
SelezionaFile = FO.SelectedItems(1)
End Function
poi una routine sul bottone per importare il link in tabella:
Private Sub All1_Click()
Allegato1 = SelezionaFile()
End Sub
ho creato un tasto con routine per aprire l'allegato:
Private Sub ApriAllegato1_Click()
Application.FollowHyperlink Allegato1
End Sub
ed infine un tasto per cancellare l'allegato
Private Sub AnnullaAllegato1_Click()
' Verifica se il campo è vuoto
If Not IsNull(Me!Allegato1) Then
' Imposta il campo su Null per cancellare il contenuto
Me!Allegato1 = Null
' Aggiorna la visualizzazione della maschera
Me.Refresh
MsgBox "Allegato cancellato con successo!", vbInformation
Else
MsgBox "Il campo è già vuoto.", vbExclamation
End If
End Sub
Tutto funge alla perfezione, se non fosse che incolla (ovviamente) il link da dove viene selezionato il file;
mi spiego meglio, il database dovrebbe risiedere in un computer locale , ad es. \\server\database\, quindi se il file è stato importato dal computer A erediterà il percorso del computer A e quindi si potrà aprire solo da questo, e non da un altra postazione, tipo computer B, C, D…
C'è un sistema dove imporre il percorso univoco su cui salvare il file a prescindere dal computer , ad esempio imporre un persorso di rete per tutti \\server\database\allegati
Grazie