Io Ho una maschera che deve lanciare un report , la particolarità è che
posso avere più ordinamenti , ovvero : se da maschera1 scelgo l'ordinamento
per codice articolo, visualizzo il report1 ordinato per articolo, se scelgo
l'ordinamento per modello articolo, il report1 deve essere ordinato per
modello.
Il corpo del report1 è sempre lo stesso, cambia solo l'ordinamento.
Leggo che si può fare con OrderbyOn e in alcuni esempi vedo l'istruzione
me.orderby ... ecc ... ma dove va fatto ? All'apertura del report ? Creo una
nuova origine dati , sempre sull'evento apertura report ? E dalla maschera
quando faccio il Docmd.openreport che istruzione devo fare ?
scusate ma non ho le idee molto chiare su come gestire un ordinamento report
variabile ...
grazie a tutti
Zorro
--------------------------------
Inviato via http://arianna.libero.it/usenet/
Prova così nel codice della maschera:
DoCmd.OpenReport "Report1", acViewPreview
Reports!Report1.OrderBy = Me.OrderBy
Reports!Report1.OrderByOn = True
--
HTH
Karl
*********
Access FAQ: www.donkarl.com/it
Se ho capito bene basta il codice che ti ho scritto.
Il codice prende l'ordinamento della maschera (Me.OrderBy)
per impostare l'ordinamento del report.
Allora prova il codice e se non funziona riporta l'errore o l'effetto.
No scusa, mi sa che mi sono espresso male, la maschera è semplicemente una
maschera di richiesta parametri, dove c'è una cornice che contiene 3 radio
button che vorrei usare per l'ordinamento del report.
radio1 = articolo , 2=descrizione , 3 = marca articolo
a seconda che l'utente clicca sul gruppo di opzioni , vorrei che il report
mi si ordinasse per il campo scelto.
Ho pensato di fare 3 query, identiche ma ordinte in modo diverso, ma poi
come faccio a dire nel report : guarda che la fonte dati è la query1 ,
piuttosto che le altre ?
Era una possibile idea , ma se c'è qualcosa di meglio ...
ancora grazie mille
Zorro
Se vuoi usare radio buttons sarebbe meglio di usare
un gruppo di opzioni con i tre pulsanti di opzione. Cosě hai
un solo valore da controllare invece di tre. Il codice sarebbe:
Dim strOrderBy as String
Select Case Me!TuoGruppoOpzioni
Case 1
strOrderBy = "articolo"
Case 2
strOrderBy = "descrizione"
Case 3
strOrderBy = "marca articolo"
End Select
DoCmd.OpenReport "Report1", acViewPreview
Reports!Report1.OrderBy = strOrderBy
Reports!Report1.OrderByOn = True
Un altro metodo sarebbe una casella combinata con un
elenco valori: "articolo";"descrizione";"marca articolo"
E poi:
DoCmd.OpenReport "Report1", acViewPreview
Reports!Report1.OrderBy = Me!TuaCasellaCombinata
Reports!Report1.OrderByOn = True
o una casella di riepilogo