Newsgroup: it.comp.appl.access
Titolo: La casella non 'sente' la modifica

Credo di essermi imbattuto in un piccolo bacco di A2000.
Maschera 'frmClienti' in  'Maschere continue'
Casella di testo 'Testo1' collocata nell'intestazione di 'frmClienti'
Evento 'Su corrente'    ==>    Me!Testo1 = Me!NomeDitta
In questo modo 'Testo1' mi evidenzia sempre il campo 'NomeDitta' del
cliente selezionato.
Azione = Elimina record:
-  Se il record eliminato NON era l'ultimo
    si verifica l'evento 'Su corrente' e 'Testo1' viene aggiornata
-  Se il record eliminato era l'ultimo
    l'evento 'Su corrente' non si verifica e 'Testo1' mantiene il suo
valore
    (il valore del campo 'NomeDitta' del l'ultimo record cancellato)
Per risolvere questo inconveniente intercetto l'evento 'Dopo conferma
eliminazione' e controllo:
    if IsNull (Me!IdCliente) then Me!Testo1=" "
Problema:
- l'evento 'Dopo conferma eliminazione' si verifica
- la casella 'Testo1' viene correttamente aggiornata
ma......... a video vedo ancora il suo vecchio valore.
Ho provato anche con Me!Repaint ma nulla di fatto.
Qualcuno sa dirmi cosa c'è che non va???
Grazie fin d'ora
--
Leo_duca

 Qualcuno sa dirmi cosa c'è che non va???
Non so aiutarti, però si sa che bacco, tabacco e venere riducono il
programmatore in cenere...
Eh eh eh
Antonio

 ha scritto nel messaggio
news:e5Nl7.6956$2b5.2...@news.infostrada.it...

Beh..... visto che io non bacco e nemmeno tabacco.....
direi che faccio propio nà bella fine!!!!!! :)))
--
Leo_duca

 ha scritto nel messaggio
news:9n85pi$628vr$1...@ID-98670.news.dfncis.de...

Per adesso lo frego con
'Su elimina' ==> Me!Text1 = " "
ma, com si dice da noi "noa se sò mare" !!
--
Leo_duca

     (il valore del campo 'NomeDitta' del l'ultimo record cancellato)
se non ricordo male, quando elimini l'ultimo record, il cursore si
sposta sul nuovo record, allora prova a modificare l'evento su
corrente in questo:
If Me.NewRecord Then
  Me!Testo1 = "NUOVO RECORD"
Else
  Me!Testo1 = Me!NomeDitta
End If
-- 
Federico
----------------------------------
Rimuovi paperino. per e-mail
----------------------------------
Tutte le richieste che arrivano
in privato, vengono cestinate.
----------------------------------
Sito Comune di it.comp.appl.access
http://www.sitocomune.com
mailto:
webm...@sitocomune.com
----------------------------------

 ----------------------------------
Grazie comunque :)
--
Leo_duca

 Maschera 'frmClienti' in  'Maschere continue'
e propietà AllowAdditions = False


 niente evento 'Su corrente'  :_(
non e' vero, l'evento viene generato.
la sequenza degli eventi sulla form quando viene eliminato un record
e' la seguente:
Delete
Current
BeforeDelConfirm
AfterDelConfirm
imho, il problema e' da ricercare altrove.


 Federico
Beh.....se hai ragione tu, e l'evento 'Su corrente' viene generato
anche dopo la cancellazione dell'ultimo record'
allora ho un prolema molto piů grave: il mio Acces2000
non 'sente' i break-point! :)) o ancor peggio li 'sente'
a sua discrezione !!! :))))))
Help!
Che ne dici di una verifica incrociata?
Ciao e grazie
--
Leo_duca

 Leo_duca
ho appena fatto una prova, con una form continua e disabilitando
l'aggiunta dei record.
eliminando l'ultimo record il cursore si sposta sul nuovo ultimo
record e l'evento su corrente viene generato correttamente.
l'eliminazione del record la effettuo tramite barra standard di
access.
a questo punto, sono sempre piu' convinto che il problema sia da
cercare altrove.
non uso A2000, quindi non so dirti se per caso c'e' qualche nuovo
evento che viene gestito in questo caso!
se gestisci qualche altro evento, controlla che non ci sia qualche
strana chiamata.



Ciao :)
--
Leo_duca

 Leo_duca
#?&(%(&&?)/
ma porcaccia la miseria, quello non e' l'ultimo, ma l'unico...
cmq, prova a scrivere:
  If Me.RecordsetClone.RecordCount = 0 Then Me.Testo1 = ""
nell'evento AfterDelConfirm
Federico

 Federico
E' propio quello che già faccio, papale papale.
Il problema sta propio nella   Me!Testo1 = ""
in quanto Testo1 viene aggiornata correttamente ma a video
non mi scompare la scritta (NomeDitta del record cancellato).
Ho fatto verifiche sia con i strumenti di debug si con un semplice:
    If Me.RecordsetClone.RecordCount = 0 Then
            MsgBox "Valore di Text1 prima di aggiornare = " & Me!Text1
            Me.Testo1 = ""
            MsgBox "Valore di Text1 dopo l'aggiornamento = " & Me!Text1
    End If
accertandomi perciò:
-    che l'evento 'Dopo conferma cancellazione' accadesse;
-    che l'istruzione Me!Text1 = "" fosse eseguita;
-    che l'istruzione Me!Text1 = "" fosse eseguita correttamente;
è per questo che ho pensato ad un bacco.
Beh.....
Cmq ti riririringrazio :) per la stua quisita gentilezza,
pazienza (sigh!) e  (sour tout) disponibilità
Ciao
--
Leo_duca

 Leo_duca
strano, molto strano...
non vedo alcun motivo per cui il controllo non si debba aggiornare.
sicuro che 'Testo1' non sia anche il nome di un campo?
scusa, ma non so cosa pensare!


 scusa, ma non so cosa pensare!
Non scherzare...semmai le scuse devo fartele io x la rottura di scatole!
:)))
Comunque, con la soluzione di ripiego che ho addottato, riesco lo stesso
ad ottenere l'effetto desiderato. Per ora mi accontento (Pace e bene!
:) )
Ancora grazie
--
Leo_duca


Eh! Eh! Eh! Eh! Eh! Eh! Eh! Eh!
Questa č una delle piů carine...
Ciao.