Condividi tramite

Annullare modifica record in sottomaschera

Anonimo
2010-07-20T16:31:12+00:00

In una maschera ho aggiunto una check box che viene impostata a true quando il record viene modificato. In questo modo se il cliente esce dalla maschera gli viene chiesto se desidera dalvare il record, se indica "No" con il metodo undo annullo le modifiche... ma se queste modifiche vengono eseguite in una sottomaschera, come faccio ad annullarle ???

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

Risposta accettata dall'autore della domanda

Anonimo
2010-07-23T12:40:33+00:00

Ciao,

un modo per fare quello che vuoi, sarebbe quello di fare una sottomaschera "unbound", ossia in cui i controlli non sono legati a dei campi di tabella o query. Quindi nella sottomaschera crei dei controlli senza origine controllo valorizzati (controlli non associati). 

Quando apri la maschera devi fare una SELECT per valorizzare i controlli.

Ovviamente per salvare devi fare su un pulsante "OK" o "SALVA" una funzione che fa una insert se il record è nuovo e un UPDATE se invece deve aggiornarlo.

Fatto questo annullare le modifiche della sottomaschera è semplice, basta non salvare ;)

La risposta è stata utile?

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2010-07-20T19:02:23+00:00

Ciao NetLevel,

quando il controllo passa dalla maschera principale alla sottomaschera e viceversa il contenuto della maschera "corrente" viene automaticamente salvato, puoi chiedere all'utente se desidera salvare le modifiche impostando una routine sull'evento prima di aggiornare sia della maschera principale, che della sottomaschera,

Private Sub Form_BeforeUpdate(Cancel As Integer)

          If MsgBox("Vuoi salvare le modifiche?", vbYesNo) = vbNo Then

            Cancel = True

            Me.Undo

          End If

End Sub

La stessa identica cosa può essere fatta sull'evento prima di aggiornare della sottomaschera.

Se invece la tua intenzione è quella di annullare tutte le modifiche apportate sia alla maschera principale che alla sottomaschera, allora le  cose si complicano...


Cinzia


Sito RIO

Il mio Blog

La risposta è stata utile?

0 commenti Nessun commento

1 risposta aggiuntiva

Ordina per: Più utili
  1. Anonimo
    2010-07-23T10:44:56+00:00

    In effetti la mia intenzione era proprio quella di annullare le modifiche sia della maschera che della sottomaschera, ma mi rendo conto della difficoltà....

    La risposta è stata utile?

    0 commenti Nessun commento