Newsgroup: it.comp.appl.access
Titolo: Come accorgersi quando una maschera/record e' in modifica?

Ciao a tutti.
Come posso accorgermi quando il record visualizzato in un record INCOMINCIA
ad essere modificato?
Quel che vorrei fare io e' un pulsante chiamato "Chiudi la finestra e perdi
le modifiche",  che esegua su click unicamente il comando "me.undo". Ma
vorrei lasciare disabilitato questo pulsante, ed abilitarlo NEL MOMENTO IN
CUI il record corrente INCOMINCIA ad essere modificato.
Ad esempio: mi sposto su un NUOVO record. Ho un controllo "contatore"
contenente l'ID del record che  mi visualizza "(contatore)". Non appena
incomincio a modificare il record, il campo "contatore" prende un valore
corrispondente ad un nuovo ID.
Ecco, io vorrei IN QUEL MOMENTO abilitare il pulsante "Chiudi e perdi le
modifiche". Quindi potrei intercettare l'aggiornamento del controllo
"contatore", mi si potrebbe suggerire. No, perche'servirebbe solo nel caso
di nuovo record! Se il record esiste, il controllo "contatore" e' gia'
pieno, ed anche se modifico il record quel controllo non viene certo
aggiornato!
Quale evento devo quindi intercettare? Potrei abilitarlo mettendo il codice
per l'abilitazione in TUTTI gli eventi "su modifica" dei vari controlli
presenti nella maschera... ma non mi piace molto. Oltre a non essere per
niente elegante, e' scomodissimo e troppo macchinoso. Ci vorrebbe un "su
modifica" della maschera, che pero' non c'e'.
C'e'qualcuno che ha una soluzione?
Grazie e ciao,
Angelo.-


Dovrebbe fare al caso tuo l'evento "BeforeInsert"...
Ciao.

...



Per favore rispondi dopo il messagigo precedente (come faccio io);
E' la stessa cosa; l'evento "BeforeInsert" si scatena appena scrivi (bleah!
Non mi veniva altro.) un carattere nel record. Per chiarirti meglio le idee
leggi l'help...
Ciao.

leggi l'help...
Ciao!
Io, per verificare, ho inserito una semplice MsgBox "!" nell'evento
"beforeinsert"
Ebbene, se la maschera si riferisce ad un nuovo record, la messagebox appare
non appena premo un tasto. Se la maschera invece si riferisce ad un record
gia' esistente, la messagebox non appare.
Anche nell'help vedo che "l'evento BeforeInser" si verifica quando si digita
il primo carattere in un NUOVO recordo, ma prima che il record venga
effettivamente creato".
Quindi sembra proprio si riferisca ai nuovi record...
Ciao!
Angelo.-

 Quindi sembra proprio si riferisca ai nuovi record...
In A00 per il tuo bisogno c'č un nuovo evento nelle maschere che si
chiama Dirty. Allora quale versione hai?
Cito un parte geniale del "[INFO] Istruzioni per l'uso di questo ng":
E' consigliabile indicare la versione di MSAccess a cui ci si riferisce
ed il sistema operativo utilizzato (A2/W95, A95/W98, A97/NT4, A00/W00),
Ma Federico vedi la virgola alla fine! ;-)
--
cu
Karl
*********
Non meravigliarti del mio strano italiano. M'esercito qui.
Access-FAQ (tedesco): 
http://www.donkarl.com

chiama Dirty. Allora quale versione hai?
Si', uso Access 2000 (in Italiano), sotto Windows NT 4.0 per lo sviluppo (ma
funzionera' sotto Windows 98).
Effettivamente questo evento fa proprio al caso mio! Non l'avevo mai preso
in esame, perche' il suo nome nella versione italiana e' "su attesa", e
pensavo si riferisse a tutt'altro.
Grazie mille!
Ciao,
Angelo.-


Hai ragione, sono stato frettoloso; mea culpa!
Ciao.

 chiama Dirty. Allora quale versione hai?
Funziona benissimo anche in A97
Daniele "Antares" Fasoli
fas...@easy1.easynet.it

 Funziona benissimo anche in A97
Come mai?
In A97 non c'č un evento ma solo una proprietą "Dirty" che non
si puo usare cosi comodo.
--
?


 si puo usare cosi comodo.
Beh č corretto io mi riferivo all'uso nel codice per testare se sono state
operate modifiche sulla maschera (non mi pare molto scomoda) visto che
piloto tutto da una barra di pulsanti personalizzata, eliminando il
selettore record dalla scheda, e testando appunto con un if me.dirty se sono
state operate modifiche
Daniele "Antares" Fasoli
fas...@easy1.easynet.it

 state operate modifiche
La grande differenza è che non ce un "trigger" per la proprietà.
Si debbe intercettare un altro evento e spesso molti eventi
per guardagnare l'informazione al proprio momento.
A00 ha molti problemi ma ci sono anche buone novità come questo
l'evento Dirty.
--
cu
