Newsgroup: it.comp.appl.access
Titolo: Rowsource di grafico in report [A97]

Chiedo scusa perchè sto ripostando una domanda di una settimana fa alla 
quale ho ricevuto una risposta di Karl. Forse ora, rispiegando il tutto, 
potrete aiutarmi più facilmente!
Dunque, in una maschera sono presenti due grafici, che visualizzano
rispettivamente la precisione e l'accuratezza di una specifica analisi
di laboratorio.
Il rowsource dei due grafici si genera in funzione delle scelte
impostate sulla maschera in vari controlli.
Io ho la necessità di avere un report i due grafici, così ho pensato
di aprire in struttura un report, di copiare-incollare i due grafici
senza indicare il loro rowsource.
Per passare dinamicamente il rowsource ora come devo fare? Ho provato
a mettere del codice in apertura del report in cui assegna il
rowsource (pescato dai 2 grafici sulla maschera) ai due grafici sul
report, ma non mi permette di operare.
Karl suggeriva di mettere il codice nell'evento Su formattazione e....
In effetti ci ho provato, ma ti spiego:
ci sono due grafici e, per farli 'disegnare' tutti e due, li ho messi in due
sezioni differenti (anche se li vorrei affiancati nel corpo del report), e
nell'evento 'su formattazione', dalla maschera delle proprietà dell'oggetto,
ho scritto
=Origin()
e
=OriginPr()
che sono due funzioni su un modulo che prendono il rowsource dai grafici
sulla maschera e li sparano a quelli sul report.
Ora il problema è che la cosa funge, ma a singhiozzo! Ovvero, aprendo il
report dalla maschera, 9 volte su 10 almeno uno dei due grafici è in bianco,
se non tutti e due.
Il bello è che non restituisce alcun errore, e non c'è alcuna gestione
dell'errore nelle due funzioni di cui sopra...
Ti allego una delle due:
Public Function Origin()
Dim ssQl
ssQl = Forms![mskAccuIns]![grf].RowSource
Origin = ssQl
End Function
Grazie per la collaborazione! 

 End Function
Non credo che ho capito tutto. p.e. non so in quale tipo di sezione
si trovano i tuoi grafici, se sono presente solo una volta nel
risultato o si ripetano con i record o gruppi, come sono i
RowSource in detaglio, quali e dove sono i campi o valori
riferite ecc.
Sembra un po' come un problema di sincronizzazione.
Cose che puoi provare:
Invece delle due funzioni su formattazione prova direttamente
Me!TuoGrafico.RowSource = Forms![mskAccuIns]![grf].RowSource
e/o
dopo l'assegnazione di un RowSource puoi provare
Me!TuoGrafico.Requery
o
Se i tuoi RowSource sono statement SQL puoi crearti
due query salvate. Il contenuto non importa molto.
Puo essere p.e. un RowSource tipico per il grafico.
Nella proprietà RowSource dei grafici scrivi fissamente il
nome della query salvata e in un evento giusto cambia l'SQL
delle query:
CurrentDb.QueryDefs("TuaQuery").SQL = _
                Forms![mskAccuIns]![grf].RowSource
L'evento giusto dipende delle domande soppra p.e.
di quando sai tutte le valore necessarie, dove si trovano
i grafici nel report, si ripetano o no... Forse è possibile
di cambiare l'SQL delle query già prima di aprire il report
p.e. con il bottone nella maschera che lancia il report.
-- 
HTH
Karl
*********
Access FAQ: 
www.donkarl.com/it


ECCO LA SOLUZIONE SEI TROPPO MITICO KARL!!!!!!!!!
POSSO VENIRE A BACIARTI L'UNGHIA DEL POLLICIONE SINISTRO?????
DOVE STAI DI CASA, IN TIROLO?
ARRIVO ASPETTAMI........................................................... 

 :-)
