Setfocus su maschera in modalità Foglio dati

di Anonimizzato11465 il
3 risposte
Clickando su di un campo di una sottomaschera in modalità foglio dati posso poi spostarmi con le frecce tra le varie celle.

Se invece, anzichè clickarci sopra, forzo il focus con la seguente istruzione:
Forms![110_Scheda_Cliente]![SM_Contratti].Form![Servizio].SetFocus
Pur evidenziando il campo indicato, quando utilizzo le frecce mi naviga tra i record anzichè muoversi nella griglia.

E' possibile risolvere questo problemino in qualche modo ?

grazie.

3 Risposte

  • La sintassi che usi è corretta, ne è palese l'utilizzo anche nella guida MS:


    Il comportamento che denunci sembrerebbe essere riconducibile ad un Bug, e solitamente si cerca un workaround in questi casi...

    Non saprei cosa suggerire, proverei prima a spostare il Focus sulla SubForm e poi sul controllo...!
    Magari una cosa simile:
    
    DoCmd.SelectObject acForm, Forms![110_Scheda_Cliente]![SM_Contratti].Name, True
    Forms![110_Scheda_Cliente]![SM_Contratti].Form![Servizio].SetFocus
    se il codice lo scrivi nella MainForm anche così
    
    DoCmd.SelectObject acForm,Me![SM_Contratti].Name, True
    Me![SM_Contratti].Form![Servizio].SetFocus
    oppure
    
    DoCmd.SelectObject acForm, Me![SM_Contratti].Name
    DoCmd.GoToControl Me![SM_Contratti]![Servizio]
    Sono tentativi chiaramente, in teoria sintatticamente corretti, ma non è detto diano il risultato atteso...

    Facci sapere.
  • Purtroppo non funziona nessuna delle tre possibilità.

    Nelle prime due mi sposta il focus sull'oggetto presente nel riquadro di spostamento a sinistra ...

    La terza mi dice che l'oggetto non è aperto.

    Possibile che non si riesca a far funzionare una cosa così banale ?

    grazie.
  • Chiedo scusa, utilizzando le seguenti istruzioni (come da articolo Microsoft segnalato):

    Me![SM_Contratti].SetFocus
    Me![SM_Contratti].Form![Servizio].SetFocus

    funziona correttamente

    Grazie per l'aiuto.
Devi accedere o registrarti per scrivere nel forum
3 risposte