Newsgroup: it.comp.appl.access
Titolo: Trasferire piu' record in una sola casella di testo

salve a tutti,
Premetto che non sono molto esperto e quindi potrei chiedere veramente una
banalita' ma sto impazzendo da qualche giorno sul seguente problema:
ho fatto una query (QcercaColoriScuri) per recuperare alcuni dati da una
tabella (Tcolori). Ottengo per esempio tre record (con tre colori: Marrone,
Verde e Blu).
Come faccio a ottenere un campo (in una maschera o in un report) che
raggruppi questi 3 valori?
es. form![McoloriTrovati].CampoColoriTrovati = "Marrone, Verde, Blu"
Il problema e' che non riesco a capire come trasferire i valori di questi
tre record (che tira fuori la query) in modo raggruppato in una unica
casella di testo.
Grazie mille per il vostro aiuto
Iacopo

 ha scritto nel messaggio
news:bavb1u$om7$1...@news.flashnet.it...

Devi farlo da codice ciclando il recordset e inserendo gli opportuni
separatori ", ".
Ciao.
Ma perchè devi fare una cosa del genere? Se ti serve un elenco usa una combo
o una listbox... meglio no?

 ha scritto nel messaggio
news:bavb8h$5j8$1...@newsreader.mailgate.org...


 ha scritto nel messaggio
news:bavbu1$p0b$1...@news.flashnet.it...

SCRIVI DOPO IL QUOTING
Cmq ciò che hai scritto è giusto ma mancano le opzioni di apertura del
recordset:
set rst=dbs.openrecordset("QcercaColoriScuri",dbOpenDynaset)
Ciao.

 Cmq ciň che hai scritto č giusto ma mancano le opzioni di apertura del


 ha scritto nel messaggio
news:bavdge$pi6$1...@news.flashnet.it...

Aridajjeee: scrivi DOPO il quoting.... e due!
Evidentemente la tua query contiene un parametro che devi passarle prima di
aprirla.
Se apri la query dalla finestra del database ti chiede dei parametri?
Posta il testo della query va...

 > > Cmq ciò che hai scritto è giusto ma mancano le opzioni di apertura del


 Ciao
Quando rispondi scrivi DOPO e non prima del testo dei messaggi precedenti.
Se Access ti segnala quell'errore significa che la tua query è una query
parametrica e quindi non puoi aprire un recordset su di essa senza prima
fornirgli i parametri.
Per risolvere il tuo problema vai sul Sito Comune (link qui sotto) e nella
Sezione General leggi la FAQ di Federico Luciani intitolata "Aprire una
query parametrica da codice VBA".
-- 
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 >
Scrivere dopo il quoting significa scrivere dopo il testo a cui rispondi.
Come faccio io...
Questo facilita la lettura. OK?
veniamo a te: la query, cosě com'č non va bene. Infatti presuppone che tu
inserisca un parametro.
Modifica la query in questo modo:
SELECT Tcolori.IDcolori, Tcolori.colori, Tcolori.IDCategoria
FROM Tcolori
WHERE Tcolori.IDCategoria=[Colore]
in questo modo Access si troverŕ un parametro Colore da considerare per
l'esecuzione.
Il testo deve diventare cosě:
Dim qdf as QueryDef, rst As Recordset
NumeroColori = DCount("[ColoriScuri]", "QcercaColoriScuri")
set qdf=currentdb().querydefs("QcercaColoriScuri")   'questo assegna la
query a un oggetto SENZA ESEGUIRLA
qdf.parameters("Colore")=Forms!McoloriTrovati!IDCategoria 'questo passa il
parametro prendendolo dal controllo nella form
set rst=qdf.openrecordset() 'esegue la query assegnando il recordset
risultante all'oggetto che ciclerai...
il resto va bene:
rst.MoveFirst
prova = rst!ColoriScuri
For i = 1 To NumeroColori
    rst.MoveNext
    prova = prova & rst!ColoriScuri
        If i = NumeroColori  Then Exit For
        prova = prova & " - "
Next i
rst.Close
Set rst = Nothing
Set qdf = Nothing
OK?

 ha scritto nel messaggio
news:bavfvf$ec5$1...@newsreader.mailgate.org...

Funzionaaaaaaaaaaaaaaaaaa!!!!
Grazie mille. Per la cronaca ho cambiato il ciclo for con un Do - Loop
perche' mi piaceva di piu' ma la sostanza e' che ho capito come devono
essere scritte le query parametriche. Grazie anche a Roberto
Ancora Grazie
Iacopo


Hai anche imparato a scrivere dopo il quoting...
Antonio Biso ringrazia...
Bye.