Attivazione focus dopo clic icona +/- form/subform datasheet

di il
6 risposte

Attivazione focus dopo clic icona +/- form/subform datasheet

Salve.

Ho un form (datasheet) con due righe, Ogni riga ha un subform e per ogni l'icona "+ - ".

Se clicco su "+ -" di una determinata riga del form padre, si attiva l'evento clic, ma di fatto non sposta il focus e quindi il valore che leggo del campo che ho definitivo chiave, è quello della riga cliccata in precedenza.

Un esempio

NrRiga = 1 ... Codice = AAA

NrRiga = 2 ... Codice = BBB


Verifico il contenuto del Codice per mezzo dell'Istruzione MSGBOX nella sub dell'evento clic.

Se clicco sul "+" di NrRiga 1, si apre il subform corrispondente. Il Codice che viene evidenziato da MSGBOX è AAA, che è corretto.

Se clicco sul "+" di NrRiga 2, si apre il subform corrispondente. Il Codice che viene evidenziato da MSGBOX è ancora AAA e non BBB come mi aspettavo avvenisse.

In pratica pur attivandosi l'evento clic del form, non sposta il focus nella riga "cliccata".
Se clicco sul selettore di record o su un qualsiasi campo della riga viene impostato il focus correttamente.

C'è un evento particolare che si attiva su quell'icona?

Grazie
Ciao

6 Risposte

  • Re: Attivazione focus dopo clic icona +/- form/subform datasheet

    Non sono sicurissimo al 100% di aver capito. Quel + di cui parli è relativo al "foglio dati secondario" e (credo/suppongo) non sia un controllo vero e proprio di maschera, quanto un oggetto insito della tabella sottostante. Per tanto non è prevista alcuna possibilità di applicarci sopra un evento.
  • Re: Attivazione focus dopo clic icona +/- form/subform datasheet

    Si, OsvaldoLaviosa, è quello per aprire il foglio secondario.
    Però l'evento clic si attiva.
    Il problema è il focus.
    Se io clicco sulla seconda riga, l'evento clic viene attivato, ma il focus resta sulla prima riga.
  • Re: Attivazione focus dopo clic icona +/- form/subform datasheet

    Su quale preciso oggetto della maschera hai l'evento "Su clic"?
    Puoi fornire anche più dettagli con nomi propri di maschera, sottomaschera, campi/controlli? Magari anche l'intero codice VBA?
  • Re: Attivazione focus dopo clic icona +/- form/subform datasheet

    La bozza del programma si presenta come la figura in allegato

    Il subform di sinistra contiene i contratti e macroaree prodotti (subform rosa) e le voci (subform verde), mentre il subform di destra contiene i valori di consuntivo relativi alla riga "rosa" selezionata.
    Quando si seleziona la riga rosa, tramite l'evento clic vengono salvati in due campi contenuti nel form principale.
    Sia che clicchi il selettore del record o qualsiasi campo della riga rosa la sub seguente funziona e il subform di destra si aggiorna.
    Private Sub Form_Click()

    Forms!frmConsuntivi!lngIDNrOrd = Me!ID_OrdineCliente
    Forms!frmConsuntivi!lngIdNrOrdPFS = Me!ID_OrdineClienteProdFS
    Forms!frmConsuntivi!Consuntivi.Requery

    End Sub
    Se però clicco sull'icona "+/-" corrispondente alla riga o nello spazio rosa sottostante, la sub Form_Click viene eseguita, ma i valori non sono quelli della riga su cui ho cliccato, ma quelli della riga dove c'è il focus, di conseguenza il subform continua a visualizzare i valori della riga selezionata in precedenza.
    Quindi cliccando sull'icona apre o chiude il corrispondente subform delle voci del contratto, ma non acquisisce il focus.
    Capisco che l'evento è per tutto il form, ma vorrei trovare il modo di cambiare il focus sulla riga selezionata e invece sembra che tra il selettore e la riga lo spazio sia comune e non legato alla riga se non per aprire il corrispondente subform (verde) delle voci.

    Grazie
    Ciao
  • Re: Attivazione focus dopo clic icona +/- form/subform datasheet

    Non riesco a capire tutta la tua logica. Se un utente più esperto di me ha capito, cedo volentieri la palla.
    Premetto che non riesco ad afferrare la logica sottostante le tue tabelle/maschere e qualcosa mi lascia dubbioso se tu stia procedendo correttamente (anche a livello di normalizzazione tabelle). Tralasciando questo (mio) dubbio e ipotizzando che tutto sia a posto, mi sento comunque di suggerire che stai gestendo troppa carne sul fuoco per essere visualizzata comodamente entro lo spazio del monitor a disposizione. Questo significa che, in abbondanza di dati, conviene spezzettare su più maschere (direi) collegate piuttosto che lavorare su maschera/sottomaschera/sotto-sottomaschera/...e ancora più giù.
  • Re: Attivazione focus dopo clic icona +/- form/subform datasheet

    OK, grazie
Devi accedere o registrarti per scrivere nel forum
6 risposte