condivisione di una maschera in sola lettura senza possibilità di modifica

Anonimo
2023-04-18T15:45:23+00:00

Buongiorno a tutti e grazie a chi vorrà aiutarmi.
Ho creato un database access e devo condividere una maschera (o più) o dei report con i miei colleghi senza dare a loro la possibilità di modificare i dati e quindi di NON accedere alle tabelle. Si più fare?

Grazie mille

A presto

Manu

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

10 risposte

Ordina per: Più utili
  1. domenico laurenza 9,900 Punti di reputazione Moderatore volontario
    2023-04-19T14:42:58+00:00

    Ciao Emanuela,

    la protezione in Access non può essere assoluta ma possiamo creare qualche difficoltà nell'accesso.

    Come vedrai è abbastanza complesso il procedimento ma è preliminare alla tua richiesta di protezione dei dati in tabella.

    Se ho interpretato bene, hai un Db diviso in FE e BE da distribuire a più utenti con condivisione del BE in rete.

    E' inutile che ti ricorda di fare non uno ma più back-up dei tuoi Db prima di iniziare a provare il tutto.

    Il primo problema da porci è come proteggere il FE dall'accesso tramite l'utilizzazione del tasto Shift che consentirebbe la manomissione dei dati direttamente nelle tabelle.

    A questo scopo, nel passato, avevo scritto con l'aiuto della rete il seguente codice da inserire in un modulo:

    ---> Inizio codice

    Option Compare Database

    Option Explicit

    Function SetShiftKey()

    Dim cDB As Object, PRP As Variant 
    
    Set cDB = CurrentDb 
    
    On Error GoTo Errore 
    
    Beep 
    
    If cDB.Properties("AllowBypassKey") = True Then 
    
       cDB.Properties("AllowBypassKey") = False 
    

    ' MsgBox "Shift Key Disabled", vbOKOnly

      Else 
    
       If InputBox("Password: ", CurrentDb.Properties("AppTitle")) **= "Pluto" Then** 
    
          cDB.Properties("AllowBypassKey") = True 
    
       End If 
    

    ' MsgBox "Shift Key Enabled", vbOKOnly

       End If 
    

    Chiudi:

    Exit Function 
    

    Errore:

    If Err = 3270 Then 
    
       Set PRP = cDB.CreateProperty("AllowBypassKey", dbBoolean, True) 
    
       cDB.Properties.Append PRP 
    
       Resume Next 
    
       End If 
    
    Resume Chiudi 
    

    End Function

    ---> Fine codice

    Come vedi nel codice (in grassetto) imposto una password Pluto che puoi cambiare a piacimento (basta ricordarla).

    Quindi nelle macro devi creare una macro con nome Autokeys e all'interno una sottomacro con nome ^0 (oppure altra combinazione di tasti a scelta)

    Nella sottomacro ^0 imposti Esegui codice Nome funzione SetShiftKey() per richiamare la funzione vista in precedenza.

    Tutto questo ti permette di attivare / disattivare la Shift key del Db.

    Aperto il Db se digiti Ctrl+0 inverti lo stato della Shift key ma per attivarla devi impostare la password che gli altri utenti non devono conoscere.

    Dimmi se mi segui.

    Ciao Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2023-04-19T07:43:20+00:00

    Hai da mandarmi un esempio? Immagino ci voglia un codice.. non sono esperta purtroppo.

    Grazie mille

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2023-04-18T23:18:04+00:00

    Devi gestire l'accesso al programma tramite una tabella Utenti e una degli Oggetti di cui impedire l'utilizzo e poi creare un file di tipo ACCDE.

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2023-04-18T19:04:59+00:00

    Grazie Carletto, potresti darmi un suggerimento su come fare? Grazie mille.

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Anonimo
    2023-04-18T18:47:19+00:00

    Si può fare.

    La risposta è stata utile?

    0 commenti Nessun commento