Ciao Franco,
ovviamente il comando dir non lo deve usare l'utente (!), dovresti inserirlo tu nel codice per fare il test di esistenza del file con estensione ldb.
Sostanzialmente:
- crei una maschera non associata (vuota) e nell'evento su apertura di questa maschera scrivi:
Dim strPath As String
strPath = "\\nomeserver\nomecartella\fileaccess.ldb"
'sostituisci con il percorso e il nome del file access sul tuo server. Lascia l'estensione ldb
If Not Len(Dir(strPath) & "") = 0 Then
MsgBox "Un altro utente ha già avuto accesso", vbInformation, "accesso multiplo"
DoCmd.Quit
Else
DoCmd.OpenForm "Maschera2"
'sostituisci a Maschera2 il nome della maschera di partenza della tua applicazione End If
Per quanto riguarda la funzione ShowUserRosterMultipleUsers
che ti indicato:
Apri l'editor VBA e inserisci un nuovo modulo (NON di classe). Copia e incolla tutta la funzione. Poi nella tua applicazione, come prima crei una maschera vuota non associata e nell'evento su apertura scriverai
If ShowUserRosterMultipleUsers = True Then
MsgBox "Un altro utente ha già avuto accesso", vbInformation, "accesso multiplo"
DoCmd.Quit
Else
DoCmd.OpenForm "Maschera2"
'sostituisci a Maschera2 il nome della maschera di partenza della tua applicazione
End If
Mi raccomando: nella funzione ricordati di inerire nella riga
cn.Open "Data Source=" --> qui metti il percorso che al file sulla macchina server
Il percorso al file mdb della tua applicazione. Per esempio
cn.Open "Data Source=\nomeserver\nomecartella\fileaccess.mdb"
In entrambi i casi, la maschera vuota così creata va richiamata in modalità nascosta con una
macro Autoexec in modo che venga automaticamente aperta al lancio dell'applicazione.
David