Newsgroup: it.comp.appl.access
Titolo: Come potrei evitare inopportune modificazioni dei record di un database ? Avevo in mente due soluzioni (che però in pratica non so applicare) per cui chiederei il Vs. consiglio.

Come potrei evitare inopportune modificazioni dei record di un database ?
Avevo in mente due soluzioni (che però in pratica non so applicare) per cui
chiederei il Vs. consiglio.
La prima è quella di mettere tutte le maschere e le eventuali sottomaschere
per default in sola lettura e poi creare del codice (ecco il punto, cosa
scrivere e a fronte di quali eventi ?) che al momento in cui apro la
maschera mi visualizza un messaggio del tipo "Vuoi modificare i dati ?" Se
clicco "Sì" si apre la maschera togliendo l'opzione di sola lettura se
clicco su "No" invece rimane tale e quale (ovviamente quando chiudo la
maschera essa deve tornare di sola lettura). Avevo altrimenti pensato ad un
semplice messaggio di conferma del salvataggio del record a fronte di una
sua modifica con messaggio del tipo "Il record è stato modificato vuoi
accettare le modifiche ?" se clicco "Sì" le salva se clicco "No" annulla
tutto ciò che è stato digitato (anche in questo caso che codice scrivere e a
fronte di quali eventi ?).
Ciao a tutti, in primis la Sacra (e Mitica) Triade
Antonio

Scusate per l'oggetto, ho sbagliato il copia e incolla !!!
Antonio

 wrote in message
9detvo$dh3$1...@pegasus.tiscalinet.it...

Ciao Antonio..
Prova ad inserire questo codice sull'evento della Maschera "Prima di
Aggiornare"
   Dim retValue As Integer
   Dim strTtl As String
   Dim strMsg As String
   strTtl = "Salvataggio"
   strMsg = "Il documento è stato modificato. Vuoi salvare le modifiche?"
   retValue = MsgBox(strMsg, vbQuestion + vbYesNoCancel, strTtl)
   Select Case retValue
       Case vbYes
           'non fare nulla
       Case vbNo
           DoCmd.RunCommand acCmdUndo
       Case vbCancel
           Cancel = True
   End Select
Ciao.

 ha scritto nel messaggio
news:9detvo$dh3$1...@pegasus.tiscalinet.it...

Io sarei per la seconda ipotesi.
Per sapere come realizzarla e per fare contenta la Sacra Triade, vai sul
Sito Comune (link qui sotto), Sezione Forms, c'è una FAQ di Federico Luciani
intitolata "Confermare il salvataggio dei dati".
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 Roberto
Sì avevo visto al sito comune e difatti è la stessa soluzione prospettata da
Old -Jack (che ringrazio). Il problema è che il messaggio di conferma di
salvataggio viene ripetuto anche quando scorro semplicemente i record, anche
se non ho modificato nulla, come mai ? Può dipendere dal fatto che ho
scritto altro codice sull'evento "Su corrente" (si tratta di un DLookup che
mi permette di aggiornare un controllo in automatico in base ad altri
valori). Io volevo che il messaggio di conferma venisse solo se ho
effettivamente modificato qualcosa, oppure quando creo un nuovo record (ma
per questo penso di sapere già come fare, almeno spero).
Antonio

 ha scritto nel messaggio
news:9dgrba$ug3$1...@pegasus.tiscalinet.it...



La soluzione sembrerebbe logica.



Grazie per la conferma
Antonio

 ha scritto nel messaggio
news:9detvo$dh3$1...@pegasus.tiscalinet.it...

Non scivere un oggetto così lungo: non è necessario che ci scrivi metà del
tuo messaggio.
Vai sul Sito Comune (link qui sotto), Sezione Forms, leggi la FAQ intitolata
"Confermare il salvataggio dei dati" di Federico Luciani.


 ha scritto nel messaggio
news:9detvo$dh3$1...@pegasus.tiscalinet.it...

Non scivere un oggetto così lungo: non è necessario che ci scrivi metà del


 fronte di quali eventi ?).
Puoi impostare nelle proprietà della scheda
consenti modifiche
consenti eliminazioni
consenti aggiunte
tutto a no, poi fai un pulsante con questo codice:
        With Me
           .AllowAdditions = True
           .AllowDeletions = True
           .AllowEdits = True
        End With
Se lo premi ti lascia modificare, quando chiudi e riapri la
scheda è ancora di sola lettura. Se vuoi puoi associare il
codice all'aperura e farlo precedere da una domanda del
tipo:
      Dim a As Integer
      a = MsgBox("Devo sbloccare?", vbYesNo)
      If a = 7 Then Exit Sub
       With Me
           .AllowAdditions = True
           .AllowDeletions = True
           .AllowEdits = True
        End With
Ciao
Arturo

 fronte di quali eventi ?).
Puoi impostare nelle proprietà della scheda
