Newsgroup: it.comp.appl.access
Titolo: discriminazione dati su report

Domandina ina ina...
in un report, generato da una query...
e' possibile discriminare dei dati?
o meglio... se io ho un paio di record del genere:
Ref = XXXXXX
Desc = Machine xxxx
MachineRef = ""
MachineList = ""
Ref = YYYYYYY
Desc = Machine YYYYY
MachineRef = Machine XYZ
MachineList = XXX-YYY-ZZZ
posso fare in modo che quando machineRef="" mi stampi Desc e Ref
e quando MachineRef<>"" mi stampi invece MachineRef e MachineList ??
spero di essermi spiegato.. ;S
Thanks
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it


Crei nella query due campi calcolati che saranno quelli da stampare:
CampoCalcolato1:iif(machineRef<>"";MachineRef;Desc)
CampoCalcolato2:iif(machienRef<>"";MachineList;Ref)
Ciao
NatPP

Nat.P.P ha scritto:


quindi nella mia select query posso fare una roba del tipo:
select campocalcolato1:iif(machineRef<>"";MachineRef;Desc),
       campocalcolato2:iif(machineRef<>"";MachineList;Ref) from tabella 
where id=1
??
questa sintassi e' giusta?
grazie



No assolutamente!
Io, quando voglio ottenere un enunciato SQL, scrivo prima la query nella 
griglia di struttura, poi seleziono Visualizzazione SQL dall'apposito 
pulsante (quello che usi per passare dalla visualizzazione struttura alla 
visualizzazione dati della query) e ricopio tutto l'ambaradam nella routine 
che si attiva sull'evento su apertura del report.
Questo comporta tuttavia una messa a punto della sintassi come le virgolette 
(") all'inizio e alla fine dell'enunciato e l'eliminazione del punto e 
virgola (;) finale ed altri possibili ritocchi.
Quando ho sistemato la stringa sql (del tipo strSql="SELECT bla... bla...") 
definisco l'origine record con:
Me.RecordSource=strSql.
In alternativa puoi usare la funzione BuildCriteria (v. Help) che ti aiuta 
in questo.
Ed ora la faccio io una domanda.
Ma devi proprio usare una stringa Sql per l'origine record del report? 
Questo metodo si usa quando uno stesso report (o form) viene usato per 
origini dati diverse, ma, nel tuo caso, non è sufficiente (e molto più 
comodo senza complicarsi inutilmente la vita) usare una normalissima query 
costruita nella sua griglia come origine dati del report?
Ciao
NatPP 

 NatPP



Non so se non mi sono spiegato bene io o se non ho ben compreso la tua 
risposta.
Come origine di un report (o di un form) normalmente si usa una query (o una 
tabella se non ci sono particolari necessità).
Quello che mi par di aver capito del tuo caso, è che tu volevi impostare 
come recordsource una stringa sql pur non essendo necessario. Ho capito 
male? Bene, scusami! Chiuso il discorso.
Nel  tuo precedente post mi chiedevi della sintassi SELECT campocalcolato...
I due campi calcolati li devi mettere in due nuove colonne nella struttura 
della query con la sintassi che precedentemente ti ho postato (cambiando 
ovviamnete i nomi dei campi).
Ciao
NatPP

Nat.P.P ha scritto:



esatto... quindi il
iif(machineRef<>"";MachineRef;ItemDesc)
lo devo mettere come criterio di un campo nuovo "CampoNuovo1"
all'interno del design view della mia query che e' origine dati per il
report..
ho provato ed ho un errore di sintassi:
Invalid Syntax
You omitted an operand or operator, you entered an invalid....
dove sbaglio?
grazie ancora per l'aiuto prezioso


 Nat.P.P ha scritto:







trovato l'errore...
non ci vanno i ; (punto e virgola) ma solo le virgole .. ;)
ora funziona che e' una meraviglia... :)
