Spostamento focus su maschera a spostamento

di il
8 risposte

Spostamento focus su maschera a spostamento

Buonasera. Ho creato la maschera principale che si chiama Avvio con spostamento schede orizzontali su due livelli orizzontali e verticali a sinistra.
Attualemente la maschera ha un pulsante orizzontale e uno verticale.
Qullo orizzontale apre una maschera chiamata A0000_inserimento dati materiali
Quello verticale apre una maschera chiamata A0030_modifica_materiale
Supponiamo di essere sulla maschera A0030_modifica_materiale. Se per caso si preme il pulsante orizzontale che quindi mi riporta il focus sulla maschera A0000_inserimento dati materiali prima di avere terminato le operazioni all'interno della maschera A0030_modifica_materiale il programma si blocca.
In un primo momento avevo risolto abilitando e disabilitando i due pulsanti a seconda delle necessità, ma poi ho riflettuto che questo metodo non sarà fattibile in futuro quando le maschere saranno molteplici.
Allora ho provato ad intercettare l'errore in questo modo: sull'evento unload della maschera A0030_modifica_materiale ho inserito questo codice in VAB


Private Sub Form_Unload(Cancel As Integer)
If IsNull(Form_A0030_Modifica_materiale!Combo_sottoclasse_modifica) = False Then

   MsgBox "procedura di uscita non corretta. Premi il tasto Aggiorna", 48, "Messaggio"
   Forms!A0030_Modifica_materiale.SetFocus
   Forms!A0030_Modifica_materiale!Combo_sottoclasse_modifica.SetFocus

 
End If
End Sub
con l'intento di intercettare la chiusura e riportare il focus sulla maschera A0030_modifica_materiale.

Ma non ci sono riuscito.
Il codice è corretto ma il focus viene spostato sull'altra maschera.
Mi potete dare una mano?

8 Risposte

  • Re: Spostamento focus su maschera a spostamento

    La butto li
    impostare le maschere A0000 e A0030 tipo popup e scelta obbligatoria in modo che fin che non finisci l'inserimento e la chiudi non puoi passare il focus altrove
  • Re: Spostamento focus su maschera a spostamento

    Grazie per la risposta ma non sembra funzionare.
    Ho provato ad inserire si al menu pop up,e su scelta obbligataalla maschera ma quando viene inserita nella maschera di spostamento a due livelli a pulsanti uno orizzontale e uno verticale il pop up non funziona.
    Mi spiego meglio nella maschera A0030 ho inserito sia il pop up che il "SI" su scelta obbligata così come suggeritomi. Ho chiuso e riaperto access e sono partito con la maschera Avvio (che è quella di spostamento a due livelli a pulsanti uno orizzontale e uno verticale), ma non è cambiato nulla. Do' il focus alla maschera A0030, poi premendo il pulsante orizzontale mi cambia la maschera lo stesso.
  • Re: Spostamento focus su maschera a spostamento

    Scusa ma sinceramente non riesco a capire cosa sia la

    tatixtatix6 ha scritto:


    maschera di spostamento a due livelli a pulsanti uno orizzontale e uno verticale
    nel mio applicativo quando apro una maschera con pop up e a scelta obbligatoria settati a SI, fin che non la chiudo non posso spostare il focus altrove
  • Re: Spostamento focus su maschera a spostamento

    La maschera a spostamento su due livelli si crea così:
    crea maschera--> spostamento--> schede orizzontali e verticali a sinistra

    Quando nei pulsanti inserisco la maschera A0030 non funziona più il pop up e la scelta obbligatoria
  • Re: Spostamento focus su maschera a spostamento

    Lascio a chi ne sa più di me sulle maschere a spostamento, non le ho mai utilizzate e non ho capito la funzione
  • Re: Spostamento focus su maschera a spostamento

    Anch'io non conosco le maschere a spostamento. A naso mi sento di dire che le 2 maschere che apri (quasi) in contemporanea (suppongo) hanno dati in comune che da qualche parte vanno "aggiornati" (penso a un Requery). Però occorre conoscere tutti i campi. Stai attento a non mettere troppa carne sul fuoco con questi passaggi che hai raccontato...in linea generale non è conveniente avere troppe maschere aperte in contemporanea. Mi riferisco soprattutto a

    tatixtatix6 ha scritto:


    Supponiamo di essere sulla maschera A0030_modifica_materiale. Se per caso si preme il pulsante orizzontale che quindi mi riporta il focus sulla maschera A0000_inserimento dati materiali prima di avere terminato le operazioni all'interno della maschera A0030_modifica_materiale il programma si blocca.
    dove il pulsante orizzontale si trova sulla maschera Avvio...
  • Re: Spostamento focus su maschera a spostamento

    Grazie Osvaldo,
    la maschera a spostamento su due livelli uno orizzontali e uno verticali ha il vantaggio che ogni pulsante orizzontale controlla quelli verticali. Mi spiego: quando definisci un pulsante orizzontale puoi aggiungere i pulsanti verticali che sono figli di quel pulsante orizzontale. Quando aggiungi un altro pulsante orizzontale, i verticali che avevi prima definito spariscono e ne puoi aprire dei nuovi.
    In altre parole ogni pulsante orizzontale è il padre che a propria volta può avere dei figli che sono pulsanti verticali.
    Questo può essere visto come una sorta di menu, dove il titolo è il pulsante orizzontale e i pulsanti verticali sono le attività.
    Però tutto sommato per risolvere il mio problema, se non riesco a trovare altro, disattiverò e riattiverò tutti i pulsanti orizzontali. Non credo però sia la strada migliore.
    Probabilmente quando avrò studiato i ribbon tornerò indietro sulle mie scelte.
    Io sceglierei questa strada per avere già il menu fatto, una volta creata la maschera la devi solo abbinare ai pulsanti.
    Anche la modalità dei database delle banche sono in parte fatte così, con una serie di pulsanti orizzontali e una serie di pulsanti verticali, come la Fineco ad esempio.
    Le maschere poi le apre Access, anzi credo che le abbia sempre aperte, non si deve chiudere o aprire nulla. Era proprio questo che volevo capire se c'era possibilità di chiuderle o riaprire. Quando all'interno di una maschera a spostamento su due livelli inserisci un codice per aprire una maschera che è associata al pulsante, Access ti apre la maschera ma fuori dal menu.
    Ritengo che i pregi siano superiori ai difetti. Quindi, allo stato attuale delle mie, misere, conoscenze ritengo che per aprire la maschera all'interno della maschera a spostamento si può fare solo con l'evento click della maschera stessa. Sono sempre alla ricerca delle istruzioni in vba per gestirle.
  • Re: Spostamento focus su maschera a spostamento

    tatixtatix6 ha scritto:


    la maschera a spostamento su due livelli uno orizzontali e uno verticali ha il vantaggio che ogni pulsante orizzontale controlla quelli verticali. Mi spiego: quando definisci un pulsante orizzontale puoi aggiungere i pulsanti verticali che sono figli di quel pulsante orizzontale. Quando aggiungi un altro pulsante orizzontale, i verticali che avevi prima definito spariscono e ne puoi aprire dei nuovi.
    In altre parole ogni pulsante orizzontale è il padre che a propria volta può avere dei figli che sono pulsanti verticali.
    Troppo caos.
Devi accedere o registrarti per scrivere nel forum
8 risposte