Discussione:
Controllare da VBA se una combo è "Drop"
(troppo vecchio per rispondere)
774
2015-06-03 00:25:44 UTC
Permalink
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
@Alex
2015-06-03 07:17:25 UTC
Permalink
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
Karl Donaubauer
2015-06-03 12:36:17 UTC
Permalink
Post by 774
Ciao a tutti, vorrei controllare da codice se una determinata casella
combinata è nello stato "dropdown" o meno, esiste una funzione del genere?
...
http://access.mvps.org/access/api/api0052.htm
--
Ciao
Karl
*********
Access FAQ: http://www.donkarl.com/it
Access Lobby: http://www.AccessDevelopers.org
@Alex
2015-06-03 12:48:31 UTC
Permalink
....
Post by Karl Donaubauer
http://access.mvps.org/access/api/api0052.htm
--
Ciao
Karl
*********
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
Karl Donaubauer
2015-06-03 13:16:32 UTC
Permalink
Salve Alex,
Post by @Alex
....
Post by Karl Donaubauer
http://access.mvps.org/access/api/api0052.htm
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... ;-)
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.
--
Ciao
Karl
*********
Access FAQ: http://www.donkarl.com/it
Access Lobby: http://www.AccessDevelopers.org
@Alex
2015-06-03 14:06:36 UTC
Permalink
Post by Karl Donaubauer
Salve Alex,
Post by @Alex
....
Post by Karl Donaubauer
http://access.mvps.org/access/api/api0052.htm
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... ;-)
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.
--
Ciao
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
774
2015-06-03 14:56:46 UTC
Permalink
"@Alex" <***@libero.it> ha scritto nel messaggio news:9c67e3bf-96f1-4e8a-8491-***@googlegroups.com...
Il giorno mercoledì 3 giugno 2015 15:16:34 UTC+2, Karl Donaubauer ha
Post by Karl Donaubauer
Salve Alex,
Post by @Alex
....
Post by Karl Donaubauer
http://access.mvps.org/access/api/api0052.htm
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... ;-)
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.
--
Ciao
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

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
@Alex
2015-06-04 09:58:12 UTC
Permalink
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
774
2015-06-04 17:26:05 UTC
Permalink
"@Alex" <***@libero.it> ha scritto nel messaggio news:15900afb-2a4a-43ac-a229-***@googlegroups.com...
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

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

Loading...