CISA FotoGallery

Statistiche

Tot. visite contenuti : 928237
Home Articoli tecnici Reports Ordinare in VBA un sottoreport

Ordinare in VBA un sottoreport

E' risaputo che in VBA non possiamo ordinare un sottoreport perchè non abbiamo gli strumenti e sappiamo che a differenza delle sottomaschere cambiare il recordsource non ha alcun effetto sul report o sottoreport.
Ci sono però diversi workaround, tra cui cambiare il sourceobject dell'oggetto contenitore del sottoreport, ma ciò significherebbe avere n sottoreport per i n campi in cui vogliamo ordinare il corpo dei controlli. Soluzione ad onor del vero poco elegante.
Un altro workaround è quello di crearsi un raggruppamento dummy nel corpo del report (ricordiamo infatti che il raggruppamento è anche ordinamento) e contiamo sul fatto che in VBA possiamo gestirlo.

Ci basterà quindi nell'evento open del sottoreport inserire il seguente codice


Me.GroupLevel(0).ControlSource = "MioCampo"
Select Case Forms!frmRicevute!cornOrdinamento
Case 1
Me.GroupLevel(1).ControlSource = "pippo"
Case 2
Me.GroupLevel(1).ControlSource = "pluto"
Case 3
Me.GroupLevel(1).ControlSource = "paperino"
End Select