Maschera di spostamento con pulsanti orizzontali e verticali - problemi focus - Access

Anonimo
2021-10-07T12:44:56+00:00

Non riesco a riportare il focus sulla maschera del pulsante di sinistra in VBA per Access.

Mi spiego meglio ho una maschera a spostamento orizzontale e verticale a sinistra che si chiama Avvio. E due maschere all’interno: la prima si chiama A_0000_inserimento_dati_materiale, la seconda  A0030_Modifica_materiale

A loro volta queste due maschere hanno ciascuna una sottomaschera.

Il pulsante orizzontale della maschera Avvio è collegato alla maschera  A_0000_inserimento_dati_materiale, mentre il pulsante verticale è collegato alla maschera A0030_Modifica_materiale

Mentre sono all’interno della A0030_Modifica_materiale, se  per errore si preme il pulsante orizzontale, Access cambia maschera e apre quella relativa al pulsante orizzontale, anche se si devono fare delle operazioni all’interno della maschera A0030_Modifica_ materiale.

Volendo intercettare l'errore sull'evento unload della maschera A0030_Modifica_materiale ho inserito il seguente codice per riportare il focus sulla maschera A0030_Modifica_materiale:

Forms!Avvio.SetFocus

Forms!Avvio![sottomaschera A0030_Modifica_materiale].SetFocus

ma sulla seconda riga ottengo errore run time2465. Impossibile trovare il campo sottomaschera A0030_Modifica_materiale.

Non riesco a superare questo scoglio.

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

4 risposte

Ordina per: Più utili
  1. Anonimo
    2021-10-11T06:01:24+00:00

    Grazie per la tua risposta.

    Vorrei tornare al quesito iniziale: come dare il focus alla maschera che ha un evento di unload, dove questa maschera è inserita in una maschera di spostamento su due livelli uno orizzontale e uno verticale

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2021-10-10T09:12:41+00:00

    Come ti ho già detto per l'inserimento, la modifica, l'eliminazione di dati di record basta un'unica maschera che come Origine dati deve essere associata alla relativa tabella.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2021-10-09T18:27:08+00:00

    Scusa ne ho due in quanto una maschera è per l'immissione dati, l'altra è per la modifica.

    Posso anche fare due pulsanti verticali una per l'immissione e uno per la modifica, e utilizzare il pulsante orizzontale come indice. Ma comunque il problema resta. Quando avro' tutti i pulsanti orizzontali definiti, e ognuno a sua volta controllerà, una serie di quelli verticali, secondo il funzionamento delle maschere di spostamento a due colonne una orizzontale e una verticale, dovrò controllare l'uscita della maschera per verificare che i dati inseriti siano corretti. Il punto è che la maschera a due livelli apre più possibilità.

    Sino ad ora avevo una maschera menu che faceva questo: ogni volta che uscivo da una maschera tornavo alla maschera menu e quindi problemi non c'erano.

    La maschera a due livelli mi permette di risparmiare spazio e pertanto, ritengo interessante approfondire il funzionamento.

    Il punto è che non posso disabilitare tutti i pulsanti orizzontali fin quando sono dentro una maschera, devo riuscire ad intercettare l'eventuale errore sulla perdita del focus della maschera.

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2021-10-09T17:16:26+00:00

    Ti conviene rifare tutto in quanto, normalmente, non si usano due maschere per gestire i dati di una stessa tabella.

    La risposta è stata utile?

    0 commenti Nessun commento