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: Meno recente
  1. Anonimo
    2015-06-26T13:37:22+00:00

    Ok funziona

    Anche se però , siccome io ho inserito negli eventi della maschera (tre)

    Dopo inserimento

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

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

    Dopo aggiornamento

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

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

    Dopo conferma eliminazione

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

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

    Qualunque operazione io faccia (inserisco, elimino, modifico), esce solo e sempre la routine di dopo aggiornamento , con modifica  come se non facesse distinzione fra le tre cose

    Inoltre cosa che ho dimenticato io di chiederti: è possibile collegare le due tabelle table1 e tblattivita o comunque poter accomunare la modifica con data ed orario ?

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2015-06-26T14:28:32+00:00

    Ciao,

    nelle query devi cambiare il valore tuaTabellaNome con il nome reale della tabella che nella form corrente è interessata.

    Il valore che imposti nel campo Att_Sess_Id è lo stesso di Idnr della Table1 (lo ricavi con la DLookUp), a tal proposito guarda la modifica proposta nei post precedenti.

    Se i diversi eventi non vengono scatenati, dobbiamo riconoscere quale sia l'attività effettivamente svolta.

    Gurada anche il post che parla della funzione.

    Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2015-06-26T14:38:45+00:00

    E se i tre tipi di attività avvengono tutti sulla stessa tabella , come nel mio caso, come si fa a distinguere , l'inserimento dalla modifica e dalla cancellazione ?

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2015-06-26T15:13:20+00:00

    Ho fatto qualche prova, sposta il codice nelle routine:

    Private Sub Form_BeforeInsert(Cancel As Integer)

    TipoAttività='Inserimento'

    Private Sub Form_BeforeUpdate(Cancel As Integer)

     TipoAttività='Aggiornamento'

    Private Sub Form_Delete(Cancel As Integer)

    TipoAttività='Eliminazione'

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Anonimo
    2015-06-27T11:57:22+00:00

    Ma devo aggiungerlo al codice precedente ? , non sostituirlo ? E comunque al posto di TipoAttività dovrei mettere Att_Tipo ?

    Private Sub Form_BeforeInsert(Cancel As Integer)

    TipoAttività='Inserimento'  (Att_Tipo = 'Inserimento')

    Private Sub Form_BeforeUpdate(Cancel As Integer)

     TipoAttività='Aggiornamento'   (Att_Tipo = 'Modifica')

    Private Sub Form_Delete(Cancel As Integer)

    TipoAttività='Eliminazione'   (Att_Tipo = 'Eliminazione')

    La risposta è stata utile?

    0 commenti Nessun commento