Buongiorno a tutti!
Il mio problema nasce dalla necessità di far scegliere all'utente il campo in base al quale saranno ordinati i record di un report.
Premendo il pulsante per l'apertura del report, passo un parametro numerico che varia seconda della scelta effettuata dall'utente. E fin qui tutto a posto.
Nell'apertura del record ho provato ad utilizzare diversi metodi per ordinare i record in base al valore passato, ma nessuno sembra funzionare.
Il codice del primo metodo è il seguente (provato su Report_Open, Report_Load, Format, ma sempre non funzionante):
Private Sub Report_Open(Cancel As Integer)
Dim Scelta As Integer
Scelta = Me.OpenArgs
Select Case Scelta
Case 1
Me.OrderBy = "Progressivo"
Me.OrderByOn = True
Case 2
Me.OrderBy = "NumAzienda"
Me.OrderByOn = True
Case 3
Me.OrderBy = "NumCliente"
Me.OrderByOn = True
End Select
End Sub
Questo metodo non funziona in quanto il report si apre ma i record vengono ordinati non in base a criterio scelto, ma in base all'ordine di inserimento in tabella.
L'altro metodo utilizzato è il raggruppamento:
Private Sub Report_Open(Cancel As Integer)
Dim Scelta As Integer
Scelta = Me.OpenArgs
Select Case Scelta
Case 1
Me.GroupLevel(0).ControlSource = "Progressivo"
Me.GroupLevel(0).SortOrder = False
Case 2
Me.GroupLevel(0).ControlSource = "NumAzienda"
Me.GroupLevel(0).SortOrder = False
Case 3
Me.GroupLevel(0).ControlSource = "NumCliente"
Me.GroupLevel(0).SortOrder = False
End Select
End Sub
In questo caso all'apertura del report viene riportato il seguente errore:
Errore di run-time'2464': Nessun campo o espressione di ordinamento o raggruppamento definito per il numero di livello di gruppo utilizzato
In tutti gli esempi che ho visto, il GroupLevel era gestito nello stesso identico modo in cui l'ho gestito io: dove sbaglio?
Ringrazio anticipatamente.