Newsgroup: it.comp.appl.access
Titolo: evento afterupdate non funzionante per modifiche ai dati

Scusate se ripongo una domanda già formulata ieri o l'altro ieri ma
sinceramente mi sono accorto di non aver trovato una soluzione che invece mi
urge.
Come posso tener traccia delle modifiche ai dati di un record scorrendo al
record successivo senza utilizzare l'evento AfterUpdate della form?
L'evento suddetto che mi hanno consigliato per creare una query che faccia
da file di log per salvare le modifiche ad un record non funziona perchè si
verifica anche quando varia il valore di un gruppo di opzioni da un record
all'altro anche se non cambio nessun dato.
Come posso fare????
ciò che vorrei fare riassumendo è:
* Faccio una modifica la record
* Prima di passare al record successivo.....verifico se il record corrente
sia stato effettivamente modificato
* Quindi lancio la query di log
Spero di essere stato chiaro e spero di ricevere aiuti.
Grazie mille
 
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

Fabio ha scritto:

Io non ho capito questa cosa del gruppo di opzioni. Se è associato ad un
record della tabella è come un qualsiasi altro controllo associato, e se
lo modifichi vai effettivamente a variare un valore nella tabella quindi è
giusto che venga loggato.
Se non è associato, una sua modifica non genera l'evento after_update
della maschera, quindi non lancia la query.
Namor
-- 
namor at inwind punto it
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Namor
E' questo che non ho capito nemmeno io.
Il gruppo di opzioni è un controllo associato. Succede (ho fatto decine di
prove)che se io faccio scorrere i record dal primo all'ultimo senza variare
nulla nei dati.....la query di log viene eseguita al cambio del valore del
gruppo di opzioni nel record successivo.
Non sò perchè ma ti assicuro che è così.
Poi guardando nell'help dell'evento afterupdate ho visto che viene eseguito
anche al variare del valore del gruppo di opzioni. Non sò se è questo caso.
Quale rimedio?


 all'altro anche se non cambio nessun dato.
In effetti fatico anche io a capire.
E non saprei come spiegare meglio di namor con il quale concordo.
Tra l'altro se il gruppo di opzioni non è associato la modifica fatta
te la dovresti ritrovare anche sui records prfecedenti e successivi.
Provo ad indovinare.
Il controllo è associato ma tu non vuoi considerare modificato il record
nonostante le modifiche al gruppo di opzioni.
In questo caso mi viene in mente di provare ciclando sui controlli della
form verificando Value con OldValue di ognuno.
Ciao+
MArco
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Fabio ha scritto:


Il gruppo di opzioni è un controllo particolare perchè contiene altri
controlli (le checkbox). Non bisogna confondere il gruppo con le singole
opzioni, che hanno altre proprietà ed eventi.
Per selezionare il gruppo devi cliccare sulla cornice.
Ogni opzione ha un suo valore.
Quando selezioni una delle opzioni il gruppo di opzioni, che può essere
associato ad un campo, assume il valore dell'opzione e partono tutti gli
eventi come se andassi a modificare manualmente in una textbox, quindi
got_focus, before_update e after_update del gruppo, ecc...
Se il gruppo è associato ad un campo la maschera passa a dirty=true, e
quando ti sposti su un altro record vengono eseguiti i before_update e
after_update della maschera.
Se semplicemente ti sposti da un record ad un altro senza toccare il
gruppo di opzioni vedrai cambiare il valore a seconda del contenuto del
campo associato ma non partiranno gli eventi della maschera.
Se partono solo scorrendo i record dev'eserci da qualche parte del codice
che modifica qualche valore.
