Newsgroup: it.comp.appl.access
Titolo: Valore Predefinito ComboBox

Come faccio a fare sì che una combo box di una maschera abbia come valore
predefinito il primo della lista dei suoi possibili valori? In buona
sostanza, apro la maschera, e vorrei che la combo non fosse vuota (anche se
aprendo la tendina compaiono tutti i valori), ma vissualizzasse già il
primo. So farlo tramite VBA andando a leggerlo dalla SQL cui si riferisce
tramite DAO e impostando il valore desiderato, ma questo comporta che, se
faccio un requery (il rowsource, infatti dipende da un'altro combobox) non
funziona più....
Mi spiego meglio: ho ComboBox_A e ComboBox_B (a cui in fase di load della
form imposto il RowSource con una SQl che richiama ComboBox_A). Se cambio il
valore di ComboBox_A, con un Requery, ComboBox_B cambia la sua lista di
valori. Ora se il valore da visualizzare lo imposto nella routine di load
della form, al momento del requery, di lì non ci passo più! Dovrei dunque
impostare all'inizio che il DefaultValue di ComboBox_B non è un valore ma
una formula, ma non so come impostarlo nella finestra delle proprietà!
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 ha scritto nel messaggio 
news:194Z243Z137Z76Y...@usenet.libero.it...

Vai sul Sito Comune (link qui sotto) e nella Sezione Forms leggi la mia FAQ 
intitolta "3.111 Selezionare da VBA la riga di una casella combinata".
-- 
Roberto
-----------------------------------------------
il Sito Comune di it.comp.appl.access
http://www.sitocomune.com
-----------------------------------------------

[omissis]
Supponendo che la combobox si chiami cboTest, il codice che ti serve è il 
seguente:
Me.cboTest.DefaultValue = Me.cboTest.ItemData(0)
===
"Liberalizziamo l'elenco dei CAP"
http://www.petitiononline.com/freecap/petition.html
===
--
PBsoft di Gabriele Bertolucci
www.pbsoft.it
skype: pbsoftsolution

 Me.cboTest.DefaultValue = Me.cboTest.ItemData(0)
Non mi sono spiegato bene: se faccio così, il DefaultValue sarà ciò che al
momento del caricamento sarà contenuto in Me.cboTest.ItemData(0). Se però,
attraverso l'evento requery aggiorno la lista dei valori disponibili per
Me.cboTest, il DefaultValue non verrà aggiornato, a meno di non far girare
nuovamente la troutine VB!


 verrà aggiornato, a meno di non far girare nuovamente la troutine VB!
Concordo pienamente, ma non vedo niente di male ad inserire questa riga di 
codice anche a seguito del requery della combo.
Io sono sempre stato per la razionalizzazione del codice, ma si tratta pur 
sempre di una sola riga!!!


 sempre di una sola riga!!!
E' vero, ma forse mi sfugge qualcosa: io, ad un certo punto del codice
(anzi, più di uno), invoco la Requery della maschera che contiene la
ComboBox, percui, ad ogni istruzione Form.Requery dovrei far seguire la riga
di set del DefaultValue, dato che, mi pare, non esista un evento del tipo
AfterRequery della Combo o della Form, dico bene?


 evento del tipo AfterRequery della Combo o della Form, dico bene?
Ni.
Quando fai il requery della maschera non vai a modificare il valore predefinito 
della combo, quindi non ti serve fare il requery della combo.
Il requery della combo ha senso solo quando modifichi l'origine riga della 
combo stessa.
