Aprire un file txt, in cartella specifica, avente nome di un campo di tabella, chiamato (Matricola)

Anonimo
2022-03-18T10:19:05+00:00

Buon giorno a tutti.

Ho creato il seguente codice per aprire un file txt in una determinata cartella,avente il nome del dipendente selezionato tramite la 2^ routine sottostante, su una maschera con struttura (Maschere continue).

Private Sub cmdPromozioni_GotFocus()

Dim sBasePath As String

Dim sBaseFileName As String

Dim RecordID As Integer

RecordID = Me.ID_Anagrafica

sBasePath = "C:"

sBaseFileName = "Promozioni"

Application.FollowHyperlink sBasePath & sBaseFileName & "Id_Anagrafica = " & Forms.frmAnagrafiche.ID_Anagrafica & Me.Matricola & ".txt"

End Sub

questo è il codice che uso per trovare la Matricola del dipendente:

Dim strCriteria As String

strCriteria = Replace(InputBox("Cerca per Matricola Meccanografica" & vbCrLf & vbCrLf & \_ 

"Inserire la lettera finale Es:123456Z", "TROVA MATRICOLA"), "'", "''") 

If Len(strCriteria) = 0 Then Exit Sub 

strCriteria = "[Matricola] Like '\*" & strCriteria & "\*'" 

Set rst = Me.RecordsetClone 

rst.FindFirst strCriteria 

If rst.NoMatch Then 

     If MsgBox("Matricola non presente in Anagrafica." & vbCrLf & \_ 

       "Vuoi aggiungerlo oppure no?", vbInformation + vbYesNo + vbDefaultButton2) = vbYes Then 

                  DoCmd.OpenForm "frmAnagrafica", acNormal, , , acFormAdd 

             Exit Sub 

             End If 

       Else 

    Me.Bookmark = rst.Bookmark 

    End If 

Set rst = Nothing

Per l'apertura dei file txt, ricevo questo messaggio di errore, come posso risolvere.

In realtà, desidererei poter aprire il file abbinato al record del dipendente trovato, la cui matricola corrisponde al file da aprire.

Inoltre per cortesia chiedo a voi esperti di poter integrare la routine con una Msgbox in caso il file non fosse presente per quel particolare militare trovato.

Spero di essere stato chiaro.

Ringrazio in anticipo chi mi aiuta in questo.

Ciao, Nicola.

Microsoft 365 e Office | Access | Per la casa | Windows

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.

0 commenti Nessun commento

5 risposte

Ordina per: Più utili
  1. Anonimo
    2022-03-21T11:09:20+00:00

    Ho risolto in questo modo e funziona benissimo.

    Private Sub cmdPromozioni_Avanzamento_Click()

    Dim strFile As String

    strFile = "C:\Promozioni" & Me.Matricola & "*.txt"

    Verifica_Esistenza_File

    End Sub

    Function FileExists(FilePath As String) As Boolean

    Dim TestStr As String

    TestStr = "" 
    
    On Error Resume Next 
    
    TestStr = Dir(FilePath) 
    
    On Error GoTo 0 
    
    If TestStr = "" Then 
    
        FileExists = False 
    
    Else 
    
        FileExists = True 
    
    End If 
    

    End Function

    Sub Verifica_Esistenza_File()

    'VBA Check if File Exists

    Dim strFile As String

    strFile = "C:\Promozioni" & Me.Matricola & ".txt"

    If FileExists(strFile) Then

    Application.FollowHyperlink strFile

    Else

    MsgBox "Il File delle Promozioni del dipendente selezionato non esiste." & vbCrLf & _

       "Verifica bene in questo percorso C:\ nella cartella Promozioni!!", vbCritical 
    

    End If

    Ringrazio tutti.

    Ciao, Nicola.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2022-03-21T07:35:59+00:00

    Buongiorno a tutti, ciao Daniele.

    Seguendo le tuie indicazioni sono riuscito ad aprire il file in questo modo:

    Dim sBasePath As String

    Dim sBaseFileName As String

    sBasePath = "C:"

    sBaseFileName = "Promozioni"

    'Debug.Print sBasePath & sBaseFileName & Me.Matricola & ".txt"

    Application.FollowHyperlink sBasePath & sBaseFileName & Me.Matricola & ".txt"

    Per favore mi diresti come fare per poter, tramite una Msgbox esser avvisati quando il file relativo alla matricola selezionata, non è presente nella cartella "Promozioni".

    Grazie mille per i tuo prezioso aiuto.

    Ciao, Nicola.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2022-03-18T11:42:54+00:00

    Va bene, fammi sapere, a presto.

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2022-03-18T11:40:32+00:00

    Ciao Daniele, grazie.

    Proverò il tuo suggerimento appena ne ho la possibilità, sono fuori per lavoro.

    Ti aggiorno appena posso.

    Ti saluto con affetto e sincerità.

    Ciao, Nicola.

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Anonimo
    2022-03-18T11:31:09+00:00

    Ciao Nicola,

    qui Daniele, bentrovato nella community Microsoft,

    Fatti stampare il percorso completo prima di passarlo come parametro alla funzione, mettilo in una variabile es
    pathCompleto = sBasePath & sBaseFileName … etc
    Dopodiché fai
    Debug.print pathCompleto

    Vedi cosa ti stampa nella finestra immediata e se corrisponde al percorso corretto con il nome del file

    La risposta è stata utile?

    0 commenti Nessun commento