Log delle attività su un Db Access

Anonimo
2015-06-21T19:30:36+00:00

Dovrei far usare un database per degli inserimenti e delle  modifiche in access 2010

avrei però bisogno di conoscere il numero degli inserimenti fatti o almeno di conoscere i tempi di di apertura del database e le operazioni effettuate dagli users, perchè in base a questi tempi gli stessi devono essere remunerati

Quindi occorre una maschera di login nome utente e password

ed una tabella in cui viene registrato ogni accesso, il tipo di operazione effettuata, l'orario di entrata e l'orario di uscita, con la possibilità di gestire anche i cambi di password e di aggiungere nuovi utenti. Una maschera di login con i permessi.

Vorrei sapere come iniziare e crdo che è necessario l'utilizzo di codice visual basic

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

42 risposte

Ordina per: Più utili
  1. Anonimo
    2015-06-26T12:38:17+00:00

    Penso che il tuo Db possa essere utilizzato in multiutenza quindi potresti avere più sessioni 'vive' in contemporanea quindi cambierei nella query :

     DLookUp("Idnr","table1","Login = '" & Forms.frmLogin.txtLogin & "' And Fine Is Null") 

    per ottenere l'Idnr dell'utente che si è firmato nella maschera frmLogin (o come l'hai chiamata tu).

    Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2015-06-26T12:26:53+00:00

    Dovendo ripetere in ogni maschera di inserimento/aggiornamento/eliminazione l'esecuzione di una query,

    potresti creare una semplice funzione di accodamento a cui passi i parametri.

    Ad esempio, nell'evento dopo aggiornamento di una maschera potresti richiamare la funzione con:

    TipoAttivita="Aggiornamento"                       '<< Varia per tipo attività

    TabellaCoinvolta="nomeTabellaCoinvolta"    '<< Imposta la tabella di volta in volta coinvolta

    GeneraAttività(TipoAttività,TabellaCoinvolta)

    La funzione potrebbe eseere del tipo:

    Function GeneraAttività(TipoAttività, TabellaCoinvolta)

    Docmd.SetWarnings False

    Docmd.RunSql "INSERT INTO tblAttivita ( Att_Sess_Id, Att_Tipo, Att_Tabella ) " & _

    "SELECT " & DLookUp("Idnr","table1","Fine Is Null") & ", '" & TipoAttività & "', '" & TabellaCoinvolta &"'"

    Docmd.SetWarnings True

    End Function

    Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2015-06-26T11:16:45+00:00

    Scusa ma in un secondo momento ho corretto il mio post.

    Le tabelle restano Table1 e tblAttività (anche se Table1 è un nome poco significativo e sarebbe meglio tblSessioni).

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2015-06-26T11:11:00+00:00

    tblSessioni è un'altra tabella da fare ? Poichè quella degli accessi con l'orario si chiama Table1

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Anonimo
    2015-06-26T10:38:36+00:00

    Nell'evento dopo inserimento sostituisci:

    DoCmd.Openquery "Query5Mod"

    con

    Docmd.RunSql "INSERT INTO tblAttivita ( Att_Sess_Id, Att_Tipo, Att_Tabella ) " & _

    "SELECT " & DLookUp("Idnr","table1","Fine Is Null") & ", 'Inserimento', 'tuaTabellaNome'"

    Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento