Newsgroup: it.comp.appl.access
Titolo: problema stampa unione word da access: tabella relazionata

Buon giorno, chiedo un consiglio perchè sto impazzendo dietro ad una cosa; 
Ho costruito un database, con due tabelle dati (poniamo Autori e Libri); 
In word, sto facendo una lettera che dovrebbe riportarmi l'anagrafica degli autori (un solo autore per lettera) e l'elenco dei libri a lui riferiti (tot  righe con le indicazioni specifiche del libro, elencati nella stessa lettera ma riferiti a quell'unico autore); 
Il problema è che word, in stampa unione, mi stampa tante lettere per ogni titolo di libro; Cioè se tizio ha scritto 5 libri, mi stampa cinque lettere; 
Qualcuno può darmi una mano? 
Le due tabelle sono relazionate uno a molti (tutti i record di autori e solo quelli di libri, in cui i campi collegati sono uguali) con integrità referenziale. 
Ciao a tutti e grazie ancipatamente. 

un aggiunta: non posso usare i report ... perchè nella lettera word devo inserire della formattazione particolare, giustificazione del testo e via dicendo ....




Non puoi risolvere con la stampa unione : troppo involuta per la tua
esigenza.
Devi programmare, e di brutto.


Sicuro?
Mettendo un campo next, ho visto che funziona .....

 wrote:

Jack, questa potrebbe essere una soluzione (o, quantomeno, uno spunto
per idee ulteriori).
In un mdb ho due tabelle:
- Costruttori, anagrafica con i dati usuali di indirizzo ecc. ed un
codice Cage,
- MaterialiDiConsumo, con il codice del costruttore, la denominazione,
il partnumber, l'indicazione se il P/N e' reale o farlocco, ecc.
Per estrarre tutti i costruttori e, per ognuno, gli N materiali che
produce, in un documento word ho assegnato l'origine dati ad una query
(una banalissima "SELECT Cage FROM Costruttori;", giusto per testare
la cosa) memorizzata nel mdb.
Ho poi inserito un campo MERGEFIELD "Cage" nella prima riga ed un
campo DATABASE tramite il quale estraggo i dati collegati nella
tabella MaterialiDiConsumo.
Questo e' il contenuto (in formato testo) del documento che ho creato.
================BEGIN================
Questa è la pagina relativa al costruttore MERGEFIELD "Cage"
DATABASE  \d "T:\\Commesse\\999_RisorseDB\\DatiStandard.mdb" \c
"Provider=Microsoft.Jet.OLEDB.4.0;Password=\"\";User ID=Admin;Data
Source=T:\\Commesse\\999_RisorseDB\
\DatiStandard.mdb;Mode=Read;Extended Properties=\"\";Jet OLEDB:System
database=\"\";Jet OLEDB:Registry Path=\"\";Jet OLEDB:Database Password=
\"\";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet
OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk
Transactions=1;Jet OLEDB:New Database Password=\"\";Jet OLEDB:Create
System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't
Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica
Repair=False;Jet OLEDB:SFP=False" \s "SELECT IIf([PnReale]=True,
[MATPN],'') AS PN, MATDESC AS Denominazione, ICC FROM
`MaterialiDiConsumo` WHERE (Cage='MERGEFIELD "Cage"');" \h
=================END=================
Come puoi vedere, nella SELECT del campo DATABASE ho inserito
nuovamente il campo MERGEFIELD (fra apici, essendo un dato testuale).
Possibili miglioramenti: la query di partenza che seleziona i
Costruttori, potrebbe estrarre solo quei Cage per i quali esista
almeno un record nella MaterialiDiConsumo.
Just my 2 cents e, per questa volta, niente VBA.
Magari, pero', sui ng di word trovi gente che sia almeno un po'
preparata e che ti sa meglio indirizzare ;)
HTH
Popi

 ha scritto:

Paraparapï¿œ paraparapï¿œ parapparappappï¿œ chefiguraacciaaa.
Popi