Una famiglia di sistemi di gestione per database relazionali di Microsoft progettati per semplificare l'uso.
Grazie Mimmo,
tutti quei puntini mi restano proprio difficile....:-)
grazie lo stesso
Questo browser non è più supportato.
Esegui l'aggiornamento a Microsoft Edge per sfruttare i vantaggi di funzionalità più recenti, aggiornamenti della sicurezza e supporto tecnico.
salve a tutti,
da un pulsante presente in una form riesco ad inserire in una tabella (sottomaschera) dei file selezionati da una finestra di dialogo.
Con il codice ed il modulo di classe tutto funziona perfettamente, con l'unica criticità di dover selezionare ed inserire ogni singolo file.
Vorrei sfruttare la funzionalità di selezionare più file ed inserirli con un solo click; ho pensato anche di creare una cartella compressa, ma penso sia meglio, anche per una successiva consultazione, inserire ogni singolo file.
Provo a postare il linkper cercare di mostrare lo scenario.
Grazie a tutti Voi.
Una famiglia di sistemi di gestione per database relazionali di Microsoft progettati per semplificare l'uso.
Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.
Grazie Mimmo,
tutti quei puntini mi restano proprio difficile....:-)
grazie lo stesso
Penso puoi utilizzare una DCount mettendo tra le condizioni IdServizi, nomeFile e myFolder, tipo
If DCount ("*","tbl_modelli_compilati","IdServizi = " & forms.Maschera1.IdServizi & " And nomeFile = '" & strFile.........
Mimmo
Grazie ad entrambi...
ho testato entrambi i codici e la soluzione che meglio si adatta è quella di Mimmo :-)
nel caso il nome dei files da inserire della cartella, sono già presenti nella tabella in relazione con IDservizi, è possibile far uscire il messaggio "file già presente!!! Vuoi sostituire od annullare???"
Grazie ancora
Ciao,
ad esempio, modifica:
Public Function cmdFileDialog() As String
Dim fDialog As Object
Dim varFile As Variant
Dim I As Integer
Set fDialog = Application.FileDialog(3)
With fDialog
.Title = "Select One or More Files"
.Filters.Clear
.Filters.Add "All Files", "*.*"
.Filters.Add "modelli di word", "*.dotx"
.Filters.Add "file di word", "*.docx"
.Filters.Add "file pdf", "*.pdf"
.InitialFileName = CurrentProject.Path & ""
If .Show = True Then
For I = 1 To .selecteditems.Count
cmdFileDialog = cmdFileDialog & .selecteditems(I) & ";"
Next I
Else
cmdFileDialog = vbNullString
End If
End With
End Function
e la routine:
Private Sub cmdCaricaVerbale_Click()
Dim strPathFile As String
Dim Vettore As Variant
Dim I As Integer
strPathFile = cmdFileDialog()
If strPathFile <> vbNullString Then
Me.sm_modelli_compilati.Form.AllowAdditions = Not Me.sm_modelli_compilati.Form.AllowAdditions
Me.sm_modelli_compilati.SetFocus
Dim intSlash As Integer
Dim StrFile As String
Dim strPath As String
Vettore = Split(strPathFile, ";")
For I = 0 To UBound(Vettore) - 1
DoCmd.GoToRecord acActiveDataObject, , acNewRec
intSlash = InStrRev(Vettore(I), "")
StrFile = Right$(Vettore(I), Len(Vettore(I)) - intSlash)
strPath = Left$(Vettore(I), intSlash)
Me.sm_modelli_compilati!nome_file = StrFile
Me.sm_modelli_compilati!myFolder = strPath
Me.sm_modelli_compilati!data = Now
Next I
Me.sm_modelli_compilati.Form.AllowAdditions = Not Me.sm_modelli_compilati.Form.AllowAdditions
End If
End Sub
Ciao Mimmo
ciao Peppino38,
modifica il fileDialog in questo modo :
Public Function cmdFileDialog() As String
Dim fDialog As Object
Dim strFile As String
Dim varFiles As Variant
Set fDialog = Application.FileDialog(3)
With fDialog
.Title = "Seleziona uno i più files PDF:"
.AllowMultiSelect = True
.Filters.Clear
.Filters.Add "files PDF", "*.pdf"
.InitialFileName = CurrentProject.Path & ""
If .Show Then
For Each varFiles In .SelectedItems
strFile = strFile & ";" & varFiles
Next
'strFile = .SelectedItems(1)
Else
strFile = vbNullString
End If
End With
cmdFileDialog = strFile
Set fDialog = Nothing
End Function
e l'evento click :
Private Sub cmdCaricaVerbale_Click()
Dim strPathFile As String
Dim aFiles() As String
Dim i As Long
strPathFile = Mid$(cmdFileDialog(), 2)
' If strPathFile <> vbNullString Then
' Me.sm_modelli_compilati.Form.AllowAdditions = Not Me.sm_modelli_compilati.Form.AllowAdditions
' Me.sm_modelli_compilati.SetFocus
' DoCmd.GoToRecord acActiveDataObject, , acNewRec
' Dim intSlash As Integer
' Dim strFile As String
' Dim strPath As String
' intSlash = InStrRev(strPathFile, "")
' strFile = Right$(strPathFile, Len(strPathFile) - intSlash)
' strPath = Left$(strPathFile, intSlash)
' Me.sm_modelli_compilati!nome_file = strFile
' Me.sm_modelli_compilati!myFolder = strPath
' Me.sm_modelli_compilati.Form.AllowAdditions = Not Me.sm_modelli_compilati.Form.AllowAdditions
' Me.sm_modelli_compilati!data = Now
' End If
aFiles = Split(strPathFile, ";")
If IsNull(Me.IDservizi) Then Me.data = Date
For i = 0 To UBound(aFiles)
DBEngine(0)(0).Execute "insert into tbl_modelli_compilati (nome_file,idservizi) values ('" & aFiles(i) & "'," & Me.IDservizi & ")", &H80
Next
End Sub
Facci sapere.
ciao, Sandro.