Salve a tutti ritorno con una domanda semplice (credo), ma sottile.
Ho una maschera singola “Mezzi” la quale in sola lettura mi permette di scorrerre tutti i mezzi a disposizione. Per passare da un mezzo all'altro è presente una casella combinata. All'evento Dopo aggiornamento di questa casella combinata è presente il seguente codice:
Private Sub cboRicerca_AfterUpdate()
On Error GoTo cboRicerca_AfterUpdate_Err
DoCmd.SearchForRecord , "", acFirst, "[Mezzo] = " & "'" & Screen.ActiveControl & "'"
cboRicerca_AfterUpdate_Exit:
Exit Sub
cboRicerca_AfterUpdate_Err:
MsgBox Error$
Resume cboRicerca_AfterUpdate_Exit
End Sub
Supponiamo che per motivi che non sto qui a dire, la maschera si apra filtrata, cioè clicco su un qualcosa e la maschera si apra filtrata ad un particolare mezzo. Dunque è presente un filtro e la casella combinata non funziona se non disattivo quest'ultimo. Allora opto per il solito
If Me.FilterOn=True Then
Me.FilterOn=False
End If
Ho inserito questo codice nell'evento click e nell' evento su pulsante mouse giù ma nessuna di queste soluzioni mi soddisfa.
Ecco cosa vorrei.
Siamo alla maschera filtrata, allora clicco sulla casella combinata ed appare l'elenco dei mezzi, quando clicco sul mezzo scelto il filtro si disattiva e la maschera va a quel record.
Nelle soluzioni che vi ho elencato sopra il filtro viene si disattivato, ma in un caso devo cliccare sulla freccia giù due volte in un altro caso solo una volta, ma in entrambi i casi la maschera ritorna sempre al primo record e dunque devo fare due volte la stessa scelta.
Anche se la maschera è il sola lettura la casella combinata funziona inserendo sull'evento Su attivato il solito
Private Sub cboRicerca_GotFocus()
Me.AllowEdits = True
End Sub
Come mi suggerite di procere? Grazie