controllo accessi



  • controllo accessi
    di Francesco (utente non iscritto) data: 08/04/2016 11:31:10

    Buongiorno a tutti,
    sono nuovo del forum, spero di riuscire spiegare la mia problematica nel miglior modo possibile.

    Ho la necessità di creare un sistema controllo accessi molto semplice, tramite lettura di codice a barre con sistema datalogic, l'utente passa il codice a barre e viene inserita la data e l'ora, questo è stato fatto tramite un semplicissimo codice (citato sotto), se la cella contiene una informazione, allora restituisce il valore Now 2 celle dopo.

    Non essendo io molto ferrato (o quasi nulla) in programmazione, mi trovo bloccato, ovvero, mi piacerebbe che se un utente entra ed esce piu' volte (capita spesso), le date vengano messe a fianco del corrispettivo nome cella dopo cella, e non una sotto l'altra.

    nome entrata uscita entrata uscita
    antonio 08:10 11:10 13:15 15:15

    e non

    nome entrata
    antonio 08:10
    antonio 09:15

    spero di aver spiegato bene la mia problematica

    Vi rigrazio moltissimo anticipatamente.

    Francesco M.
     
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim rig, col As Long
    rig = Target.Row
    col = Target.Column
    Select Case col
        Case 2
        Cells(rig, col + 2).Value = Now
    End Select
    End Sub



  • di patel data: 08/04/2016 12:51:05

    dopo Antonio non possono passare Mario e Piero ? come fai poi a ritrovare la riga di Antonio ?





  • di Francesco (utente non iscritto) data: 08/04/2016 14:01:55

    si certo, penso serve un ciclo che ricerchi i nominativi uguali, e a quel punto mette uscita nella colonna di seguito, poi entrata poi uscita e così via...



  • di patel data: 08/04/2016 15:46:26

    puoi allegare un file esempio ? ti andrebbe bene di fare la rielaborazione alla fine della giornata tramite un pulsante ?





  • di Francesco (utente non iscritto) data: 08/04/2016 22:20:18

    eccomi, perdonami il ritardo nella risposta, ti ho allegato lo zip contenete il file excel



  • di patel data: 09/04/2016 11:58:06

    ti sembra un file significativo per il problema che hai esposto ?





  • di Francesco (utente non iscritto) data: 09/04/2016 12:17:14

    Se ho sbagliato qualcosa fammelo notare e io correggo, avendo esordito dicendo di non essere ferrato in materia, ma, se mi scrivi così, abbiamo solo sprecato due messaggi, a mio avviso



  • di Albatros54 data: 10/04/2016 12:09:45

    prova il codice sotto.
    Ciao
    albatros54
     
    Private Sub Worksheet_Change(ByVal Target As Range)
        Dim rig, col As Long, rng As Range
        codfisc = Target.Value
        cellainizio = Target.Address
        Set rng = Range("a2:" & "a" & (Target.Row - 1))
        For Each cl In rng
            Application.EnableEvents = False
            If cl = Target.Value Then
                cl.Select
                cl.Activate
                rowr = cl.Row
                lastcolumn = Cells(rowr, Columns.Count).End(xlToLeft).Column
                ActiveCell.Offset(0, lastcolumn) = Now
                Range(cellainizio).Clear
                Application.EnableEvents = True
                Exit Sub
            End If
        Next
        rig = Target.Row
        col = Target.Column
        Cells(rig, col + 3).Value = Now
        Application.EnableEvents = True
    End Sub
    






  • di Francesco (utente non iscritto) data: 10/04/2016 19:47:42

    è esattamente cio' che mi serviva, ti ringrazio davvero Albatros54!




  • di Francesco (utente non iscritto) data: 10/04/2016 19:50:52

    l'unica cosa, è che se trova il nome uguale, va a selezionare quella cella, quindi un inserimento successivo (tramite lettore barcode) andrebbe a sovrascrivere.



  • di Albatros54 data: 11/04/2016 11:05:12

    Nel file che tu hai postato , la colonna A contiene "Codice Fiscale", che non puo essere uguale per persone diverse.Il codice che ti ho postato non tiene in considerazione persone diverse che hanno lo stesso codice fiscale.
    Ciao
    albatros54