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-24T06:50:41+00:00

    Sono riuscito a costruire una maschera di login in cui si inserisce nome utente e password e si ha la possibilità di inserire nuove utenze.

    Mi servirebbe ora una tabella o query in cui ad ogni accesso viene inserita la data e l'orario, ed ad ogni uscita dal database stessa cosa , data ed orario di uscita, c'è qualcuno che mi può aiutare ?

    La risposta è stata utile?

    1 persona ha trovato utile questa risposta.
    0 commenti Nessun commento
  2. Anonimo
    2015-06-24T10:38:13+00:00

    Oltre al tempo mi servirebbe sapere Quando e a che ora è entrato  o è uscito

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2015-06-24T09:51:58+00:00

    Io farei così... Premetto che non sono un grosso esparto:

    Presupposti:

    1. esistenza di una maschera di login con campo "Utente" e "password" e pulsante che lanci una macro che, se è rispettata la combinazione utente e password apra un'altra maschera (dal quale l'utente farà tutte le sue attività)
    2. esistenaza di una maschera "Home" che si apra dopo il login e che rimanga sempre aperta durante l'attività dell'utente

    Metodo:

     1) creazione di una tabella "accessi" con I seguenti campi: utente, ora ingresso, ora uscita

    1. creazione di una query di accodamento "rec_login" che aggiunga un record alla tabella accessi popolando il campo "utente" ed "ora ingresso" (per far ciò, nella query, come "Campo" inserisci "Data: now()" e come "Accoda a" inserisci il campo "ora ingresso" della tabella accessi; poi un altra Colonna inserendo in nome campo "Utente: [Maschere]![Login]![TestoXX]" e come "Accoda a" inserisci il campo "Utente" della tabella accessi
    2. lanciare la query, tramite la macro che verifica la password e l'user name, inserendola subito prima della chiusura della maschera di login (comuque dopo l'apertura della Home)

    4)  Nella maschera di home inserire una casella ti testo (anche nascosto) inserendo "=[Maschere]![Login]![Testo2]". Al posto di "Testo2" devi mettere il nome del campo della maschera di login contenente il nome utente.

    1. creare una query di aggiornamento con riferita alla tabella accessi e con I seguenti parametri:

    Prima Colonna: nome campo: "ora uscita", tabella: "Accessi"; aggiornare a: Now(); Criteri: Is null

    Seconda Colonna: Nome campo: utente; tabella; Accessi; aggiornare a; (lascia vuoto); criteri: "[Maschere]![Home]![Testo1]". A posto di "Testo1" devi inseirre il nome della casella di testo nascosta all'interno della pagina home.

    1. andare nelle proprietà della maschera home, scheda "eventi" e su chiusura impostare una macro che lanci la query di Aggiornamento.

    Naturalmente è un po' rozzo come metodo, ma dovrebbe funzionare...

    Sicuramente ci saranno dei metodi più semplice tramite codice VBA, ma fin li non so spingermi. 

    P.S.: per poi sapere quanto ognuno è stato loggato basta creare una query di selezione avente come campi: Utente e raggruppando per questo campo, ed un campo calcolato (Tempo) con la seguente espressione: "Tempo: Somma(DateDiff("n";[Accessi]![Data e ora ingresso];[Accessi]![Data e ora uscita])).

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2015-06-24T09:43:46+00:00

    Ciao,

    come esposto da Salvatore tramite macro ( io le odio ), o mantieni la maschera di Login sempre attiva nascosta dopo le successive o conservi il codice di Login in una variabile (risulta comodo l'utilizzo delle tempvars o se preferisci di una global).

    ti serve una tabella, una query di inserimento ed una query di aggiornamento.

    Dopo la validazione del login e della password e prima di attivare la successiva maschera puoi eseguire una query che inserisca nella tabella Login e Now().

    La query è del tipo:

    "INSERT INTO Table1 ( Login, Inizio, Fine )

    SELECT '" & Me.TxtLogin & "', Now(), Null";

    In fase di chiusura del DB, 

    sull'evento su chiusura dell a maschera di Login, puoi aggiornare la tabella con:

    "Update Table1 Set Fine = Now() W here Login = '" Me.TxtLogin & "' And Fine Is Null"

    Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Anonimo
    2015-06-24T09:24:09+00:00

    Io farei così... Premetto che non sono un grosso esparto:

    Presupposti:

    1. esistenza di una maschera di login con campo "Utente" e "password" e pulsante che lanci una macro che, se è rispettata la combinazione utente e password apra un'altra maschera (dal quale l'utente farà tutte le sue attività)
    2. esistenaza di una maschera "Home" che si apra dopo il login e che rimanga sempre aperta durante l'attività dell'utente

    Metodo:

     1) creazione di una tabella "accessi" con I seguenti campi: utente, ora ingresso, ora uscita

    1. creazione di una query di accodamento "rec_login" che aggiunga un record alla tabella accessi popolando il campo "utente" ed "ora ingresso" (per far ciò, nella query, come "Campo" inserisci "Data: now()" e come "Accoda a" inserisci il campo "ora ingresso" della tabella accessi; poi un altra Colonna inserendo in nome campo "Utente: [Maschere]![Login]![TestoXX]" e come "Accoda a" inserisci il campo "Utente" della tabella accessi
    2. lanciare la query, tramite la macro che verifica la password e l'user name, inserendola subito prima della chiusura della maschera di login (comuque dopo l'apertura della Home)

    4)  Nella maschera di home inserire una casella ti testo (anche nascosto) inserendo "=[Maschere]![Login]![Testo2]". Al posto di "Testo2" devi mettere il nome del campo della maschera di login contenente il nome utente.

    1. creare una query di aggiornamento con riferita alla tabella accessi e con I seguenti parametri:

    Prima Colonna: nome campo: "ora uscita", tabella: "Accessi"; aggiornare a: Now(); Criteri: Is null

    Seconda Colonna: Nome campo: utente; tabella; Accessi; aggiornare a; (lascia vuoto); criteri: "[Maschere]![Home]![Testo1]". A posto di "Testo1" devi inseirre il nome della casella di testo nascosta all'interno della pagina home.

    1. andare nelle proprietà della maschera home, scheda "eventi" e su chiusura impostare una macro che lanci la query di Aggiornamento.

    Naturalmente è un po' rozzo come metodo, ma dovrebbe funzionare...

    Sicuramente ci saranno dei metodi più semplice tramite codice VBA, ma fin li non so spingermi.

    La risposta è stata utile?

    0 commenti Nessun commento