Newsgroup: it.comp.appl.access
Titolo: controllare se ho cliccato al click

Dentro al codice del click su una casella combinata
devo inserire del codice che controlla se appunto ho cliccato
(per favore non sghignazzare, ma proseguire nella lettura)
questo perché se clicco anche su un'altra casella di testo qualsiasi e
quindi
non sulla cascombinata mi esegue il codice A
(basta che nello spazio a fianco del pulsantino dell'elenco
si trovi un nome dell'elnco appena digitato)
nel funzionamento regolare io appro l'elenco e CLICCO su tale nome
n.b. non devo usare screen.activecontrol
Private sub casellacombinataA_click
'codice A
msgbox 
screen.activecontrol.name
casTesto0=me.cascombinata
end sub
ho tale codice A e mi parte sia che clicco sulla casella
combinata sia che clicco su un testo1 o altro testo
il bello è che 
screen.activecontrol.name
 dà sempre
cascombinataA
quindi devo trovare del codice che mi dice su quale controllo
ho fatto click
n.b. non deve verificare con activecontrol bensì con
qualcosa tipo me.nomecontrollo.click=true then
cioè una verifica di dove ho eseguito l'ultimo click
-------------------------------------------------------------------------------------------
se non è chiaro il problema riporto una spiegazione precedente
altrmenti saltare a più sotto
il codice è su casellacombinata click
un uso normale prevede i seguenti passi
1 digiti un nome o le sue iniziali
2 la cas combinata ti fa vedere man mano i nomi che corrispondono
alle prime lettere digitate e si apre l'elenco
3 tu con il mouse vai sopra all voce che ti interessa dell'elenco e fai
click
4 al click il codice appuntoi su cascombinata_click mi mette il valore
in una
casella di testo
5 ecco se ora io decido di rinunciare a fare click e a posizionare il
mio mouse
su un altro controllo e quindi rimane nella cas combinata la parola da
me
digitata lui comunque te la inserisce dentro la casella di testo
e risotlineo io non ho fatto click sulla cas combinata ma ho solo
cambiato
controllo  cioè se digiti una parola sei fottuto se cambi controllo lui
inserisce
il bello è che se tu cancelli tale parola lui ti inserisce anche il null
provare per credere
'-----------------------------------------------------------------------------
inoltre per Onda Max il suggerimento che mi hai postato
non funziona (spero di averlo scritto esattamente come da te suggerito)
1) perché inserisce "" solo per il primo elemento per gli altri non
varia nulla
praticamente per il primo elemento della lista non inserisce
né se clicco sulla cascombinata né se un altro controllo
e per il resto non camnbia nulla
2) comunque se non decido di cliccare non voglio comunque inserire
neanche
la stringa di lughezza"" zero (in caso di funzionamento del codice)
perché mi troverei
dei record vuoti in una mia tabella
Devo cercare di risolvere con altra strada
codice:
Dim cont As String
Dim i
cont = "no"
For i = 1 To Me.Cas0.ListCount - 1
        If Me.Cas0.ItemData(i) = Me.Cas0 Then
           cont = "si"
           Exit For
        End If
Next i
If cont = "si" Then
      Me.Testo0 = Me.Cas0
      Else
      Me.Testo0 = ""
End If

 ha scritto nel messaggio
news:3C72F6E5...@lycos.it...

Domanda: ma l'evento click dei controlli li fai puntare tutti alla stessa
funzione?
il metodo ActiveControl dovrebbe ritonare il controllo che ha ricevuto il
click. o sbaglio.

 click. o sbaglio.
nel caso specifico sembra esserci una anomalia come sopra specificato
cioè tu hai deciso di passare ad una ltro controllo, bene io ti eseguo
il codice dentro al click anche se non hai cliccato, però quando inizio
ad eseguirlo tengo la casella ancora attiva, eseguo e poi mi metto il focus dove
hai cliccato