Ordinamento di un sottoreport

di il
4 risposte

Ordinamento di un sottoreport

Ciao,
cercherò di esporre il problema che mi si è presentato davanti e che non riesco a risolvere, in quanto il comando
Me.OrderBy = ...
non funziona.

Ho una maschera M1, gestita dalla Query Q1, che al suo interno ha una sottomaschera M2, gestita dalla query Q2.
In M1 ho un pulsante Stampa per stampare ciò che è presente in M2. Inoltre, in M1 è presente un gruppo di opzioni per la selezione del modo in cui ordinare i dati in M2 durante la stampa (es. per Cognome, Nome o Matricola).

Quando premo il pulsante stampa si apre il report R1 che contiene i dati provenienti da M1. In R1 è presente un sottoreport R2 in cui sono presenti i dati di M2.

Per quanto riguarda l'ordinamento ho creato il seguente codice:
If Me.GruppoOpzioni.Value = 1 Then
                  Me.OrderBy = "Nome"
         else
               if me.GruppoOpzioni.Value = 2 Then
                        Me.OrderBy = "Cognome"
               else
                     if Me.GruppoOpzioni.Value = 3 Then
                              Me.OrderBy = "Matricola"
                     End If
               End If
          End If

          Me.OrderByOn = True
Questo codice l'ho messo in tutti gli eventi possibili del sottoreport R2, ma l'ordinamento non cambia. Nella Query di popolamento non ho la clausola Order By.

Qualcuno ha qualche idea di come posso risolvere la situazione?

Grazie!!!

4 Risposte

  • Re: Ordinamento di un sottoreport

    Se sono attivi dei Raggruppamenti, le istruzioni di OrderBy non hanno effetto...
  • Re: Ordinamento di un sottoreport

    No, non sono attivi raggruppamenti. Non li uso mai.
    Cos'altro può essere?
  • Re: Ordinamento di un sottoreport

    Hai provato a mettere nell'evento "su corrente" della sottomaschera, giusto per testare il codice,
    Me.Orderby = "Cognome"
    Me.Orderbyon = true
    Io ho provato con una sottomaschera con origine dati sia da tabella che da query e funziona.
    Quel codice che hai postato mi puzza un po, controlla bene il nome del gruppo opzioni ( ma dove sta, sulla maschera o sulla sottomaschera?) e fai una cosa un po piu fine del tipo
    Select case Me.GruppoOpzioni.Value 
    Case 1
    Me.OrderBy = "Nome"
    Case 2
    Me.OrderBy = "Cognome"
    .
    .
    .
    End select
    me.orderbyon = true
    
    e poi per me sull'evento "dopo aggiornamento" del gruppo opzioni andrebbe fatto un requery sulla sottomaschera (spero di non aver detto una castronata, sono a casa ma non posso provare il codice
    
  • Re: Ordinamento di un sottoreport

    Prova ad aggiungere questo:
    
    Me.Orderbyon = False
    Me.Orderby = "Cognome"
    Me.Orderbyon = true
Devi accedere o registrarti per scrivere nel forum
4 risposte