Newsgroup: it.comp.appl.access
Titolo: Controllare da VBA se una combo è "Drop"

Ciao a tutti, vorrei controllare da codice se una determinata casella 
combinata è nello stato "dropdown" o meno, esiste una funzione del genere?
Mi serve per mantenerne lo stato, utilizzando la funzione .dropdown, se per 
caso l'utente ha eseguito manualmente in precedenza l'espansione della 
casella.
Grazie
774 
 

No con Access non c'è, ma non vedo il problema... innanzitutto deve avere il FOCUS... quindi se non è attiva deve esserlo... a quel punto forzalo tu...
 
@Alex

 ...
 
http://access.mvps.org/access/api/api0052.htm
 
 
-- 
Ciao
Karl
*********
Access FAQ:  
http://www.donkarl.com/it
 
Access Lobby: 
http://www.AccessDevelopers.org
 
 
 
 

 *********
 
E' veramente un falso problema Karl secondo me... e questa soluzione, che conoscevo bene, è complessa ed inutile visto che il suo scopo è FORZARE il DropDown... 
 
Basta Forzarlo a prescindere... ed ha risolto... 1 riga di codice... e tu sai quanto mi piacciano le API... ;-)
 
@Alex

 Basta Forzarlo a prescindere... ed ha risolto... 1 riga di codice... e tu sai quanto mi piacciano le API... ;-)
 
Puo darsi che lui p.e. faccia qc da codice che chiude la lista 
eventualmente aperta (Requery, Refresh ecc. o cambiare e ritornare il 
focus) e dopo la magia voglia presentare all'utente lo stato di prima.


 Karl
 
karl, sai bene che lo stato di DROPDOWN si può fare se la Combo ha il FOCUS...
Se fa un Requery o Refresh quindi deve ripristinare il FOCUS sulla Combo.
 
Quello che chiede, non è ripristinare lo stato DROP precedente, ma FORZARLO in DROP...!
 
Me.Requery  ' Me.Refresh
Me!NomeCombo.SetFocus
 
poi....
Me!NomeCombo.DropDown
 
Io ho capito questo... motivo per il quale sapere lo stato di DROP non credo serva...
 
Lascio a lui...
 
@Alex
 
 

 ha scritto nel messaggio 
news:9c67e3bf-96f1-4e8a...@googlegroups.com...

Innanzitutto grazie ad entrambi.
Karl ha indovinato.
Ho una tabella di circa 10.000 libri.
Una combo si occupa di filtrare il titolo dei libri che vengomo visualizzati 
nella listbox.
La combo funziona in modo bivalente: si può selezionare un titolo 
dall'elenco a discesa, oppure si può scrivere una parte del titolo nella 
casella (impostata a Solo In Elenco = False) in modo da filtrare i libri con 
la clasusola like. Dato che non mi voglio far mancare niente, nel momento in 
cui l'utente scrive del testo nella combo vengono ricalcolati sia la 
rowsource della listbox, sia la rowsource della combo, in modo che l'utente 
possa avere  i valori della combo anch'essi filtrati secondo il testo 
digitato. Non sempre l'utente vuole vedere la combo "droppata", ecco perchè 
vorrei sapere se l'utente lo desidera. Dato che ad ogni digitazione si perde 
il focus sulla casella in quanto ho bisogno di fare altre operazioni, si 
arriva al problema. Certo, già tutto funziona bene, ma sarebbe carino avere 
questa possibilità.
Mi metto a studiare, non amo le API ma le ho già usate, vedremo cosa 
combino.
A presto
774 
 

Secondo me, quando ti rendi conto che quello che hai pensato è abbastanza inutile e richiede codice che avrai difficoltà a maneggiare e sarà solo un problema nel tempo... rileggerai il mio punto di vista e lo troverai interessante....
;-)
 
Scherzi a parte, valuta bene i pro ed i contro, quel codice ha limiti di Versione(32/64bit) poi ti accorgerai tu stesso... di cosa significa...
 
Saluti
@Alex

 ha scritto nel messaggio 
news:15900afb-2a4a-43ac...@googlegroups.com...

Per il momento funziona bene, ho cercato in tutti i modi di trovare una 
soluzione senza API proprio per questi motivi.
E' chiaro che appena dovessere esserci dei problemi la disabilito, non 
essendo una funzionalità fondamentale.
774