Newsgroup: it.comp.appl.access
Titolo: stampa unione

sul sito comune esiste un esempio ben documentato su come utilizzare la 
stampa unione di word da access?
ho cercato la stringa "stampa unione" ma ho trovato solo un esempio che 
mostra come aprire word e automaticamente caricare in esso record presi da 
access
la mia esigenza sarebbe la seguente:
1. prima con qualche parametro imposto un range di record che mi interessano 
e li accodo momentaneamente in una tabella temp di appoggio
2. poi dovrei cliccando su un pulsante aprire word e questo dovrebbe 
svilupparsi su più pagine inserendo nell'intestazione di ogni pagina ogni 
volta un record diverso
ho letto nel newgroup che quando si apre word da access però si apre un 
altra volta access? si può evitare?
qualcuno sa aiutarmi o indicarmi un documento dove questo argomento è 
trattato in modo completo?
Grazie.


ho creato un documento di word con campi dinamici prelevati da una tabella 
temporanea di access
utilizzo il codice seguente per aprire e cercare di sviluppare la stampa 
unione ma senza riuscirci
Sub CreaDocumento()
Dim oApp As Word.Application
Set oApp = CreateObject("Word.Application")
oApp.Documents.Open "C:\Programmi\mioprogramma\matrice.doc"
oApp.ActiveDocument.Activate
oApp.ActiveDocument.MailMerge.Destination = 1
oApp.ActiveDocument.MailMerge.Execute
oApp.Visible = True
Set oApp = Nothing
End Sub
qualcuno sa dirmi cosa sbaglio? 


Se possibile avrei la necessità di aprire e sviluppare la stampa unione 
partendo da quel file
in un nuovo file di word.

 in un nuovo file di word.
Ma che significa "sviluppare la stampa unone"?
(procedura manuale)Se prendi un documento word; ci associ una base dati 
(qualsiasi: testo, foglio excel, tabella/query access...); esegui la stampa 
unione; il risultato (per default) ti viene restituito su un nuovo 
documento.
Ora, cose devi fare di diverso dalla procedura manuale...
Ciao.
-- 
Sergio MAZZA 

 Sergio MAZZA
devo aprire da access il documento di word associato alla tabella access
settarne il focus
impartire da codice vba il mailmarge (che da come mi hai detto in automatico 
và in nuovo documento)
fammi sapere Grazie.

 fammi sapere Grazie.
Eccoti servito:
'---
'--> se appare il messaggio "origine dati SQL" prima di aprire il documento
'--> applicare il suggerimento indicato nel link:
'--> 
http://support.microsoft.com/kb/825765/it
'-->
'--> Inserire i riferimenti alla libreria Microsoft Word
On Error GoTo mailMerge_err
Dim oApp As Word.Application
Set oApp = CreateObject("Word.Application")
oApp.Documents.Open "c:\documenti\nomeFile.doc"
oApp.Visible = True '<-- se vuoi vedere che succede
oApp.DisplayAlerts = wdAlertsNone '<-- non visualizza nessun messaggio
With oApp.ActiveDocument.MailMerge
    .Destination = wdSendToNewDocument '<-- crea un nuovo documento
    .Execute '<-- esegue il mailmerge
End With
oApp.DisplayAlerts = wdAlertsAll '<-- lo ripristino
oApp.Documents(1).Activate
oApp.Documents(2).Close False '<-- chiude il documento master
oApp.Visible = True
Set oApp = Nothing
Exit Sub
mailMerge_err:
    Set oApp = Nothing
    MsgBox Err.Number & " " & Application.AccessError(Err.Number)
'---
Ciao.
-- 
Sergio MAZZA 

 ha scritto nel messaggio 
news:eltjcl$jr0$1...@tdi.cu.mi.it...

Scusate se mi intrometto, interessava anche a me la stampa unione e visto 
che qui c'è qualcuno che ne capisce veramento volevo chiedere:
se voglio aprire un documento di word in stampa unione da access, come posso 
fare in modo che il file di word si apra posizionandosi sul record che in 
quel momento sto visualizzando in access?
Io sono riuscito solo a fare in modo che word quando si apre si sposta 
sull'ultimo record esistente nel database, in questo modo:
ho inserito sotto il vba della documento di word 
"ActiveDocument.MailMerge.DataSource.ActiveRecord = wdLastRecord"
Spero mi sia fatto capire.
Grazie per l'eventuale aiuto.

 Sergio MAZZA
Grazie mille, lo provo e ti faccio sapere. 

 ha scritto nel messaggio 
news:hKFgh.80930$uv5.8...@twister1.libero.it...

Sergio MAZZA mi dai una mano GRAZIE.


 Sergio MAZZA
Perfetto Sergio funziona benissimo, grazie mille.
volevo chiederti ancora 2 cose, sai percaso se è possibile impostare il path 
di default da vba in cui far salvare il documento di stampa unione generato 
in modo che all'uscita si ritrovi in quel percorco anzichè in documenti? 
questo senza modificare il percorso standard degli altri documenti office 
che dovrà restare "documenti"
è possibile proteggere i campi di word collegati alla tabella di access in 
modo che l'utilizzatore che vuole personalizzare il documento prima di 
creare la stampa unione non possa in alcun modo cancellare i campi o 
modificarli?
«Ragione»
«Indirizzo»
«Cap» «Comune » («Provincia»)
Vorrei evitare che modificasse o eliminasse questi campi
Grazie.

 Grazie.
Ciao.
-- 
Sergio MAZZA 

 Sergio MAZZA mi dai una mano GRAZIE.
Access ti dai una calmata; GRAZIE?!?
Mi sembra che eri già seguito da altri in un altro tuo messaggio; e 
comunque, il suggerimento che ti hanno dato:
- quello di crearti o una tabella temporanea che contenga il solo record per 
la stampa unione;
- o una query filtrata sul record che stai visualizzando sulla form;
sono validi.
Ovviamente il documento di stampa unione dovrà essere associato o alla 
tabella temporanea o alla query.
Hai provato ad applicarli?
Ciao.
-- 
Sergio MAZZA