Newsgroup: it.comp.appl.access
Titolo: Aiuto, mi sono perso coi report!

Spiego il problema:
Ho una maschera "libri" con due sottomaschere "autori" e "categorie".
Nell'intestazione della maschera principale ho 4 campi (sia text che 
combo) non associati "titolo", "editore", "autore", "categoria" operando 
sui quali faccio le ricerche nel database per estrarre i libri che mi 
interessano.
Fino qui più o meno bene... devo ancora mettere a posto la query 
lanciata dal pulsante "cerca" che fa un paio di left join (è una query 
scritta sull'evento click direttamente in vba che popola un recordset, 
non è una query importata).
Il problema è che quando la mia maschera "libri" e le due sottomaschere 
si popolano coi dati dei libri estratti, io posso scorrere i record 
della maschera (conseguentemente delle sottomaschere) ma come faccio a 
fare un report dei libri estratti?
Spero di essermi spiegato...
Grazie in anticipo

 ha scritto nel messaggio 
news:CdGOk.10355$8%.517@tornado.fastwebnet.it...

Cosa importante è tu scriva un oggetto significativo del problema:
www.sitocomune.com
 Sezione ICAA - Come comportarsi in questo NG
Poi per l'origine dati dei report; puoi partire da una struttura simile alla 
maschera +2 sottomaschere, quindi un report principale+2 sottoreport 
ovviamente utilizzando lo stesso filtro (Condizione Where) che utilizzi per 
filtrare le maschere/sottomaschere...
Ciao.
-- 
Sergio MAZZA 

Sergio MAZZA ha scritto:

Hem.. Sergio, potresti dirmi qualcosa di più? Cioè io la mia query ce 
l'ho i un recordset e fa un doppio join, te la posto
Me.RecordSource = "SELECT DISTINCTROW libro.* " _
         & "FROM (libro LEFT JOIN libro_autore ON libro.lib_id = 
libro_autore.libaut_libro) " _
             & "LEFT JOIN libro_categoria ON libro.lib_id = 
libro_categoria.libcat_libro " _
             & "WHERE libro.lib_titolo Like ""*" & 
[Forms]![libro_mod_ins]![txt_findTitle] & "*""" _
             & "AND (libro.lib_editore = 
[Forms]![libro_mod_ins]![cmbEdit]" _
             & "OR [Forms]![libro_mod_ins]![cmbEdit] Is Null)" _
             & "AND (libro_autore.libaut_autore = 
[Forms]![libro_mod_ins]![cmbAut]" _
             & "OR [Forms]![libro_mod_ins]![cmbAut] Is Null)" _
             & "AND (libro_categoria.libcat_categoria = 
[Forms]![libro_mod_ins]![cmbCat]" _
             & "OR [Forms]![libro_mod_ins]![cmbCat] Is Null)" _
             & "AND (libro.lib_lingua = [Forms]![libro_mod_ins]![cmbLin]" _
             & "OR [Forms]![libro_mod_ins]![cmbLin] Is Null)" _
             & "ORDER BY libro.lib_titolo;"
E adesso?

 E adesso?
Scusa ma il problema non è il report? Lo hai creato o no? Seguendo il mio 
suggerimento o come?
Ciao.
-- 
Sergio MAZZA 

 mio suggerimento o come?
Ma hai cambiato mestiere. Adesso fai il "trovareport" ?
--
ac

 ac
Ciao.
-- 
Sergio MAZZA 

Sergio MAZZA ha scritto:

Riciao Sergio, intanto grazie per la tua disponibilità. Allora ho 
provato a creare i report come tu dici. incontro un problema che ti 
illustro:
Mentre la query scritta sopra eseguita lato maschera funziona benissimo, 
quando la vado a riportare in un file di query mi da il seguente errore 
: runtime 94 - Utilizzo non valido di null.
Ti posto la query che per ora filtra solo i titoli, giusto per metterne 
un pezzo alla volta:
Nella query "joinLibroAutoreCategoria" presa come origine dei dati del 
Report ho scritto:
SELECT DISTINCTROW libro.*
FROM (libro LEFT JOIN libro_autore ON 
libro.lib_id=libro_autore.libaut_libro) LEFT JOIN libro_categoria ON 
libro.lib_id=libro_categoria.libcat_libro
WHERE (libro.lib_titolo Like "*"&DammiTitolo()&"*")
ORDER BY libro.lib_titolo;
La funzione DammiTitolo è questa:
Public Function DammiTitolo() As String
'MsgBox ([Forms]![libro_mod_ins]![txt_findTitle])
DammiTitolo = [Forms]![libro_mod_ins]![txt_findTitle]
End Function
Ho dovuto implementare le funzioni altrimenti mi diceva che c'erano 
espressioni complicate in query ecc. solito messaggio.....
Ora se metto un titolo che in maschera mi restituisce 5 record, cioè 
scrivo qualcosa nel campo [Forms]![libro_mod_ins]![txt_findTitle] tutto 
funziona perfettamente e il report mi restituisce gli stessi libri, ma 
se lascio il campo vuoto, la query in maschera restituisce tutti i libri 
(è quello che voglio), mentre la query "joinLibroAutoreCategoria" o 
meglio, la funzione mi restituisce quell'errore...
Come posso risolverlo? Quando andrò a prendere i valori dai combo avrò 
lo stesso problema?
Grazie in anticipo.

 ha scritto nel messaggio 
news:EmGPk.13772$8%.4007@tornado.fastwebnet.it...

Scusa per il ritardo; spero tu abbia già risolto, altrimenti posso 
riprendere il discorso.
La funzione ti ritorna errore perché hai (giustamente) definito un output di 
tipo stringa e se non metti nulla nella casella di testo [txt_findTitle], 
viene inserito un Null.
Prova ad utilizzare la funzione NZ.
Public Function DammiTitolo() As String
'MsgBox ([Forms]![libro_mod_ins]![txt_findTitle])
DammiTitolo = Nz([Forms]![libro_mod_ins]![txt_findTitle],"")
End Function
Ciao.
-- 
Sergio MAZZA