Newsgroup: it.comp.appl.access
Titolo: concatenazione campi

Buonasera a tutti....
La domanda che sto per porvi l'ho gia fatta un po di tempo fa... ma ci
riprovo
magari formulandola in modo più chiaro:
ho una tabella con N record e 2 campi (campo a e campo b)
quello che voglio fare è concatenare i valori del campo a di tutti gli n
record in un unico report o in una maschera, in questo modo:
VALORI "a" = a1, a2, a3, a4, a5, a6, a7,............aN-1,aN.
                         |questi qui sopra sono i valori dei campi A|
come posso fare?
ho letto anche tutte le dritte sul vostro sito ma non ho trovato niente al
riguardo.... complimenti comunque per il sito!
grazie a presto!
Marco.
--
____________________________
   G 1 0 X®
Web: 
www.giox.net
Alt. Mail: 
info...@libero.it
Icq Uin: 47698601
Irc Chan. @azzurranet:
   #mhackerone; #ahccc; #linux;
_____________________________

 --
Se vuoi che qualcuno prenda in considerazione il tuo problema forse occorre
che tu ci racconti qualche cosina di più, che renda il tuo problema più
definito.
Quale è il numero massimo dei record contenuto nella tabella? Quale è la
lunghezza media dei caratteri del valore del campo A? Quale è il tipo di
dato del campo A?
Tutte queste domande tendono a capire se tutti i tuoi valori è plausibile
che entrino nella lunghezza massima di un unico controllo. Tu che ne pensi?
Un controllo sarà sufficiente a contenere tutti i valori?
Comunque se la cosa ti può rinfrancare, tecnicamente la cosa è fattibile ed
anche in una maniera relativamente facile: apri un recordset sulla tua
tabella, con un ciclo Do ... Loop ti leggi tutti i record, quindi con i
valori del campo A letti ti crei dinamicamente una stringa, nella quale
andrai ad intervallare i sigoli valori con una virgola.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 Marco.
Questa di seguito non vuole essere una soluzione ma una traccia,
spero che possa servire anche se avendola scritta "al volo" conterrà
sicuramente degli errori ed avrà dei limiti.
dim strTMP as string    ' variabile stringa - ma va là?
dim rstVALORI as ADO.recordset    'variabile per scorrere l'elenco
'creazione dell'elenco in memoria
Set rstVALORI = CurrentDb.OpenRecordset( _
                "SELECT <nome campo> FROM <nome tabella>;", _
                dbOpenSnapshot)
with rstVALORI    'uso elenco per le operazioni
 .movefirst    'mi sposto all'inizio (sempre meglio ma non indispensabile)
 do until .eof    'se fine elenco esco
 'accodo alla variabile una virgola ed una stringa
  strTMP = strTMP & "," & str(.fields(0).value)
 loop    '
end with    'fine dell'uso di elenco
rstVALORI.close    'chiudo l'elenco
set rstVALORI nothing    'annullo la variabile
Non meravigliarti se contiene degli errori, non sono una cima di
programmatore ;-)
La stringa si può sostituire con altri oggetti ma attento alla lunghezza,
niente è infinito.
ciao
--
Claudio Tregambe

grazie Claudio! proverò e ti farò saper...
Comunque la traccia è ottima!

 Roberto
Il numero massimo di record nella tabella è 7.
La lunghezza media è 10 ed il tipo di dato è Testo quindi in un unico
controllo
entra tutto. Grazie per l'aiuto provo con il ciclo...
Ciao!