Newsgroup: it.comp.appl.access
Titolo: visuallizzare in un report record in orizzontale

Salve a tutti,
io dovrei far visualizzare all'interno di un report i record in orizzontale
piuttosto che in verticale. Mi spiego meglio (o almeno ci provo):
ho una tabella in cui ci sono i vari ingredienti di una ricetta, riesco a
metterli in verticale ad esempio
carne suina
peperone
sale
pepe nero
destrosio
ma non riesco a metterni in orizzontale, tipo la funzione "next" di word",
cioč:
carne suina, peperone, sale, pepe nero, destrosio
Mi servirebbero x un'etichetta e quindi dovrebbero entrare anche in uno
spazio limitato.
Grazie a tutti anticipatamente
Giuseppe

 ha scritto nel messaggio 
news:466e6383$0$4791$4faf...@reader4.news.tin.it...

Ci fai sapere dove ti si deve rispondere? Se in questo messaggio o quello 
inviato/accodato qualche minuto prima in un altro discorso?
Tanto per capire eh?
Ciao.
-- 
Sergio MAZZA 

Chiedo scusa!!!
credo di aver fatto confusione, non sono molto pratico di news!!!


 credo di aver fatto confusione, non sono molto pratico di news!!!
Per rimediare è facile:
www.sitocomune.com
 - Sezione ICAA - Come comportarsi in questo NG
Hai deciso dove ti si deve rispondere?
Ciao.
P.S. Scrivi in coda al messaggio precedente (CTRL-End)...
-- 
Sergio MAZZA 

 ha scritto nel messaggio 
news:f4lpv3$h4d$1...@tdi.cu.mi.it...

Va benissimo in questa news
Grazie per la disponibilità 

 Grazie per la disponibilità
Prova il suggerimento di Giorgio:
http://groups.google.it/group/microsoft.public.it.office.access/browse_thread/thread/2eb37fbb99ff470c/f88f57061e38ad58?lnk=gst&q=rancati+transform+pivot&rnum=6&hl=it#f88f57061e38ad58
Ciao.
-- 
Sergio MAZZA 

 ha scritto nel messaggio 
news:466e6383$0$4791$4faf...@reader4.news.tin.it...

Function fctRiga(intId as integer)
Dim rs as dao.recordset
dim strRiga as string
set rs = currentdb("SELECT * FROM tuatabella WHERE Rif = " & intId)
with rs
do
strRiga = strRiga & !Ingrediente & " "
.movenext
loop until .EOF
poi nella tua select ci metti il campo calcolato Ingredienti:fctRiga(id)

 ha scritto nel messaggio 
news:f4lrg0$jjk$1...@tdi.cu.mi.it...

Perdona la mia conoscenza basilare di Access,
ma dove dovrei inserire questo codice 

 ha scritto nel messaggio 
news:466e9018$0$36442$4faf...@reader5.news.tin.it...

nella query del report
ma devi personalizzare i nomi


Perdona ancora ma qui paleso la mia completa ignoranza!!!
Allora il mio Report prende i dati [Materia Prima] da una query che si 
chiama [Query Ricetta]; naturalmente ad una Ricetta possono essere associate 
+ Materie Prime.
Quindi, io apro in modalità struttura il suddetto report, seleziono la 
casella di testo Materia Prima e lancio l'editor visual basic.
Quindi inserisco il seguente codice:
Option Compare Database
Function fctRiga(intId As Integer)
Dim rs As dao.Recordset
Dim strRiga As String
Set rs = CurrentDb("SELECT * FROM [Query Ricetta] WHERE Rif = " & intId)
With rs
Do
strRiga = strRiga & ![Materia Prima] & " "
.MoveNext
Loop Until .EOF
E' questo il procedimento???
Dove sbaglio visto che il report mi esce sempre in verticale???
Grazie nuovamente x la disponibilità
saluti Giuseppe 

 ha scritto nel messaggio 
news:466eabbe$0$36442$4faf...@reader5.news.tin.it...

Aspetta
creati una query con i campi del report
mettiamo che la tua tabella abbia come contatore il campo "id"
bene in un modulo metti:
 Function fctRiga(intId As Integer) as string
 Dim rs As dao.Recordset
 Dim strRiga As String
 Set rs = CurrentDb("SELECT * FROM [Query Ricetta] WHERE Rif = " & intId)
 With rs
 Do
 strRiga = strRiga & ![Materia Prima] & " "
 .MoveNext
 Loop Until .EOF
fctRiga = strriga
rs.close: set rs = nothing
end funcition
alla fine del tuo reprt mettici un campo calcolato così
pippo:fctRiga(id)
bene lancia la query e vedrai che il campo pippo avrà la tua lista
usala per il report
-- 
--
MAssimiliano Amendola
www.accessgroup.it
Cisa - Conferenza Italiana Sviluppatori Access
Segrate (MI), 7-8 giugno 2007 


Innanzi tutti continuo a ringraziarti x la disponibilità, ma continuo ad 
avere problemi;
allora:
Il mio db è composto da 2 tabelle correlate tra loro (uno a molti):
la prima è la tabella [Ricetta], la seconda [Materie Prime x ricetta];
fra le altre cose, ho creato un report [Etichette] che prende i dati a sua 
volta da una query che si chiama [Query x Etichetta] risultante da alcuni 
record delle 2 tabelle;
All'interno del famigerato report [Etichette] ho creato un sottoreport 
[Sottoreport Query Ricetta], che prende anch'esso i dati dalla suddetta 
query
Il report [Etichette] contiene i dati generici della ricetta quindi il nome, 
il peso, il lotto, la scadenza, ecc., il sottoreport invece gli ingredienti.
Il problema è che x una questione estetica e di spazio, vorrei che il 
sottoreport non si visualizzasse in vertica, ma in orizzontale (come ad 
esempio la funzione next di word).
A questo punto, non so come procedere xchè se creo un'altra query mi 
sballano tutti i collegamenti e nella Query già creata non so dove mettere 
il codice.
A questo punto avrai capito che la mia conoscenza di Access e + che 
basilare, quindi ti chiedo di avere un po di pazienza con me e di aiutarmi, 
laddove possibile.
Di nuovo Grazie
Giuseppe

 ha scritto nel messaggio 
news:466ec6ab$0$36440$4faf...@reader5.news.tin.it...

bene, siamo nelle condizioni ideali
Togli il sottoreport
metti quel campo calcolato nella select di origine del report
dove ci sono i campi della tabella ricetta
e usa come argomento nella funzione il campo che lega ricette a ingredienti.
Non hai bisogno di inserire anche la tabelle ingredienti, perchè la richiami 
con la funzione


 ha scritto nel messaggio 
news:f4mhak$j1h$1...@tdi.cu.mi.it...

Grazie infinite ma mi arrendo :-((
Mi rendo conto che le mie conoscenze sono troppo basilari:
- non so cosa intendi x "quel campo calcolato nella select di origine del 
report"
- non so cos'è la select di origine del report
- non so cosa significa "argomento nella funzione il campo che lega ricette 
a ingredienti"
Comunque grazie lo stesso x la disponibilità
Saluti
Giuseppe 

 Giuseppe


 ha scritto nel messaggio 
news:f4orqu$mv9$1...@tdi.cu.mi.it...

Grazie infinite!!!
Io ci sto provando a non arrendermi, ma la situazione non cambia...
Almeno ho la situazione + chiara!!!
Comunque quando provo a lanciare la query, mi da indietro l'errore:
Funzione fct_riga non definita nell'espressione
dove sbaglio??? 

 dove sbaglio???
Se hai fatto tutto come ti ho detto io
fctriga non fct_riga 

 ha scritto nel messaggio 
news:f4qvf4$hob$1...@tdi.cu.mi.it...

Scusa ho sbagliato a scrivere la dicitura giusta è Funzione fctRiga non 
definita nell'espressione;
Proviamo di nuovo:
Il DB ha due Tabelle:
la prima si chiama [Ricetta], composta dai campi [id ricetta] --> contatore; 
[Ricetta] --> testo; [lotto]--> testo; [scadenza] --> Data/ora
la seconda si chiama [Materie Prime x ricetta], composta dai campi [id 
Materie Prime] --> contatore; [id ricetta] --> numerico; [Materia Prima] --> 
testo;
Le due tabelle sono relazionate tra loro (una a molti) x i campi [id 
ricetta].
Ho quindi creato una query [Query x etichetta] composta dai campi [id 
ricetta] tabella Ricetta; [Ricetta] tab. Ricetta; [lotto] tab. Ricetta; 
[scadenza] tab. Ricetta; e infine una campo dove ho inserito la scritta 
Ingredienti:fctRiga(Id).
Ho quindi creato un report [Eti_Media], sono andato in modalità struttura, 
ed ho lanciato l'editor del codice dove ho inserito la seguente funzione:
Option Compare Database
Function fctRiga(intId As Integer) As String
Dim rs As dao.Recordset
Dim strRiga As String
Set rs = CurrentDb("SELECT * FROM [Query x etichetta] WHERE Rif = " & intId)
With rs
Do
strRiga = strRiga & ![Materia Prima] & " "
.MoveNext
Loop Until .EOF
fctRiga = strRiga
rs.Close: Set rs = Nothing
End Function
Chiudo il codice, ritorno in modalità struttura del report lancio dalla 
barra degli strumenti il pulsante "elenco campi" e mi da la scritta Funzione 
fctRiga non definita nell'espressione, che è la stessa che mi da se provo ad 
andare in anteprima di stampa, che è la stessa che mi da se provo a lanciare 
la query.
Dove sbaglio???


Prova così


 ha scritto nel messaggio 
news:f4r4j3$omd$1...@tdi.cu.mi.it...

Fatto, ho creato un modulo che ho chiamato Modulo1, ho cambiato la scritta 
Ingredienti:fctRiga(Id) con Ingredienti:fctRiga([id ricetta]), ma ora mi da 
la seguente scritta:
Il riferimento al campo specificato '[id ricetta] potrebbe essere relativo a 
più tabelle elencate nella proposizione FROM dell'istruzione SQL


Bene ci siamo
hai solo usato [id ricetta] da due tabelle diverse
metti ricetta.[id ricetta]
oppure incolla qui la select
dai che è fatta


 --
Ennesima saga della storia infinita!!!
effettivamente il campo [id ricetta] era presente in entrambe le tabelle.
Però, ora mi da un altro errore e cioè:
Errore di compilazione nel modulo nascosto:Modulo1
quindi si apre il codice e mi esce un'altra scritta:
Errore di compilazione:
tipo definito dall'utente non definito
 premo ok e si evidenzia in giallo la prima riga della funzione:
vale a dire: Function fctRiga(intId As Integer)
LO stesso errore lo fa sia se faccio quanto da te suggerito circa il capo 
[id ricetta], sia cambiando nome al campo nella seconda tabella 

 [id ricetta], sia cambiando nome al campo nella seconda tabella
mandami il file vedo cosa non va


 --
Ti ho inviato il file, grazie ancora per la disponibilità.
Saluti
Giuseppe 

 ha scritto nel messaggio news:467259cc$0$17943$4faf...@reader1.news.tin.it...

non l'ho ricevuto, riprova


 ha scritto nel messaggio 
news:f4tq1j$k3u$1...@tdi.cu.mi.it...


Scusa avevo dimenticato di sbloccare il firewall dell'ufficio 

 ha scritto nel messaggio 
news:46729da7$0$37200$4faf...@reader3.news.tin.it...

Ciao, hai avuto modo di controllare il programma??? 

 
te l'ho rimandato subito..

 ha scritto nel messaggio 
news:f5asp6$id1$1...@tdi.cu.mi.it...

Potresti reinviarlo xchè non lo trovo!!!