Newsgroup: it.comp.appl.access
Titolo: refresh di una listbox

Salve
ho una formA che contiene una formB di tipo tabellare.
Nella Form A ho una listbox che mi varia il contenuto in base al record 
corrente della formb.
infatti nell'evento su corrente della formB ho un 
me.parent.mialista.rowsource="select ...where id=" & 
me.id
il problema è che e se il primo record della formB popola la lista con 
due righe, se passo al successivo che magari ne restituisce 4, la 
listbox mi mostra solo le prime due...le altre due sono cliccabili ma 
non visibili.
ho provato tutti i requery e refresh possibili ma nulla da fare
cosa può essere?
ciao
BFS

 ...
Non conosco il problema.
Per una prova di riprodurlo manca la versione di Access.
È installato l'ultimo SP per Office?
Se si tratta di A03 SP3 prova di installare il hotfix per l'SP3.
I link trovi qui:  
www.donkarl.com/it?FAQ9.1
-- 
Ciao
Karl
*********
Access FAQ: 
www.donkarl.com/it
 


Io sono "fissato" per i recordset.
Una volta che imposto con set listbox.recordset = myrst...
altrimenti modifica la rowsource da interfaccia (anche con l'aiuto di 
qbe) inserendo i riferimenti  alla form inveche che 
me.id
 , un 
riferimento esplicito Forms!MiaForm.ID e così su OnCurrent non hai 
bisogno di modificarla... al massimo una requery se ID viene modificato.
Ciao

OneEDP ha scritto:

Attenzione. Sta su una form continua e quindi avra' comunque il problema 
  che il cbx/lbx riflettera' sempre l'ultimo "aggiornamento" eseguito.
Tutto cio' a meno di quello che ha consigliato Karl un po' di post fa, 
sempre su questa medesima situazione.


sono file adp xp con database msde con tutti i sp
qui una scermata del mistero:
http://yfrog.com/iycatturahcjj
ciao BFS


Certo che hai "omesso" un piccolo particolare...
Il discorso è completamente diverso...
Al rowsource dovresti impostarlo con "EXEC spMiaLista " & Me.ID
Ogni volta che lo imposti viene avviata sempre l'exec
Inoltre la maschera figlia ha bisogno del Comando Resync impostando 
nella where i campi chiave con un punto "'" che devi personalizzare, 
perché gli adp non aggiornano la visualizzazione come gli mdb.
-- 
Daniele
Rispondere scartando OneEDP, spam e 32


non mi sono spiegato
le due maschere non sono associate...sull'evento on current della 
sottomaschera richiamo una funzione che mi restituisce la stringa sql 
per popolare la list box.
e tutto funziona...è solo un problema di visualizzazione della 
listbox...i record ci sono...sono addirittura cliccabili! solo che non 
si vedono
se metto una combo al posto della listbox funziona perfettamente...ad 
ogni record selezionato della subform questa mi viene compilata con i 
record esatti.
Per ora ho sostituito la listbox con una maschera tabulare, e la popolo 
allo stesso identico modo (ovviamente con recordource e non rowsource) e 
funziona. sarà un bug della listbox
ciao
BFS


stamattina mi sono accorto che se eseguo il codice in modalità passo 
passo funziona!?!?!?!
in pratica le ultime due righe di codice:
Form_ZoomApp.Elenco29.RowSource = sql
Form_ZoomApp.Elenco29.Requery
se eseguite in modalità normale mi danno il problema descritto, se le 
eseguo passo passo dopo aver eseguito la requery la listbox si vede tutta
un bel mistero
BFS

 eseguo passo passo dopo aver eseguito la requery la listbox si vede tutta
se modifichi il rowsource non serve fare la requery.


RowSource dovrebbe invocare automaticamente il requery
(così anche il dropdown)
Da SQL Profiler dovresti vedere che in tutto la query viene eseguita tre 
volte.
L'unica cosa che ti proporrei e provare Me.Repaint e l'altra scorciatoia 
per visualizzare è
Form_ZoomApp.Elenco29.Recordset.Bookmark = 
Form_ZoomApp.Elenco29.Recordset.Bookmark
Do' per scontato che access è aggiornato con l'ultimo sp e 
http://support.microsoft.com/kb/945674
Ciao
Daniele



il requery l'avevo aggiunto con la speranza di risolvere il 
problema...assieme a tutti i repaint e i recalc possibili...ma nulla da 
fare.
curioso che se uso una combo invece di una listbox non ho alcun 
problema....e sono praticamente la stessa cosa.
nel codice ho :
Form_ZoomApp.Elenco29.RowSource = sql
Form_ZoomApp.ComboTest.RowSource = sql
risultato
http://yfrog.com/2cimmagineffjj
se eseguo invece in modalità passo passo:
http://yfrog.com/9eimmagine2jqj
incredibile
BFS


ciao,
ho provato con tutti i repaint e requery possibili..anche se questultimi 
come dici tu non servono.
il risultato è sempre lo stesso...la combo si popola la listbox pure ma 
non si vede
per assurdo anche facendo come ultima istruzione:
miacombo.rowsource=mioelenco.rowsource la combo è ok
ho tutti AXp con sp3
metto una bella sottomaschera e buonanotte...ho perso già troppo tempo 
per una banalissima listbox
ciao e grazie
BFS