Discussione:
casella di riepilogo e VBA
(troppo vecchio per rispondere)
rick
2004-10-08 12:25:23 UTC
Permalink
ho una casella di riepilogo (selezione multipla) che visualizza 2 colonne
da una query. come faccio a creare una procedura VBA che mi catturi in una
stringa i valori che ho selezionato nella casella? ho provato con un ciclo
for each..next ma non riesco a catturare i valori di entrambe le colonne.

Ho visto sulla guida la proprietà Column ma non sono riuscito a capire
come applicarla.

Grazie a tutti.

Rick
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad ***@newsland.it
Zawy
2004-10-08 13:10:26 UTC
Permalink
Post by rick
ho una casella di riepilogo (selezione multipla) che visualizza 2 colonne
da una query. come faccio a creare una procedura VBA che mi catturi in una
stringa i valori che ho selezionato nella casella? ho provato con un ciclo
for each..next ma non riesco a catturare i valori di entrambe le colonne.
Ho visto sulla guida la proprietà Column ma non sono riuscito a capire
come applicarla.
Grazie a tutti.
Rick
--
questo articolo e` stato inviato via web dal servizio gratuito
Dim ctrl As Control
Dim arVoci() As String
Dim idx As Long
Dim nvoci As Long
Dim dataTemp As Variant

Set ctrl = Me.ElencoVoci ' Associa la variabile ctrl alla casella di
riepilogo che si chiama ElencoVoci
nvoci = ctrl.ItemsSelected.Count ' Rileva il numero delle voci selezionate
ReDim arVoci(nvoci) ' Ridimensiona l'array che le conterrà
For Each dataTemp In ctrl.ItemsSelected ' Carica l'array con i valori
contenuti nella casella di riepilogo
idx = idx + 1
arVoci(idx) = CStr(ctrl.ItemData(dataTemp))
Next dataTemp

HTH
Marco (Zawy)
Roberto dalla campagna
2004-10-08 13:31:37 UTC
Permalink
Post by rick
ho una casella di riepilogo (selezione multipla) che visualizza 2 colonne
da una query. come faccio a creare una procedura VBA che mi catturi in una
stringa i valori che ho selezionato nella casella? ho provato con un ciclo
for each..next ma non riesco a catturare i valori di entrambe le colonne.
Ho visto sulla guida la proprietà Column ma non sono riuscito a capire
come applicarla.
Se la casella di riepilogo si chiama Elenco.
Se i valori della prima colonna li vuoi memorizzare in una variabile stringa
chiamata strListaColonna1 scanditi da una virgola.
Se i valori della seconda colonna li vuoi memorizzare in una variabile
stringa chiamata strListaColonna2 scanditi da una virgola.

Prova così:

Dim strListaColonna1 As String
Dim strListaColonna2 As String
Dim varItem As Variant
If Me!Elenco.ItemsSelected.Count = 0 Then Exit Sub
'Cicla nell'insieme delle voci selezionate
For Each varItem In Me!Elenco.ItemsSelected
'Cattura la colonna IDSocietà di ciascuna
'voce selezionata
strListaColonna1 = strLista & _
Me!Elenco.Column(0, varItem) & ","
strListaColonna2 = strListaColonna2 & _
Me!Elenco.Column(1, varItem) & ","
Next varItem
strListaColonna1 = Left$(strListaColonna1 , Len(strListaColonna1 ) - 1)
strListaColonna2 = Left$(strListaColonna2 , Len(strListaColonna2 ) - 2)
'Deseleziona tutte le righe della casella di riepilogo
Dim Cont As Integer
For Cont = 0 To Me!Elenco.ListCount - 1
Me!Elenco.Selected(Cont) = False
Next Cont
Post by rick
Grazie a tutti.
Rick
--
Roberto

---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------
Loading...