Newsgroup: it.comp.appl.access
Titolo: help! cambiamenti in una sottomaschera con A2000

ciao a tutti!
Ho bisogno di aiuto.
Ho una maschera con all'interno una sottomaschera.
La maschera principale e associata ad una tabella testeOrdini e la
sottomaschera ad una tabella righeordini. Le due tabelle hanno una
relazione uno a molti.
Il mio problema è che non riesco a verificare,quando chiudo la maschera,
se ci sonon stati dei cambiamenti nei record della sottomaschera, cosa
che riesco a fare invece  per la maschera principale con l'istruzione
"if  me.dirty....."
Come posso fare ?
Grazie per l'aiuto
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Come posso fare ?
        If Me.Controls.Item("NomeControlloSottomaschera").Form.Dirty ...
        -oppure-
        If Me![NomeControlloSottomaschera].Form.Dirty ...
--
Ciao :-)
Maurizio
--------
?SPQR(C)
 X
--------

 ha scritto nel messaggio
news:ape5dr$pa0m$1...@ID-52090.news.dfncis.de...


 della maschera princip. diventa FALSO.
    Scusa ma perche' sposti il focus?


 Scusa mi sono spiegato male.
Nella maschera princ. ho inserito un pulsante per la chiusura della maschera
e sull'evento click vorrei controllare se in entrambe le maschere ci sia
stato qualche cambiamento. Purtroppo appena clicco sul puls. la proprietà
della sottom. diventa falsa anche se ho fatto dei cambiamenti.
Lo stesso problema si verifica se in sucessione prima effettuo una modifica
in campo della maschera principale e poi eseguo una modifica nella sottom. a
questo punto se clicco sul pulsante di uscita entrambe le proprietà dirty
sono diventate false.
Probabilmente sbaglio l'approccio al problema , ma come faccio a controllare
alla chiusura della maschera se ci sono stati dei cambiamenti ?
Ciao e grazie

 alla chiusura della maschera se ci sono stati dei cambiamenti ?
    Dunque... Se il pulsante e' nella maschera ed il fuoco e' nella
sottomaschera quando premi il pulsante nella sottomaschera prima che questa
perda il fuoco si scatenano tutti quegli eventi che in conclusione portano a
una sottomaschera "pulita" (non Dirty). Dovrai quindi agire "prima" che
questo avvenga, intercettando l'evento di aggiornamento della sottomaschera.
Ma tutto questo a che scopo? Ti interessa sapere che c'e' stato un
cambiamento *prima* che questo venga registrato oppure *dopo*?
    Prima... Dopo... Aggiornamento... Ci siamo? Ok. Allora possiamo andare a
consultare la guida relativamente a questi eventi:
        Event BeforeUpdate(Cancel As Integer)
            Membro di Access.Form
        Event AfterUpdate()
            Membro di Access.Form
    Probabilmente per quel che vuoi fare tu va bene il primo.
    Un buono modo di chiarirsi le idee consiste nell'attivare tutte le
routine degli eventi e scrivere del codice di debug per verificare l'esatta
successione di questi. Per esempio cosi':
        Private Sub Form_AfterUpdate()
          Debug.Print "Form_AfterUpdate"
        End Sub
        Private Sub Form_BeforeUpdate( _
          ByRef Cancel As Integer)
          Debug.Print "Form_BeforeUpdate"
        End Sub
        Private Sub Form_Current()
          Debug.Print "Form_Current"
        End Sub
ecc...
(Scusa se te lo dico, magari gia' usi questo sistema...)
