Report di Acess con elenco orizzontale

Anonimo
2021-03-17T06:55:58+00:00

Utilizzo Access 2016 per creare dei Report da piccoli elenchi personali.

Data questa tabella

Scuola Classe Allievo
Manzoni A1 Bianchi
Manzoni A1 Neri
Manzoni A1 Rossi
Manzoni A2 Verdi
Manzoni A2 Neri
Deamicis A1 Bianchi
Deamicis A1 Neri
Deamicis A1 Rossi

utilizzano la creazione guidata report ottengo questo report

Manzoni      A1     Bianchi

                             Neri

                             Rossi

                  A2      Verdi

                            Neri         ecc.

Come posso ottenere un report fatto così

Manzoni    A1      Bianchi  Neri    Rossi

                  A2      Verdi    Neri     ecc. ?

Come posso ottenerlo con le composizioni guidate non essendo io in grado di scrivere codice?

Grazie.

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

1 risposta

Ordina per: Più utili
  1. domenico laurenza 9,900 Punti di reputazione Moderatore volontario
    2021-03-17T13:06:55+00:00

    Ciao Leo,

    non credo tu possa risolvere con l'autocomposizione, devi per forza utilizzare del codice. 

    Ad esempio potresti creare una query del seguente tipo:

    SELECT Classi.Scuola, Classi.Classe, Alunno([Scuola],[Classe],1) AS Alunno1, Alunno([Scuola],[Classe],2) AS Alunno2, Alunno([Scuola],[Classe],3) AS Alunno3, Alunno([Scuola],[Classe],4) AS Alunno4, Alunno([Scuola],[Classe],5) AS Alunno5, Alunno([Scuola],[Classe],6) AS Alunno6

    FROM Classi

    GROUP BY Classi.Scuola, Classi.Classe, Alunno([Scuola],[Classe],1), Alunno([Scuola],[Classe],2), Alunno([Scuola],[Classe],3), Alunno([Scuola],[Classe],4), Alunno([Scuola],[Classe],5), Alunno([Scuola],[Classe],6);

    che diviene l'origine dati della report.

    Inoltre avrai anche un modulo del tipo:

    Option Compare Database

    Option Explicit

    Function Alunno(Scuola, Classe, Num)

        Dim myRs As Recordset

        Dim Ind As Integer

        Set myRs = CurrentDb.OpenRecordset("Select * From Classi " & _

                                           "Where Scuola = '" & Scuola & "' And " & _

                                           "Classe = '" & Classe & "' " & _

                                           "Order By Scuola, Classe, Allievo")

        Alunno = ""

        For Ind = 1 To myRs.RecordCount

            If Ind = Num Then

               Alunno = myRs("Allievo")

               GoTo Esci

            Else

               myRs.MoveNext

            End If

            Next

    Esci:

        Set myRs = Nothing

    End Function

    Ciao Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento