Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di d-force
    Registrato dal
    Oct 2001
    Messaggi
    657

    ACCESS - sicurezza inserimento dati

    Ciao a tutti!

    Per inserire i dati nelle tabelle del DB generalmente uso le maschere.

    Il problema si pone quando inavvertitamente si 'tocca' qualche dato all'interno della maschera e questo modifica i dati nelle tabelle.

    Esiste un modo per per far sì che ogni volta che viene modificato qualcosa access ti avverta che è stata fatta una modifica...?

    Grazie

    d-force

  2. #2
    Utente di HTML.it L'avatar di seclimar
    Registrato dal
    Sep 2002
    Messaggi
    21,042
    se sei bravo a fare le maschere...ecc... e soprattutto il codice...

    puoi mettere la maschera in read only..e fare in modo che l'utente sblocca il record prima di modificarlo..

    e in ogni caso..se usi le query e fai gli update via codice.. puoi benissimo riempire una nuova tabella con i LOG di chi ha fatto le operazioni e a che ora!

  3. #3
    Utente di HTML.it L'avatar di d-force
    Registrato dal
    Oct 2001
    Messaggi
    657
    Grazie Seclimar!

    Mi aiuti sempre te

    Come si fa a fare:
    ...puoi mettere la maschera in read only..e fare in modo che l'utente sblocca il record prima di modificarlo..

    A occhio, penserei di fare sulla proprietà maschera>evento>dopo aggiornamento inserire una macro dove richiede il salvataggio delle modifiche...

    Non sono pratico di codice...



    d-force

  4. #4
    Utente di HTML.it L'avatar di seclimar
    Registrato dal
    Sep 2002
    Messaggi
    21,042
    se non sei pratico di codice ....puoi fare poco !
    puoi rimanere nelle cose standard..
    impara un po' di vba cosi' puoi farti le funzioncine utili

    metti la maschera in read only ...
    metti un bottone .. il cui click ..via codice..ti toglie il read only della maschera!

    io addirittura ggiungo spesso ai record un campo
    un campo che mi dice lo stato del record:
    aperto chiuso (falso o vero)
    se e' aperto ..allora la maschera la metto non readonly e cosi' posso fare le modifiche
    altrimenti va aperto intenzionalmente dall'utente!
    con il tasto che ti ho detto..

    al passaggio da un record all'altro devi ricordarti di rmettere la maschera readonly...
    c'e' un evento apposta che non ricordo!




    un altro metodo e':
    la maschera non permette di fare aggiunte mai se la chiami con un parametro....

    se la chiami con un altro parametro... allora permette di fare una aggiunta e basta e si posiziona sul record vuoto da aggiungere

    la maschera e' la stessa...
    ma chiamata in modi diversi!

  5. #5
    Utente di HTML.it L'avatar di d-force
    Registrato dal
    Oct 2001
    Messaggi
    657
    Sei un guru di access!

    OK, provo a studiare un pò di codice VBA...spero non sia troppo difficile...



    d-force

  6. #6
    Utente di HTML.it L'avatar di seclimar
    Registrato dal
    Sep 2002
    Messaggi
    21,042
    ti servono queste cose:

    1)
    un campo in piu'... su ogni record
    chiamalo
    CHIUSO (se vero non e' modificabile il record)
    questo lo sai fare

    2)
    mettere la maschera di default chiusa in lettura..
    proprietà maschera .. o a livello di form o a livello di record..
    lo sai fare.. o non e' difficile

    3)
    al passaggio di un record all'altro scateni un evento..non ricordo il nome
    on_success
    on_qualcosa...
    qua fai un if...
    controlli il flag e di conseguenza cambi le prorpietà del form


    4)
    tasto per bloccare o sbloccare il flag:
    sempre via codice...
    fa un update del campo CHIUSO
    e ..cambia lo stato del form

  7. #7
    Utente di HTML.it L'avatar di seclimar
    Registrato dal
    Sep 2002
    Messaggi
    21,042
    seinvece vuoi fare il secondo metodo che ti ho detto..
    ovvero due link
    uno per vedere i record
    uno per aggiungere il record..
    entrambi caricano la stessa maschera....

    puoi fare cosi' nella onload della maschera

    Private Sub Form_Load()
    If Me.Filter = "" Then
    DoCmd.GoToRecord , , acNewRec
    Else
    Me.NavigationButtons = False
    End If
    End Sub

    se non metti un filtro... va al record nuovo

    se c'e' un filtro puoi disabilitare alcune cose..tipo record nuovo
    o aggiunta o ..altre cose
    Me.NavigationButtons = False ..QUESTO E' un esempio!

    dalla pagina chiamante... metti un filtro..
    chesso'
    WHERE ID=ID
    cosi' in questo caso ..visualizzi i record.. (tutti)

    se invece non metti il filtro..vai subito a quello nuovo per l'if della funzione sopracitata

  8. #8
    Utente di HTML.it L'avatar di d-force
    Registrato dal
    Oct 2001
    Messaggi
    657
    Grazie Seclimar!

    Ci proverò...

    d-force


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.