Newsgroup: it.comp.appl.access
Titolo: ordinamento Report

Salve a tutti,
sono qui, per l'ennesima volta a chiedere aiuto agli esperti...
La mia necessit� � quella di utilizzare un unico report, ma cambiare
l'ordinamento a seconda della selezione (quello che manualmente si fa nella
scelta "ordinamento e raggruppamento").
Per evitare di creare vari report ordinati per campi diversi (data,
progressivo, cliente, interlocutore, articolo etc...)
vorrei ogni volta che si lancia il report, cambiare da Vba, i campi di
ordinamento..
Spero di essermi spiegato.
grazie anticipatamente
GS
Giovanni


Ciao!
 
Nella query origine dati del report inserisci un campo
"ChiaveOrdinamentoReport:[ValoreChiave]"
 
Nello script del pulsante (?) con cui fai partire la stampa metti il
codice che stabilisce quale sia il criterio di ordinamento.
Ad esempio (scritta al volo):
 
private sub LanciaStampa_Click()
 
dim ChiavePerOrdinamento as string
 
select case me.criterioordine
    case me.ordinedata.optionvalue
        ChiavePerOrdinamento="Format([Data],'yyyy-mm-dd')"
    case me.ordineprogressivo.optionvalue
        ChiavePerOrdinamento="Format([Progressivo],'00000000')"
    case me.cliente.optionvalue
        ChiavePerOrdinamento="[Cliente]"
    case me.interlocutore.optionvalue
        ChiavePerOrdinamento="[Interlocutore]"
    case me.articolo .optionvalue
        ChiavePerOrdinamento="[Articolo]"
end sub
 
docmd.openreport "NomeStampa",acViewPreview,,,,replace$
(currentdb.querydefs("QueryReportNomeStampa").sql,"[ValoreChiave]",ChiavePerOrdinamento)
 
Nel report inserisci un controllo "ChiaveOrdinamentoReport" in base al
quale fai l'ordinamento e nell'evento report_open metti
Me.RecordSource = Me.OpenArgs
 
HTH
Popi

"Popi - TheBadHabits"  ha scritto nel messaggio 
news:de421823-6863-431a...@h10g2000yqd.googlegroups.com...

Ciao!


private sub LanciaStampa_Click()
dim ChiavePerOrdinamento as string



HTH
Popi
_________Risposta:
Scusa Popi.
ma cosa c'entra il recordsource con l'ordinamento?
MA

"MA"  ha scritto nel messaggio news:j712p2$3ro$1...@tdi.cu.mi.it...


Ciao!


private sub LanciaStampa_Click()
dim ChiavePerOrdinamento as string




_______________Risposta:
Scusa ho riletto.
MA

 wrote:

Ciao!


private sub LanciaStampa_Click()
dim ChiavePerOrdinamento as string



HTH
Popi
Grazie Popi,
funziona tutto abbastanza bene.... nel senso che quello che mi hai suggerito
funziona perfettamente;
io per� ho dimenticato di dirti che l'ordinamento per data deve essere
sempre primario.
cio� ogni ordinamento deve essere, prima per data e la seconda scelta
ad esempio:
* per data, progressivo
* per data, cliente
* per data, interlocutore
cosa mi puoi suggerire?
grazie ancora per la disponibilita
GS
Giovanni 

 grazie ancora per la disponibilita
 
Ciao!
 
Quel codice era, ovviamente, solo un esempio di cosa puoi ottenere:
avendo definito il campo "ChiavePerOrdinamento" come stringa, puoi
fare tutto quel che ti pare.
 
Nello specifico della tua richiesta una soluzione *potrebbe* essere
questa.
private sub LanciaStampa_Click()
 
dim ChiavePerOrdinamento as string
 
ChiavePerOrdinamento="Format([Data],'yyyy-mm-dd')"
 
select case me.criterioordine
    case me.ordinedata.optionvalue
        ' Già impostata, va bene così
    case me.ordineprogressivo.optionvalue
        ChiavePerOrdinamento=ChiavePerOrdinamento &
"Format([Progressivo],'00000000')"
    case me.cliente.optionvalue
        ChiavePerOrdinamento=ChiavePerOrdinamento & "[Cliente]"
    case me.interlocutore.optionvalue
        ChiavePerOrdinamento=ChiavePerOrdinamento & "[Interlocutore]"
    case me.articolo .optionvalue
        ChiavePerOrdinamento=ChiavePerOrdinamento & "[Articolo]"
end sub
 
HTH
Popi

"Popi - TheBadHabits"  ha scritto nel messaggio
news:09ee66a0-d082-494f...@l6g2000vbd.googlegroups.com...

Ciao!


dim ChiavePerOrdinamento as string


        ' Gi� impostata, va bene cos�
    case me.ordineprogressivo.optionvalue
        ChiavePerOrdinamento=ChiavePerOrdinamento &
"Format([Progressivo],'00000000')"
    case me.cliente.optionvalue
        ChiavePerOrdinamento=ChiavePerOrdinamento & "[Cliente]"
    case me.interlocutore.optionvalue
        ChiavePerOrdinamento=ChiavePerOrdinamento & "[Interlocutore]"
    case me.articolo .optionvalue
        ChiavePerOrdinamento=ChiavePerOrdinamento & "[Articolo]"
end sub
HTH
Popi
Grazie 1000, Popi
tutto risolto.
GS
Giovanni