Newsgroup: it.comp.appl.access
Titolo: Piccolo bug (?) su maschera con combo che filtra una casella di riepilogo: provate!

Allora, fate questo test:
una maschera non legata, con dentro una casella di riepilogo, una combo e un
pulsante.
Il Pulsante deve servire per uscire dalla form, quindi ci mettete un
docmd.close
La combo deve pescare da una tabella una serie di valori univoci su un
campo, in quanto mi serve per filtrare la casella di riepilogo. Pertanto ci
sarà un raggruppamento su quel campo. Inoltre, su dopo aggiornamento della
combo, verrà messo una requery della casella di riepilogo
La casella di riepilogo deve restituire tutta la tabella di cui sopra, ma
con filtro il valore della combo, pertanto ci sarà come criterio sotto quel
campo [forms]![nomemaschera]![combo]
Funziona tutto perfettamente tranne in questo caso:
provate a scrivere nella combo una lettera che sia l'iniziale di uno dei
valori restituiti e sia di più di una lettera. Per esempio, se viene
restituito il valore pippo, inserite p. Vedete che, essendoci
l'autocompletamento la p non è evidenziata mentre il resto ippo rimane
evidenziato in nero. OK?
Se a questo punto, SENZA fare invio, cliccate il pulsante, il sistema vi da
un bel cippirimerlo, nel senso che vi chiede di inserire un parametro stile
query.
Questo perchè, prima avviene l'evento clic, e quindi la docmd.close e quindi
la maschera si chiude, quindi avviene il dopo aggiornamento della combo e
quindi viene lanciata la requery della casella di riepilogo, e a quel punto
la casella di riepilogo ha come origine riga una query in cui c'è il
riferimento alla combo, CHE NON ESISTE PIU perchè la maschera si è chiusa!!!
Per me è un bug comportamentale...
Ho provato un po' di escamotaggi per ovviare a questo problema, come il
forzamento su altri eventi della requery, ma non c'è stato nulla da fare, se
non delle scariche elettriche all'utente che preme il pulsante d'uscita
prima di fare invio sulla combo!
Idee?
Antonio
--
--
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?

"Antonio Biso" <ch...@NOSPAMetruria.net> ha scritto nel messaggio 
news:buqHd.11304$fs6.2...@twister2.libero.it...

Passala in una variabile globale.
MAssimiliano

 Q: What is the most annoying thing on usenet and in e-mail?
-- 
Ciao
Pablitomf (Maurizio Facciuti)
------------------------------
http://www.sitocomune.com/
http://www.accessgroup.it/
------------------------------
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Idee?
La richiesta per il parametro mi sembra come il bug conosciuto:
http://support.microsoft.com/?kbid=811860
-- 
cu
Karl
*********
Access FAQ: 
www.donkarl.com/it
+info sulla prima Conferenza Italiana per Sviluppatori di Access (CISA1) 

Antonio Biso ha scritto:


Potresti disabilitare il pulsante sull'evento change della combo, e
riabilitarlo su after_update, ma se l'utente chiude la form con la X ti
frega.
Namor
-- 
namor at inwind punto it


Antonio Biso" <ch...@NOSPAMetruria.net> ha scritto nel messaggio
news:buqHd.11304$fs6.2...@twister2.libero.it...> Allora, fate questo test:

La cosa accade appena prende il Focus il CommandButton
del Close e viene generata indipendentemente dall'azione CLOSE,
ovvio che è tale azione a provocare il problema in quanto la Form viene
chiusa
prima(in modo virtuale, non ha ancora concluso) e genera l'evento.
Io avrei risolto in questo modo non molto elegante, ma pare funzionale:
[ComandoChiudi]    è il Pulsante di chiusura
[ListElenco]            è la ListBox che si basa sulla Combo
Private Sub ComandoChiudi_Click()
   Me.ListElenco.RowSource = ""
   DoCmd.Close
End Sub
Ciao
-- 
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.mantuanet.it/alessandro.baraldi/
---------------------------------------------------------------------------
"

 Antonio
Ciao Antonio.
Non sono riuscito a provocare l'errore. Il tuo esempio mi funziona
perfettamente senza andare in tilt.
Volevo soltanto fare notare, e correggimi se sbaglio, che quando passi
dalla combo al pulsante, in realtà gli eventi che si susseguono dovrebbero
essere per la combo:
KeyDown/KeyPress/Change/KeyUp/BeforeUpdate/AfterUpdate/Exit/LostFocus
e poi per il pulsante:
Enter/GotFocus.
In pratica prima del Click sul pulsante Access ha fatto scattare una serie
di eventi in cui, il Requery alla casella di riepilogo deve per forza
avvenire senza problemi di sorta.
--
rgrds
SC
-- 


 SC
Se non metti il Docmd.Close su Click non vedi nulla..!!
Mettendo il Close, viene eseguito il comando Close ed anche il Requery, ma
a quel punto il riferimento della Query alla Form fallisce in quanto
dichiarata chiusa.
Roba da matti, ma pare essere così


 Ciao
Ciao Alessandro.
Un momento io sotto l'evento Click del Pulsante ho inserito DoCmd.Close
con la gestione degli errori come da autocomposizione. Il requery l'ho
posto sull'evento AfterUpdate della combo e, ripeto, assolutamente non va
in tilt. Digito una lettera nella combo, si completa la stringa e senza
toccar nulla col mouse mi sposto sul pulsante e clicco. Vedo per un attimo
che la casella di riepilogo si popola e la maschera si chiude senza alcun
errore. 
Non è così il test??
Comunque gli eventi son quelli..


 SC
Si, ma nell' origine riga della ListBox la query deve avere nei criteri
[Forms]![NomeForm]![NomeCombo]
se è proprio così non saprei da me dà il problema di Antonio...!


 Ciao
--


 SC
Non sò che dire.
@ALex
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 MAssimiliano
Uhmmm...
Cioè dovrei salvarla nella variabile e poi mettere un criterio fatto da una
chiamata di funzione che restituisce quella variabile...
Mooolto sporca...
Antonio

 dopo aggiornamento.
C'ho delle maschere con piů di un filtro. Dovrei fare sta cosa ad ogni
getfocus dei controlli e al dopo aggiornamento. Non mi passerebbe piů!
Antonio

 ha scritto nel messaggio
news:cslu93$47l$1...@news.newsland.it...

Le mie maschere NON hanno la X, SNORT!
Comunque vedi obiezione fatta a Pablito
Antonio

 End Sub
Sì, questa potrebbe essere la soluzione...
Grazie
Antonio

 Pulsante: DoCmd.Close su Click
Non č possibile.
Lo vuoi il mio esempio, bello pronto in Access 97, 84 Kb ?
Antonio

 
http://support.microsoft.com/?kbid=811860
L'effetto è identico a quello che capita a me, ma non è lo stesso problema.
In effetti lì capita con XP, io NON uso XP (Burp)...
Grazie
Antonio