Newsgroup: it.comp.appl.access
Titolo: impedire evento dblclick

Come posso impedire l'evento dblclick in una combobox se il testo digitato
non è presente nell'elenco sottostante?
Premetto che con l'evento not in list non sono riuscito nell'intento perchè
l'evento dblclick è lo precede comunque.
Soluzioni possibili?

 ha scritto nel messaggio
news:%O3H9.51357$3l.14...@twister1.libero.it...

Non mettere la tua funzione sul doppioclic ma usa un pulsante dopo la scelta
del valore nella combo.
Antonio

 ha scritto nel messaggio
news:%O3H9.51357$3l.14...@twister1.libero.it...

Se la casella combinata si chiama CasellaCombinata0.
Se l'origine riga della casella combinata ha una struttura simile a questa:
SELECT DISTINCTROW [Tabella1].[Pippo] FROM [Tabella1];
A fronte dell'evento "Su doppio clic" della casella di testo, prima del
codice che già hai generato per tale evento, scrivi:
Private Sub CasellaCombinata0_DblClick(Cancel As Integer)
If DCount("*", "Tabella1", "Pippo=" & _
Chr$(34) & Me!CasellaCombinata0.Text & _
Chr$(34)) = 0 Then
    Exit Sub
End If
' qui scrivi il resto del codice preesistente
End Sub

 ha scritto nel messaggio
news:9o4H9.51484$3l.14...@twister1.libero.it...

Grazie per la tua soluzione.
Il concetto è chiaro: se nel campo della tabella non trovi nessun valore
corrispondente al controllo... exit sub.
Ahimè, quando eseguo la routine mi restituisce Errore tipo di dati non
corrispondenti nell'espressione criterio.
Questa è l'origine controllo:
SELECT Ufficio.iduff, Ufficio.denom_uff FROM Ufficio ORDER BY
Ufficio.denom_uff;
Questa è la sub:
Private Sub CasellaCombinata35_DblClick(Cancel As Integer)
If DCount("*", "Ufficio", "iduff=" & _
Chr$(34) & Me!CasellaCombinata35.Text & _
Chr$(34)) = 0 Then
    Exit Sub
End If
Ho fatto vari tentativi per trovare l'inghippo ma non ne sono venuto a capo.
Grazie
P.S.: Grazie ad Antonio per avermi ricordato che spesso le risposte possono
essere molto più semplici delle domande.

 ha scritto nel messaggio
news:LI5H9.51821$3l.14...@twister1.libero.it...

E no, se la casella combinata ha due colonne di cui visibile solo la
seconda, prova così:
Private Sub CasellaCombinata35_DblClick(Cancel As Integer)
If DCount("*", "Ufficio", "denom_uff=" & _
Chr$(34) & Me!CasellaCombinata35.Text & _
Chr$(34)) = 0 Then
    'Exit Sub
End If
Se la Colonna associata della casella combinata è 1, visto che la prima
colonna della casella combinata non è visibile, Access ti forza a Si la
proprietà "Solo in elenco" della combo. Per non ricevere da Access un errore
quando digiti qualcosa che non è in elenco nella casella combinata (il caso
che stiamo appunto discutendo), a fronte dell'evento "Su non in elenco"
genera il seguente codice VBA:
Private Sub CasellaCombinata35_NotInList(NewData As String, Response As
Integer)
Response = acDataErrContinue
End Sub
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 End If
Grazie Roberto.
Non immaginavo che la DCount non potesse "vedere" le colonne nascoste.
Ora č perfetta!
Infine, per evitare che venga bloccato l'evento dblclick mentre il controllo
č ancora vuoto ho risolto cosě:
If Not IsNull(Me.CasellaCombinata35) Then
If DCount("*", "Ufficio", "denom_uff=" & _
Chr$(34) & Me!CasellaCombinata35.Text & _
Chr$(34)) = 0 Then
    Exit Sub
End If
End If
Non so se avrei potuto fare meglio, ma comunque funziona.
Grazie