Discussione:
Popolare ComboBox da vba
(troppo vecchio per rispondere)
Davide D'Amico
2009-05-22 13:02:54 UTC
Permalink
Come faccio da VBA a:
1) Popolare una combo box con il contenuto di una tabella

2) Fare in modo che il valore associato al campo sia quello del campo_2
della tabella ma visualizzare a video il contenuto del campo_1

3) Fare in modo che non posso inserire valori non presenti in elenco.


So che da struttura maschera ci vuole un secondo a fare cio'. Ma io lo devo
fare da VBA dato chesto lavorando con una maschera "non associata" ad alcuna
tabella.


Grazie 1000 di nuovo a tutti.
Karl Donaubauer
2009-05-22 14:54:49 UTC
Permalink
Post by Davide D'Amico
1) Popolare una combo box con il contenuto di una tabella
Me!MiaCombo.RowSource = "MiaTabella"
o
Me!MiaCombo.RowSource = "SELECT Campo1, Campo2 FROM MiaTabella"
Post by Davide D'Amico
2) Fare in modo che il valore associato al campo sia quello del
campo_2 della tabella ma visualizzare a video il contenuto del campo_1
Me!MiaCombo.BoundColumn = 2
Post by Davide D'Amico
3) Fare in modo che non posso inserire valori non presenti in elenco.
Nel tuo esempio non è necessario com'è così in automatico se
la colonna associata non è la prima. Altrimenti il codice sarebbe:

Me!MiaCombo.LimitToList = True
Post by Davide D'Amico
So che da struttura maschera ci vuole un secondo a fare cio'. Ma io
lo devo fare da VBA dato chesto lavorando con una maschera "non
associata" ad alcuna tabella.
Il codice completto è p.e.:

Me!MiaCombo.ColumnCount = 2
Me!MiaCombo.ColumnWidths = "2 cm; 1 cm"
Me!MiaCombo.BoundColumn = 2
Me!MiaCombo.LimitToList = True
Me!MiaCombo.RowSource = "SELECT Campo1, Campo2 FROM MiaTabella"

Se fai clic in una proprietà della combo e premi <F1> puoi leggere
più informazioni.
--
HTH
Karl
*********
Access FAQ: www.donkarl.com/it
Davide D'Amico
2009-05-22 15:56:46 UTC
Permalink
Post by Karl Donaubauer
Me!MiaCombo.RowSource = "MiaTabella"
Straordinario!
Mi dici anche perche' non mi funziona
campo.ColumnWidths = "6 cm"

La larghezza della colonna e' sempre quella standard
Karl Donaubauer
2009-05-22 16:10:32 UTC
Permalink
Post by Davide D'Amico
...
Mi dici anche perche' non mi funziona
campo.ColumnWidths = "6 cm"
La larghezza della colonna e' sempre quella standard
Forse la combo ha < 6 cm e la proprietà "Larghezza elenco"
è impostata a "automatica". In questo caso puoi aggiungere:

Me!MiaCombo.ListWidth = 3402

Dove 3402 vuol dire 6 cm (6 * 567 Twips).
--
HTH
Karl
*********
Access FAQ: www.donkarl.com/it
Davide D'Amico
2009-05-22 16:59:58 UTC
Permalink
Post by Karl Donaubauer
Dove 3402 vuol dire 6 cm (6 * 567 Twips).
Grazie 10000000
Siete tutti gentilissimi e preparatissimi!

Loading...