Newsgroup: it.comp.appl.access
Titolo: creare documento word da form

Ciao, ai lettori.
Utilizzo Office XP
ho una serie di record, per ogni record devo avere la possibilità di
memorizzare tutte le lettere che ho creato e salvato con word.
Per tenere traccia dei documenti ho creato una tabella chiamata
"Documenti" con i campi:
idpratica, 
idDocumento,
descrizioneDocumento 
relazionata alla tabella Pratiche con idPratica.
Ho una form continua "Documenti" collegata alla form singola
"Pratiche" in cui ho inserito un pulsante che mi permette di aprire,
con word, un documento esistente nella pratica.
Fin qui tutto bene.
Quando devo creare un nuovo documento aggiungo un record nella form
documenti, e descrivo solo il documento, l'idPratica si copia
dall'altra form, l'idDocumento è contatore.
A questo punto cliccando sul pulsante nella form "documenti" vorrei
che automaticamente word si fermasse nella fase di scelta del modello
da applicare al documento e dopo avere effettuata la scelta dovrebbe
salvare il documento con un numero progressivo idDocumento che gli ha
assegnato la form di partenza.
Spero di essere stato chiaro, ringrazio chi mi può dare un
suggerimento su come implementare i documenti nel database.
Pino

assegnato la form di partenza.
Siccome il clima invita, ti passo alcuni spunti su cui ti potrai
divertire a lavorare.
Prevediamo una tabella in cui memorizzi i riferimenti ai modelli Word
utilizzabili (id, descrizione ecc ecc). In questa tabella ci sarà
anche un campo in cui è scritto il percorso+nome di ogni modello
C:\Pino\Modello1.dot
C:\Pino\Modello2.dot
Tramite una casella combinata attribuirai ad una variabile stringa (es
'strModWord') il precorso+nome del modello scelto.
Ora considera questo spezzone di codice
Private Sub cmdStampaAumento_Click()
On Error GoTo Err_cmdStampaAumento_Click
Dim appWord As Word.Application
Dim docWord As Word.Document
    blnWordAttivo = True
    Set appWord = GetObject(, "Word.Application")
'Tenta di 'appoggiarsi' ad una istanza di word già attiva, se nessuna
istanza è attiva tramite la 'Err_cmdStampaAumento_Click' ne apre una
nuova
AttivaDocumento:
    Set docWord = appWord.Documents.Add(strModWord)
'Apre il modello che hai scelto
    strDocFin = "C:\Pino\" & Trim$(Str$(idDocumento)) _
       & ".doc"
    docWord.SaveAs FileName:=strDocFin
'Salva il file word dandogli come nome l'idDocumento
    appWord.Visible = True
    docWord.Activate
'Ti mette a disposizione i documento
Exit Sub
Err_cmdStampaAumento_Click:
    If Err.Number = 429 Then
        Set appWord = CreateObject("Word.Application")
        Resume AttivaDocumento
    End If
    MsgBox Err.Number & " - " & Err.Description
    Resume Next
End Sub
****
Ho dato per scontato che che tu abbia una certa conoscenza di access e
vba (utilizzo della casella combinata, modalità per recuperare il
valore di idDocumento, eccetera eccetera)
Ciao
--
Alberto
No alle guerre

 [cut]

Ciao, ti ringrazio per aver risposto alla mia richiesta di aiuto.
Ho raccolto il tuo suggerimento e l'ho modificato in questo senso;
ho creato una form senza origine dati, ho inserito due subform: 
una ha come origine una tabella dei documenti creati e salvati; 
l'altra subform ha origine dati da una tabella in cui sono memorizzati
il percorso e il nome del modello di Word.
Poi ho due pulsanti: 
uno per aprire un documento esistente nella tabella dei documenti;
un'altro pulsante mi apre un documento nuovo word, con un modello
selezionato nella subform dei modelli, e me lo salva nella tabella dei
documenti con un numero progressivo e con lo stessa descrizione del
modello.
Pino.

Pino.
Quindi è tutto a posto. (vero?)
