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

Ciao amici, devo creare un semplice report ma non ci riesco perchè i dati
origine non fanno capo a tabelle ma a maschere. E' possibile quindi
associare i dati ad una maschera invece che ad una tabella?


Magari ad una query...
Ciao.
--
Sergio MAZZA


Sě č possibile, nel senso che ad un controllo sulla maschera fai
corrispondere un controllo sul report.
Nell'Origine Controllo del controllo sul report scriverai per esempio:
=[Forms]![SCHEDA COMUNI]![DESCRI]
Tutti i controlli sul report devono essere non associati e i controlli sulla
maschera (che deve essere aperta) devono contenere dei dati.
Facci sapere.
Ciao, Carlo


ma bho, non ci riesco, ho provato sia la seguente stringa
=DLookUp("[totimponibile]";"Fatture")
che questa =[Maschere]![Fatture]![totimponibile]
ma niente. la prima a volte funziona, la seconda mi dice #Name?
Insomma dovrei creare un report dinamico, che si crea ogni volta che clicco
il pulsante stampa fattura... spero di essere stato chiaro. scusami se rompo
cosě tanto. :-) ciao Sergio.
Enzo

 ha scritto nel
messaggio news:5yQ79.228734$Jj7.5...@news1.tin.it...

mi da sempre l'errore #Name?

 ha scritto nel messaggio
news:rAQ79.228758$Jj7.5...@news1.tin.it...

Allora prova a spostare l'istruzione nel codice. Sull'evento Apertura prova
a scrivere:
Private Sub Report_Open(Cancel As Integer)
Me.NomeControlloSulReport = Forms!MiaForms!NomeControlloSullaMaschera
'lo stesso per gli altri controlli
End Sub
Ovviamente dovrai scrivere il nome della tua maschera e del tuo controllo al
posto dell'esempio che ti ho scritto.
Non dimenticare di cancellare dall'origine record del controllo quello che
avevi scritto prima.
Ciao, Carlo

 ha scritto nel
messaggio news:bKQ79.228793$Jj7.5...@news1.tin.it...

Ciao Carlo, la prima soluzione funziona, l'errore #Name? era dovuto alla
faschera chiusa (scusami per la stonzata), ora perň c'č un altro problema:
nella maschera una scelta viene effettuata tramite casella combinata (la
quale esegue una query) e nel report invece del valore mi esce l'id. Spero
di essere stato chiaro... Grazie ancora!


Ciao Enzo.
Quando ci si riferisce ad una casella combinata il valore è quello impostato
a "Colonna associata"; nel tuo caso la colonna 0 (zero) scritta 1 (uno)
nelle proprieta della casella combinata o di riepilogo.
Per ottenere il valore corretto devi scrivere solo un po' di codice.
Se hai usato il primo sistema cancella quello che hai scritto nella
proprietà "Origine Controllo" del controllo sul report che si riferisce al
"Menù a tendina" (casella combinata) della maschera.
Poi devi scrivere sull'evento Apertura del report: Me!NomeControlloSulReport
= Forms!NomeMascheraAperta!NomeCasellaCombinata.Column(1) oppure 2 o 3 a
seconda di quale colonna è interessata.
Per sapere la colonna interessata devi fare così. Se la casella di riepilogo
o combinata è basata si di una query o una tabella conta le colonne che la
compongono. Supponiamo siano tre e la colonna di cui vuoi il valore sia la
seconda perchè la prima ha l'ID. In questo caso devi scrivere 1 (uno) perchè
per il codice si conta a partire da zero.
Ciao, Carlo

 ha scritto nel
messaggio news:iZ189.230759$Jj7.5...@news1.tin.it...

ok grazie tutto bene! sei un grande!

 ha scritto nel messaggio
news:oc289.230821$Jj7.5...@news1.tin.it...

ho appena notato una cosa, la stampa report funziona, nel senso che i dati
sono associati alla maschera che ho su schermo, solo che mi stampa tante
copie quanti sono i report nel database.

 Enzo
Quante tabelle gestisci? Ovvero; hai due tabelle, una "intestazione fattura"
e "dettagli fattura" o una tabella sola? Se sono due quale campo utilizzi
per metterle in relazione?
Ciao.
--
Sergio MAZZA

 ha scritto nel messaggio
news:ajqqqo$lls$1...@lacerta.tiscalinet.it...

ciao sergio, quel problema l'ho risolto, ora ho il problema della stampa,
infatti mi tira fuori tante copie quanti sono i record presenti nel db, come
se facesse tante fotocopie. mica sai come fare a dirli di stampare solo la
prima pagina?? una cosa tipo stampa da pagina 1 a pagina 1. grazie

 copie quanti sono i report nel database.
Avrai tralasciato qualche routine da qualche parte....  ?!
Comunque e' un modo inconsueto quello di far puntare i controlli del report
ai controlli della maschera.
Secondo me e' migliore la strada suggerita da Sergio:
1) Ti crei una query con tutte le tabelle e i campi che ti servono;
2) Nei criteri del campo IDFattura ci metti "Like Forms!TuaForm![IDFattura]"
;
3) Crei il Report EX NOVO con l'autocomposizione;
Ovviamente la maschera TuaForm dovra' rimanere aperta finche' il report non
e' stato caricato.
Mandi, Rob.


E' normale; ti fa tanti report per quanti sono i record dell'origine dati.
Stampare un report indicando il numero delle pagine è diverso (come
procedura) da stampare i dati che visualizzi sulla maschera.
Se vuoi indicare da quale pagina iniziare la stampa devi aprire il report in
modalità anteprima e poi con il metodo PrintOut (vedi help) indicare quale
pagine stampare.
Es.
'---------
DoCmd.OpenReport "prova", acViewPreview
DoCmd.PrintOut acPages, 1, 2
'---------
Ciao.
--
Sergio MAZZA