Newsgroup: it.comp.appl.access
Titolo: MailMergeUnoAMolti

Ho letto l'articolo "Utilizzare Word per stampare un documento tipo fattura"
nella sezione General del Sito Comune
Ho provato a fare una cosa simile
(Campi di stampa unione)
«IdConcessione»
«IdConcessionario»
(Campo database)
[DATABASE \ \c "DRIVER=SQL
Server;SERVER=(local);UID=sa;PWD=;WSID=D5Q8A0;DATABASE=CoDemFausto_Data4" \s
"SELECT Concessionario.IdConcessionario, Concessionario.Denominazione1,
Concessionario.Denominazione2  FROM CoDemFausto_Data4.dbo.Concessionario
Concessionario
WHERE Concessionario.IdConcessionario = 10" \h ]
Ma quando cerco di unire i dati mi esce:
Errore. Impossibile aprire l'origine dati.
Al contrario, con un file mdb, seguendo l'esempio del sito comune, la cosa
riesce perfettamente.
Concludo specificando che l'origine dati della stampa unione e e del campo
database sono in un file di sql server (Uso gli adp di Access 2000 e MDE)
Qualcuno può dirmi dove sbaglio?

 ha scritto nel messaggio
news:Fl9Oc.21910$OH4.5...@twister1.libero.it...

L'origine della stampa unione è la stessa del campo DATABASE?
Ciao.
-- 
Sergio MAZZA

 No, l'origine è un'altra tabella. :)))) Ogni "concessione" può avere più
"concessionari"
L'origine dati della stampa unione è la tabella "Concessione", mentre quella
di DATABASE è la tabella "Concessionario"

 Concessionario WHERE Concessionario.IdConcessionario = [MERGEFIELD
IdConcessionario]\h]

 IdConcessionario]\h]
L'errore ti si presenta in ogni caso?
- solo stampa unione;
- solo campo database;
Non avendo possibilitą di riprodurre il tuo ambiente vado per tentativi...
Ciao.
-- 
Sergio MAZZA

 Ciao
Innanzitutto ho fatto un piccolo errore nell'esporre il problema:
Non è la "concessione" che può avere più "concessionari" ma un
"concessionario" può avere più "concessioni". Chiedo scusa ma avevo la testa
tra le nuvole.
Per cui, ricapitolo quello che ho fatto
1) ho aperto un documento di word
2) ho stabilito una connessione tramite MS QUERY con una tabella
(CONCESSIONARIO) che fisicamente si trova su un database di SQL SERVER. Di
questa tabella, che è l'origine dati della STAMPA UNIONE ho scelto alcuni
campi significativi (IdConcessionario, Denominazione, Denominazione2) . La
STAMPA UNIONE FUNZIONA
campi di stampa unione
«IdConcessionario»
«Denominazione1»
«Denominazione2»
3) Ho, tramite il pulsante INSERISCI DATBASE della barra degli strumenti
DATABASE, selezionato un'ORIGINE DATI (sempre tramite MS QUERY) che è una
tabella (CONCESSIONE) che fisicamente si trova nello stesso database di SQL
SERVER della tabella CONCESSIONARIO.  Di tale tabella (ORIGINE del mio campo
DATABASE) ho selezionato alcuni campi significativi: IdConcessione,
IdConcessionario, IdUnitaNavigazione
4) Successivamente ho selezionato l'opzione INSERISCI DATI NEL DOCUMENTO,
TUTTI e INSERISCI COME CAMPI
La stringa del campo DATABASE è la seguente:
(non so come si riproducono L le parentesi graffe ho messo, qui, come
parentesi di apertura e chiusura due parentesi quadre)
[DATABASE  \c "DRIVER=SQL
Server;SERVER=(local);UID=sa;PWD=;WSID=D5Q8A0;DATABASE=CoDemFausto_Data4" \s
"SELECT Concessione.
IdConcessione, Concessione.IdConcessionario, Concessione.IdUnitaNavigazione
FROM
CoDemFausto_Data4.dbo.Concessione Concessione WHERE
Concessione.IdConcessionario =
[MERGEFIELD IdConcessionario]" \h]
Quando cerco di unire i dati con l'opzione VISUALIZZA DATI UNITI della barra
degli strumenti STAMPA UNIONE, i valori dei CAMPI DI STAMPA UNIONE vengono
associati regolarmente, mentre il campo DATABASE diventa così:
Errore. Impossibile aprire l'origine dati
Spero di non aver tralasciato nulla di importante.
Intanto ti ringrazio molto dell'attenzione
Ciao!


ho visto la tua stringa della select e confrontandola con quella dell'help (acc'97) differisce nella sintassi dell'istruzione sql;
'----- tratto dall'help Codici di campo: campo DataBase --------
parametro \s "SQL ":
Si riferisce alle istruzioni SQL. Č necessario inserire una barra rovesciata (\) prima delle virgolette nell'istruzione. Le
istruzioni per un database di Microsoft Access potrebbero essere, ad esempio:
"select * from \"Elenco Clienti\"".
quindi prova a cambiarla cosě:
\s \"SELECT Concessione.IdConcessione, Concessione.IdConcessionario, Concessione.IdUnitaNavigazione FROM
CoDemFausto_Data4.dbo.Concessione Concessione WHERE Concessione.IdConcessionario = [MERGEFIELD IdConcessionario]\"
un'altra cosa; il campo [MERGEFIELD IdConcessionario] č effettivamente un campo mailmerge sěě? Lo hai inserito tramite la barra
strumenti della stampa unione o lo hai scritto a mano? Te lo chiedo per escludere qualsiasi cosa...
Ciao.
-- 
Sergio MAZZA

 Sì il campo è un campo mailmerge inserito tramite la barra degli strumenti
stampa unione. Ho provato come dici tu, ma nisba nisba. Riprovo volentieri
ma ho i miei dubbi di aver sbagliato a metterre la barre e, comunque, la
stringa viene impostata automaticamente da WORD: a parte aver inserito il
campo mailmerge non ho toccato nulla di quanto già impostato. Se può esserti
d'aiuto dopo aver flaggato su "INSERISCI COME CAMPO" mi esce il seguente
messaggio di avviso da Word
"Impossibile sostituire la selezione con il database specificato" (lo avevo
omesso precedentemente, pardon)
Se, al contrario, non flaggo l'opzione "INSERISCI COME CAMPO" i dati (tutti
quelli della tabella CONCESSIONE), vengono riprodotti regolarmente in WORD.
Il problema è che, in questo modo, non ho possibilità di impostare una
VARIABILE che relazioni i dati riprodotti in base al valore del campo di
stampa unione IdConcessionario.
Il dilemma credo stia nel risolvere la stringa del CAMPO DATABASE, c'è
qualcosa che mi sfugge
Grazie ancora dell'attenzione. Se mi aiuti mi fai un favore perchè sul
lavoro questo approccio UNO-MOLTI con la stampa unione mi aprirebbe vie che
nemmeno ti immagini!!!

 nemmeno ti immagini!!!
Immagino, immagino; speriamo di arrivare ad una conclusione. Comunque prendi in considerazione anche l'NG della Microsoft
microsoft.public.it.office.access; non si sa mai...
Ciao.
-- 
Sergio MAZZA

 Beh proverò anche lì. Domani parto per le ferie al limite ci si risente
successivamente. Se per caso hai un lampo di genio ti autorizzo a mandarmi
una mail perchè dopo 15 GG non so se saranno consultabili tutti i messaggi
sul NG, ogni tanto, me ne scompaiono alcuni.
Ciao grazie ancora