[RISOLTO] Scroll con la rotellina di un report contenuto in un form

di il
17 risposte

17 Risposte - Pagina 2

  • Re: [RISOLTO] Scroll con la rotellina di un report contenuto in un form

    Ciao willy55,
    grazie per la risposta.

    Si, ho valutato attentamente.

    La motivazione principale è che i forms continui non posso contenere altri form continui, o almeno lo consentono solo in modalità foglio dati.
    Però, come si evince dall'immagine postata, il form continuo "padre" deve essere gestito in modalità diciamo più grafica, perchè è una necessità del cliente. La descrizione che si vede su due righe, può essere una descrizione molto lunga e formattata RTF.

    Mi permetto di dissentire sul fatto che il report sia pensato per interfacciarsi solo alla stampante, perchè di fatto prima di tutto è un form che non consente modifiche.
    Tant'è che nel report esiste un evento che si chiama "Report_MouseWheel(ByVal Page As Boolean, ByVal Count As Long)".
    Per questo evento Microsoft per Access2007 e 2010.
    https://docs.microsoft.com/it-it/office/troubleshoot/access/scroll-records-with-mouse-wheel
    In effetti questo evento consente lo scorrimento del report nel form, anche se qualche problema rimane, soprattutto quando si arriva in fondo alla pagina.

    Io ringrazio chiunque è intervenuto. Però non cerco una soluzione alternativa su come costruire l'applicazione, che è già complessa di suo, ma sul perchè la rotellina funziona male e cosa posso fare per farla funzionare al meglio.

    Grazie
    Ciao
  • Re: [RISOLTO] Scroll con la rotellina di un report contenuto in un form

    L'impiego dello scrolling tramite rotellina del mouse, per spostarsi nei record di una maschera, è stato disabilitato (come riportato nel documento da te citato) ma esiste (nella maschera) l'evento "Su rotellina mouse" (Form.MouseWheel) il quale permette di implementare il movimento fra i record (come nelle versioni di Access del passato).


    Ad esempio già con un codice similare si è in grado di ottenere, nella maschera, lo spostamento fra record (avanti ed indietro):
    
    Private Sub Form_MouseWheel(ByVal Page As Boolean, ByVal Count As Long)
    
    If Not Me.Dirty Then
        If (Count < 0) And (Me.CurrentRecord > 1) Then
            DoCmd.GoToRecord , , acPrevious ' Record precedente
        ElseIf (Count > 0) And (Me.CurrentRecord <= Me.Recordset.RecordCount) Then
            DoCmd.GoToRecord , , acNext ' Record successivo
        End If
    Else
        MsgBox "Il record è variato. Salvare il record corrente prima di muoversi su altro record."
    End If
    
    End Sub
    
    Inoltre nel web puoi leggere della documentazione esplicativa sull'argomento:
    http://allenbrowne.com/ser-70.htm
    https://www.devhut.net/2014/01/22/ms-access-enable-mouse-wheel-scrolling-of-text-box/

    https://www.access-programmers.co.uk/forums/threads/mouse-wheel-scroll-through-records-not-working.295321/

    In merito alle motivazioni addotte, evidenzio che una maschera continua può avere delle sotto-maschere anche esse nella modalità continua e con la soluzione sopraindicata avviene lo spostamento fra i record della prima ed anche della seconda (con le proprie funzionalità, quando selezionata) sfruttando esclusivamente la rotellina del mouse.
  • Re: [RISOLTO] Scroll con la rotellina di un report contenuto in un form

    Grazie Willy,

    il codice che hai pubblicato è quello che sto ho già utilizzandolo nell'evento "Report_MouseWheel" del REPORT ed eliminando
    And (Me.CurrentRecord <= Me.Recordset.RecordCount)
    .
    Però il codice così com'è non funziona comunque bene, perchè il piede del mio report ha un'altezza notevole. Se il corpo non è visibile nel form, la rotellina non funziona.
    Comunque ho risolto, mettendo il contenuto del piede nel corpo, visto che i dettagli nel corpo sono tutti sottoreport.
    Ora scorro dall'alto al basso e viceversa senza problemi.

    Le sottomaschere in modalità continua funzionano solo se in visualizzazione "Foglio dati". Purtroppo per esigenze particolari non posso usare tale visualizzazione.
    Se sviluppo un'applicazione in Access e tale ambiente mi pone delle limitazioni, devo aggirare il problema.
    Uso Access da vent'anni, ammetto di non sono esperto come voi, ma l'unica soluzione che mi ha concesso Access per soddisfare l'esigenza di un riepilogo è form/sottoreport.
    Ovvio che se avessi sviluppato l'applicazione in un altro ambiente non avrei avuto questi problemi. Ma l'applicazione esistente l'avevo già sviluppata in Access qualche anno fa e quindi lì dovevo rimanere.

    Grazie
    Ciao
Devi accedere o registrarti per scrivere nel forum
17 risposte