Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Associare file word a record access

336 views
Skip to first unread message

Gioconda ed Emanuele

unread,
Jun 28, 2009, 5:23:13 PM6/28/09
to
Ringrazio anticipatamente tutti per l�aiuto.
Ho creato una maschera dove inserendo i dati finiscono in una tabella,
questi dati, tramite un pulsante "esporta" vengono esportati in Word ed in
automatico Word mi salva il documento con l�estenzione
"nometabella_id(contatore).doc" . Ora vorrei che questo file che crea, venga
associato al record in automatico.
Manualmente sono riuscito creando un oggetto Ole ed a questo manualmente
associo il file.
Io vorrei che questo accadesse in automatico.

Grazie.....

Sergio MAZZA

unread,
Jun 29, 2009, 2:42:02 AM6/29/09
to
"Gioconda ed Emanuele" <g.suc...@arcor.de> ha scritto nel messaggio
news:4a47df40$0$30237$9b4e...@newsspool1.arcor-online.net...

Se ti salva il documento "in automatico", ti basta scrivere in un campo il
path+nomeFile. Non ti serve il campo OLE; perch� in questo caso non ti serve
il salvataggio del file di disco...

Ciao.
--
Sergio MAZZA

Gioconda ed Emanuele

unread,
Jun 29, 2009, 12:59:03 PM6/29/09
to
Grazie della risposta, ma non essendo un esperto di access ho qualche
dubbio.
Il path+nomefile devo scriverlo io manualmente oppure pu� avvenire in
automatico? e se si, come?
Inoltre vorrei che aprendo la maschera e scorrendo i record salvati ci sia
un pulsante oppure altro con cui si possa aprire il file associato.
Grazie.
"Sergio MAZZA" <sergi...@tiscali.it> schrieb im Newsbeitrag
news:4a4867bd$0$703$5fc...@news.tiscali.it...

Gioconda ed Emanuele

unread,
Jun 29, 2009, 12:59:32 PM6/29/09
to
Grazie della risposta, ma non essendo un esperto di access ho qualche
dubbio.
Il path+nomefile devo scriverlo io manualmente oppure pu� avvenire in
automatico? e se si, come?
Inoltre vorrei che aprendo la maschera e scorrendo i record salvati ci sia
un pulsante oppure altro con cui si possa aprire il file associato.
Grazie.

"Sergio MAZZA" <sergi...@tiscali.it> schrieb im Newsbeitrag
news:4a4867bd$0$703$5fc...@news.tiscali.it...

Sergio MAZZA

unread,
Jun 30, 2009, 2:38:18 AM6/30/09
to
"Gioconda ed Emanuele" <g.suc...@arcor.de> ha scritto nel messaggio
news:4a48f2fb$0$31880$9b4e...@newsspool3.arcor-online.net...

> Grazie della risposta, ma non essendo un esperto di access ho qualche
> dubbio.
> Il path+nomefile devo scriverlo io manualmente oppure pu� avvenire in
> automatico? e se si, come?
> Inoltre vorrei che aprendo la maschera e scorrendo i record salvati ci sia
> un pulsante oppure altro con cui si possa aprire il file associato.
> Grazie.

Per favore scrivi in coda al messaggio precedente, come sto facendo io;
grazie (www.sitocomune.com Sezione ICAA - Come comportarsi in questo NG).

Scusa hai scritto: "...vengono esportati in Word ed in automatico Word mi
salva il documento con l�estenzione "nometabella_id(contatore).doc" . ";
come succede tutto questo?
Riporta qui il codice che utilizzi...

Ciao.
--
Sergio MAZZA

Gioconda ed Emanuele

unread,
Jun 30, 2009, 11:50:00 AM6/30/09
to
Grazie anticipatamente.

Questo � il codice che utilizzo in basso a tutto c� il codice che salva il
file :

Private Sub Comando36_Click()
Dim Wrd As Word.Application, Doc As Word.Document
Dim Rst As DAO.Recordset
Dim Modello As String, NomeFile As String, i As Integer
Dim Record As String, SQL As String
Dim Tbl As String * 1
Dim TotRiga As Currency, Totale As Currency
Dim ReplSel As Boolean

'Trova il nome, completo di percorso, del modello word
'("Lettera.dot" nella stessa cartella del database)
Modello = CurrentDb.Name
Modello = Left(Modello, Len(Modello) - Len(Dir(Modello))) & "copertura
finanziaria.dot"

On Error Resume Next 'gestione errori step by step
'cerca un'istanza di Word gi� aperta
Set Wrd = GetObject(, "Word.Application")
If Err.Number = 429 Then
'se c'� stato un errore � perch� Word non era gi� aperto:
'aprilo adesso
Set Wrd = CreateObject("Word.Application")
End If

On Error GoTo 0 'ripristina la segnalazione degli errori

'rendi visibile la finestra di Word:
Wrd.Visible = True
'attiva Word e portalo in primo piano:
Wrd.Activate
'abilita l'opzione "Sostituisci la selezione". Se non fosse
'attiva, i campi modulo rimarrebbero all'interno del testo.
ReplSel = Wrd.Options.ReplaceSelection
Wrd.Options.ReplaceSelection = True

'Apri un nuovo documento basato sul modello:
Set Doc = Wrd.Documents.Add(Modello)
'attivalo e portalo in primo piano:
Doc.Activate
pausa
'seleziona il bookmark del primo campo ufficio :
Doc.Bookmarks("ufficio").Select
pausa
'e sovrascrivilo con il contenuto dei campi
'ufficio:
Wrd.Selection.TypeText Me.CasellaCombinata38
pausa
'seleziona il bookmark del primo campo numero :
Doc.Bookmarks("numero").Select
pausa
'e sovrascrivilo con il contenuto dei campi
'numero:
Wrd.Selection.TypeText Me.Numero
pausa
'seleziona il bookmark del primo campo data :
Doc.Bookmarks("data").Select
pausa
'e sovrascrivilo con il contenuto dei campi
'data:
Wrd.Selection.TypeText Me.Data
pausa
'seleziona il bookmark del primo campo oggetto:
Doc.Bookmarks("oggetto").Select
pausa
'e sovrascrivilo con il contenuto dei campi
'oggetto:
Wrd.Selection.TypeText Me.oggetto
pausa
'seleziona il bookmark del primo campo preventivo n.:
Doc.Bookmarks("prev").Select
pausa
'e sovrascrivilo con il contenuto dei campi
'preventivo n.:
Wrd.Selection.TypeText Me.preven
pausa
'seleziona il bookmark del primo campo data preventivo:
Doc.Bookmarks("datap").Select
pausa
'e sovrascrivilo con il contenuto dei campi
'data preventivo:
Wrd.Selection.TypeText Me.dataprev
pausa
'seleziona il bookmark del primo campo protocollo:
Doc.Bookmarks("prot").Select
pausa
'e sovrascrivilo con il contenuto dei campi
'protocollo:
Wrd.Selection.TypeText Me.prot
pausa
'seleziona il bookmark del primo campo data protocollo:
Doc.Bookmarks("dataprev").Select
pausa
'e sovrascrivilo con il contenuto dei campi
'data protocollo:
Wrd.Selection.TypeText Me.dataprot
pausa
'seleziona il bookmark del primo campo creditore:
Doc.Bookmarks("creditore").Select
pausa
'e sovrascrivilo con il contenuto dei campi
'Creditore:
Wrd.Selection.TypeText Me.CasellaCombinata33
pausa
'seleziona il bookmark del primo campo importo:
Doc.Bookmarks("importo").Select
pausa
'e sovrascrivilo con il contenuto dei campi
'importo:
Wrd.Selection.TypeText Me.importo
pausa
'seleziona il bookmark del primo campo responsabile servizio:
Doc.Bookmarks("respserv").Select
pausa
'e sovrascrivilo con il contenuto dei campi
'responsabile servizio:
Wrd.Selection.TypeText Me.CasellaCombinata44
pausa
'seleziona il bookmark del primo campo importo:
Doc.Bookmarks("importo1").Select
pausa
'e sovrascrivilo con il contenuto dei campi
'importo:
Wrd.Selection.TypeText Me.importo
pausa
'seleziona il bookmark del primo campo intervento:
Doc.Bookmarks("intervento").Select
pausa
'e sovrascrivilo con il contenuto dei campi
'intervento:
Wrd.Selection.TypeText Me.intervento
pausa
'seleziona il bookmark del primo campo capitolo:
Doc.Bookmarks("cap").Select
pausa
'e sovrascrivilo con il contenuto dei campi
'capitolo:
Wrd.Selection.TypeText Me.capitolo
pausa
'seleziona il bookmark del primo campo impegno n:
Doc.Bookmarks("imp").Select
pausa
'e sovrascrivilo con il contenuto dei campi
'impegno n:
Wrd.Selection.TypeText Me.impegnon
pausa
'seleziona il bookmark del primo campo responsabile finanziario:
Doc.Bookmarks("respfin").Select
pausa
'e sovrascrivilo con il contenuto dei campi
'responsabile servizio finanziario:
Wrd.Selection.TypeText Me.respfin


'ripristina il valore originario dell'opzione
'"Sostituisci la selezione"
Wrd.Options.ReplaceSelection = ReplSel

'avvisa l'utente che l'esportazione � terminata
Wrd.Application.WordBasic.MsgBox "Esportazione terminata", "Esportazione
dati da Access"


''per SALVARE il documento come Lettera_<IDcliente>_<progressivo>.doc:
NomeFile = Left(Modello, Len(Modello) - 4) & "_" & Format(Me.Numero,
"000") & "_"
''cerca il primo progressivo disponibile per l'IDcliente selezionato
i = 1
While Len(Dir(NomeFile & Format(i, "000") & ".doc")) > 0
i = i + 1
Wend
Doc.SaveAs NomeFile & Format(i, "000") & ".doc"


End Sub

Sergio MAZZA

unread,
Jun 30, 2009, 12:40:33 PM6/30/09
to
"Gioconda ed Emanuele" <g.suc...@arcor.de> ha scritto nel messaggio
news:4a4a3429$0$31867$9b4e...@newsspool3.arcor-online.net...

> Grazie anticipatamente.
>
> Questo � il codice che utilizzo in basso a tutto c� il codice che salva il
> file :
>
> Private Sub Comando36_Click()
---omissis---

> ''per SALVARE il documento come Lettera_<IDcliente>_<progressivo>.doc:
> NomeFile = Left(Modello, Len(Modello) - 4) & "_" & Format(Me.Numero,
> "000") & "_"
> ''cerca il primo progressivo disponibile per l'IDcliente selezionato
> i = 1
> While Len(Dir(NomeFile & Format(i, "000") & ".doc")) > 0
> i = i + 1
> Wend
> Doc.SaveAs NomeFile & Format(i, "000") & ".doc"
>
>
> End Sub

Il nome del file non � questo: NomeFile & Format(i, "000") & ".doc"?


Ciao.
--
Sergio MAZZA

Gioconda ed Emanuele

unread,
Jun 30, 2009, 12:55:48 PM6/30/09
to
>> Private Sub Comando36_Click()
> ---omissis---
>> ''per SALVARE il documento come Lettera_<IDcliente>_<progressivo>.doc:
>> NomeFile = Left(Modello, Len(Modello) - 4) & "_" & Format(Me.Numero,
>> "000") & "_"
>> ''cerca il primo progressivo disponibile per l'IDcliente selezionato
>> i = 1
>> While Len(Dir(NomeFile & Format(i, "000") & ".doc")) > 0
>> i = i + 1
>> Wend
>> Doc.SaveAs NomeFile & Format(i, "000") & ".doc"
>>
>>
>> End Sub
>
> Il nome del file non � questo: NomeFile & Format(i, "000") & ".doc"?
>
>

Il nome file che salva � : nomefile(modello
word)_id(contatore)_000(progressivo).doc

Ciao.

Gioconda ed Emanuele

unread,
Jun 30, 2009, 5:28:42 PM6/30/09
to
In pratica il codice che utilizzo � un esempio creato dal Signor Marco
(Namor).
"Esempio di uso dell'Automazione per l'invio e la formattazione di dati in
Microsoft Word, usando i Bookmarks di Word per identificare le posizioni in
cui inserire i dati".

Grazie

Sergio MAZZA

unread,
Jul 1, 2009, 2:12:29 AM7/1/09
to
"Gioconda ed Emanuele" <g.suc...@arcor.de> ha scritto nel messaggio
news:4a4a4396$0$31340$9b4e...@newsspool4.arcor-online.net...

>
> Il nome file che salva � : nomefile(modello
> word)_id(contatore)_000(progressivo).doc
>
> Ciao.


Ma se conosci l'istruzione che fa quello che chiedi, dove sta il problema?
Da quello che vedo nel codice utilizzi, per riempire il documento word, i
dati visualizzati al momento sulla maschera; se vuoi associare a quel record
il nome del file word appena generato, in un campo [nomeFile] (di tipo
testo) non farai altro che fare:
...


Doc.SaveAs NomeFile & Format(i, "000") & ".doc"

Me!nomeFile = NomeFile & Format(i, "000") & ".doc"
Me.Refresh '<-- se vuoi scrivere subito le modifiche al record
End Sub
...


Ciao.
--
Sergio MAZZA

Gioconda ed Emanuele

unread,
Jul 1, 2009, 12:11:27 PM7/1/09
to
Ho creato nella tabella un campo di tipo testo chiamandolo "Nomefile". Ma
ora dove devo scrivere il codice che mi hai consigliato? Ho provato ad
aggiungerlo al codice del pulsante che mi esporta i dati in word, ma mi da
sempre errore runtime 3163 sul rigo Me!nomefile = nomefile & Format(i,
"000") & ".doc" .

Grazie della pazienza.

Gioconda ed Emanuele

unread,
Jul 2, 2009, 11:46:03 AM7/2/09
to
Nessuno pu� darmi una mano? Vi ringranzio infinitamente se qualcuno pu�
darmi un consiglio!! � urgente. Grazie

Sergio MAZZA

unread,
Jul 2, 2009, 12:06:11 PM7/2/09
to
"Gioconda ed Emanuele" <g.suc...@arcor.de> ha scritto nel messaggio
news:4a4bb125$0$31327$9b4e...@newsspool4.arcor-online.net...

Ma la maschera da dove esegui il codice � associata alla tabella?

Ciao.
--
Sergio MAZZA

Gioconda ed Emanuele

unread,
Jul 2, 2009, 1:11:29 PM7/2/09
to
Si la maschera � associata alla tabella. Nella tabella ho creato il campo
nomefile. Grazie.

Sergio MAZZA

unread,
Jul 3, 2009, 2:26:01 AM7/3/09
to
"Gioconda ed Emanuele" <g.suc...@arcor.de> ha scritto nel messaggio
news:4a4cea41$0$31876$9b4e...@newsspool3.arcor-online.net...

> Si la maschera � associata alla tabella. Nella tabella ho creato il campo
> nomefile. Grazie.


Allora, come ti ho gi� proposto, questo esempio dovrebbe fare quello che
chiedi:

Valerio Valentini

unread,
Jul 3, 2009, 3:43:17 AM7/3/09
to

"Sergio MAZZA" <sergi...@tiscali.it> ha scritto nel messaggio
news:h2k89l$ch0$1...@tdi.cu.mi.it...

Ciao a tutti, e ciao a Sergio,
leggendo dall'esterno la discussione mi viene un dubbio: ma esiste nella
maschera il campo Me!nomeFile, o voleva scriverlo direttamente nella
tabella?

Ciao Valerio.


Sergio MAZZA

unread,
Jul 3, 2009, 4:42:34 AM7/3/09
to
"Valerio Valentini" <val...@accessgroup.it> ha scritto nel messaggio
news:4a4db695$1...@news.telnetwork.it...

> Ciao a tutti, e ciao a Sergio,
> leggendo dall'esterno la discussione mi viene un dubbio: ma esiste nella
> maschera il campo Me!nomeFile, o voleva scriverlo direttamente nella
> tabella?
>
> Ciao Valerio.

Se voleva scrivere in un campo ole il documento word, presumo che abbia
capito che per ogni record dovr� salvare il nome del file doc generato nel
campo "nomeFile".
A quanto dice il campo "nomeFile" di tipo testo, in tabella non esisteva e
poi l'ha creato; ora se la form � associata direttamente alla tabella, se
ricordo bene, non ha bisogno di inserire una casella di testo associata al
campo "nomeFile"; il riferimento Me!nomeFile c'� gi�. Diverso � il caso se
ha associato la form ad una query che non comprende il nuovo campo
"nomeFile"...

Ciao.
--
Sergio MAZZA

Gioconda ed Emanuele

unread,
Jul 3, 2009, 12:55:46 PM7/3/09
to
Purtroppo il codice che mi hai suggerito non funziona.
Ricapitolando, ho una maschera associata direttamente alla tabella, nella
maschera ho creato un campo "nomefile" preso dalla tabella, ho aggiunto il
codice che mi hai suggerito al codice gi� esistente che mi esporta i dati in
word.
Funziona sempre come prima, cio� mi crea il file word, ma mi porta un errore
di runtime sulla riga che mi hai suggerito.
Non so cosa fare, sarebbe utile se posto il database? se si, come lo posto?

Grazie.
"Sergio MAZZA" <sergi...@tiscali.it> schrieb im Newsbeitrag
news:h2kg9m$j0d$1...@tdi.cu.mi.it...

Sergio MAZZA

unread,
Jul 4, 2009, 3:10:20 AM7/4/09
to
"Gioconda ed Emanuele" <g.suc...@arcor.de> ha scritto nel messaggio
news:4a4e3839$0$31875$9b4e...@newsspool3.arcor-online.net...

> Purtroppo il codice che mi hai suggerito non funziona.
> Ricapitolando, ho una maschera associata direttamente alla tabella, nella
> maschera ho creato un campo "nomefile" preso dalla tabella, ho aggiunto il
> codice che mi hai suggerito al codice gi� esistente che mi esporta i dati
> in word.
> Funziona sempre come prima, cio� mi crea il file word, ma mi porta un
> errore di runtime sulla riga che mi hai suggerito.
> Non so cosa fare, sarebbe utile se posto il database? se si, come lo
> posto?
> Grazie.


Per favore scrivi la risposta in coda al messaggio precedente, come faccio
io; grazie. (www.sitocomune.com - Sezione ICAA - Come comportarsi in questo
NG.

Una prova semplice semplice � assegnare alla casella di testo una qualsiasi
stringa:
...
Me!nomeFile = "c:\documenti\prova.doc"
...

Se anche qui ti presenta errore bisogner� trovare un esorcista.

Re-invia il codice (Tutto) che esegui per creare il documento word...

Ciao.
--
Sergio MAZZA

Gioconda ed Emanuele

unread,
Jul 4, 2009, 5:59:31 AM7/4/09
to
Ho fatto la prova che mi hai detto.
Cosi funziona perfettamente! : nel campo "nome file" compare
c:\documenti\prova.doc, senza che esca nessun errore.

Il codice che eseguo � questo:

Private Sub Comando36_Click()
Dim Wrd As Word.Application, Doc As Word.Document
Dim Rst As DAO.Recordset

Dim Modello As String, nomefile As String, i As Integer

Wrd.Selection.TypeText Me.data

''per SALVARE il documento come Lettera_<IDcliente>.doc:
nomefile = Left(Modello, Len(Modello) - 4) & "_" & Format(Me.Numero) &
"_"
Doc.SaveAs nomefile & Format("2009") & ".doc"

Me!nomefil = "c:\documenti\prova.doc"


Me.Refresh '<-- se vuoi scrivere subito le modifiche al record


'azzera le variabili oggetto
Set Doc = Nothing
Set Wrd = Nothing
'NB: L'azzeramento degli oggetti Doc e Wrd senza la loro
'preventiva chiusura (Doc.Close e Wrd.Quit)
'fa s� che dopo l'esportazione dei dati
'Word e il documento rimangano aperti
End Sub

"Gioconda ed Emanuele" <g.suc...@arcor.de> schrieb im Newsbeitrag
news:4a47df40$0$30237$9b4e...@newsspool1.arcor-online.net...

Valerio Valentini

unread,
Jul 4, 2009, 11:45:11 AM7/4/09
to

"Sergio MAZZA" <sergi...@tiscali.it> ha scritto nel messaggio
news:h2kg9m$j0d$1...@tdi.cu.mi.it...

> "Valerio Valentini" <val...@accessgroup.it> ha scritto nel messaggio
> news:4a4db695$1...@news.telnetwork.it...
>> Ciao a tutti, e ciao a Sergio,
>> leggendo dall'esterno la discussione mi viene un dubbio: ma esiste nella
>> maschera il campo Me!nomeFile, o voleva scriverlo direttamente nella
>> tabella?
>>
>> Ciao Valerio.
>
> Se voleva scrivere in un campo ole il documento word, presumo che abbia
> capito che per ogni record dovr� salvare il nome del file doc generato nel
> campo "nomeFile".
> A quanto dice il campo "nomeFile" di tipo testo, in tabella non esisteva e
> poi l'ha creato; ora se la form � associata direttamente alla tabella, se
> ricordo bene, non ha bisogno di inserire una casella di testo associata al
> campo "nomeFile"; il riferimento Me!nomeFile c'� gi�. Diverso � il caso se
> ha associato la form ad una query che non comprende il nuovo campo
> "nomeFile"...
>
> Ciao.
> --
> Sergio MAZZA

Ho imparato qualcosa di nuovo. Ciao e grazie.


Gioconda ed Emanuele

unread,
Jul 4, 2009, 6:48:19 PM7/4/09
to
Ho fatto la prova che mi hai detto.
Cosi funziona perfettamente! : nel campo "nome file" compare
c:\documenti\prova.doc, senza che esca nessun errore.

Il codice che eseguo � questo:

Private Sub Comando36_Click()


Dim Wrd As Word.Application, Doc As Word.Document
Dim Rst As DAO.Recordset

Dim Modello As String, nomefile As String, i As Integer

Wrd.Selection.TypeText Me.data

''per SALVARE il documento come Lettera_<IDcliente>.doc:


nomefile = Left(Modello, Len(Modello) - 4) & "_" & Format(Me.Numero) &
"_"
Doc.SaveAs nomefile & Format("2009") & ".doc"

Me!nomefil = "c:\documenti\prova.doc"

Me.Refresh '<-- se vuoi scrivere subito le modifiche al record

Sergio MAZZA

unread,
Jul 5, 2009, 3:04:17 AM7/5/09
to
"Gioconda ed Emanuele" <g.suc...@arcor.de> ha scritto nel messaggio
news:4a4fdc33$0$32670$9b4e...@newsspool2.arcor-online.net...

> Ho fatto la prova che mi hai detto.
> Cosi funziona perfettamente! : nel campo "nome file" compare
> c:\documenti\prova.doc, senza che esca nessun errore.

Quindi la costruzione della stringa del nome del file non � corretta.
Per vedere cosa viene scritto visualizza la finestra immediata (CTRL-G) e
inserisci l'istruzione che stampa il contenuto nella finestra:
...


'per SALVARE il documento come Lettera_<IDcliente>.doc:
nomefile = Left(Modello, Len(Modello) - 4) & "_" & Format(Me.Numero) & "_"

debug.print nomefile '<-- scrive nella finestra immediata
exit sub '<-- termina l'esecuzione della sub

Doc.SaveAs nomefile & Format("2009") & ".doc"

Gioconda ed Emanuele

unread,
Jul 5, 2009, 5:01:17 AM7/5/09
to
Grazie Sergio, la soluzione era talmente semplice!!!
In pratica non funzionava perch� la casella di testo che avevo creato era di
soli 50 caratteri portandola a 255 la soluzione che mi avevi suggerito tu
FUNZIONA PERFETTAMENTE!!
Grazie infinitamente.....

"Sergio MAZZA" <sergi...@tiscali.it> schrieb im Newsbeitrag

news:4a50581b$1$6840$5fc...@news.tiscali.it...

Sergio MAZZA

unread,
Jul 5, 2009, 5:23:25 AM7/5/09
to
"Gioconda ed Emanuele" <g.suc...@arcor.de> ha scritto nel messaggio
news:4a506bdd$0$31343$9b4e...@newsspool4.arcor-online.net...

> Grazie Sergio, la soluzione era talmente semplice!!!
> In pratica non funzionava perch� la casella di testo che avevo creato era
> di soli 50 caratteri portandola a 255 la soluzione che mi avevi suggerito
> tu FUNZIONA PERFETTAMENTE!!
> Grazie infinitamente.....


S�, vabb� ma ti avevo chiesto di rispondere in coda al messaggio precedente!

Comunque; per evitare futuri problemi con la lunghezza dei percorsi (un path
>50 caratteri non � semplice da gestire), spezza in 2 le informazioni
creando 2 nuovi campi in tabella:
- path, 255 caratteri, testo
- nomeFile, 255 caratteri, testo

Che se ho capito bene il codice il path lo trovi nella variabile Modello;
quindi:
...


Doc.SaveAs nomefile & Format("2009") & ".doc"

Me!path = Left(nomefile & Format("2009") & ".doc", InStrRev(nomefile &
Format("2009") & ".doc", "\"))
Me!nomefile = mid(nomefile & Format("2009") & ".doc",len(Me!path))
...

Da verificare in debug mode...

Ciao.
--
Sergio MAZZA

Gioconda ed Emanuele

unread,
Jul 5, 2009, 6:54:42 AM7/5/09
to

"Sergio MAZZA" <sergi...@tiscali.it> schrieb im Newsbeitrag
news:4a5077b1$0$6828$5fc...@news.tiscali.it...

oppss! Scusa.

Ora un�altra cosa, vorrei che premendo un pulsante deve apire il file word
associato al campo nomefile.
Ho provato a convertire il nomefile in collegamento ipertestuale ma non
funge.
Come posso fare?

Come sempre molte grazie.

Sergio MAZZA

unread,
Jul 6, 2009, 2:23:25 AM7/6/09
to
"Gioconda ed Emanuele" <g.suc...@arcor.de> ha scritto nel messaggio
news:4a508673$0$30234$9b4e...@newsspool1.arcor-online.net...

>
> Ora un�altra cosa, vorrei che premendo un pulsante deve apire il file word
> associato al campo nomefile.
> Ho provato a convertire il nomefile in collegamento ipertestuale ma non
> funge.
> Come posso fare?
>
> Come sempre molte grazie.

Non serve convertire nulla; ti riporto il suggerimento di Namor:
'---
Metti un pulsante a fianco del controllo che contiene il nome del file e
nella propriet� "Testo descrizione controllo" ci scrivi "Apri il file".
Sull'evento Corrente della maschera fai
Me.Apri.HyperlinkAddress = Me.Percorso & "\" & Me.NomeFile
(sostituisci "Apri" con il nome del tuo pulsante)
Namor
'---
http://groups.google.it/group/it.comp.appl.access/browse_thread/thread/53e88fe24efe072b/a00da048625d57a7?hl=it&lnk=gst&q=apertura+documento+ipertestuale+hyperlink#a00da048625d57a7


Ciao.
--
Sergio MAZZA

Gioconda ed Emanuele

unread,
Jul 6, 2009, 12:51:53 PM7/6/09
to

"Sergio MAZZA" <sergi...@tiscali.it> schrieb im Newsbeitrag
news:4a519f06$0$6832$5fc...@news.tiscali.it...
Ho fatto esattamente come hai detto tu ho scritto il codice direttamente sul
rigo di fianco a "su corrente" della maschera
ma mi da un errore " Impossibile trovare la macro Me". Ho provato a generare
il codice in vba sempre "su corrente" in questo caso FUNZIONA per� quando
cambio record mi da errore :( "errore runtime 94: Utilizzo non valido di
Null"

Scusa la mia incapacit� ma non so cosa fare!

Grazie come sempre della collaborazione.

Sergio MAZZA

unread,
Sep 7, 2009, 7:55:31 AM9/7/09
to
"Gioconda ed Emanuele" <g.suc...@arcor.de> ha scritto nel messaggio
news:4a522baa$0$31340$9b4e...@newsspool4.arcor-online.net...

> Ho fatto esattamente come hai detto tu ho scritto il codice direttamente
> sul rigo di fianco a "su corrente" della maschera
> ma mi da un errore " Impossibile trovare la macro Me". Ho provato a
> generare il codice in vba sempre "su corrente" in questo caso FUNZIONA
> per� quando cambio record mi da errore :( "errore runtime 94: Utilizzo
> non valido di Null"
>
> Scusa la mia incapacit� ma non so cosa fare!
>
> Grazie come sempre della collaborazione.

Quando il campo � vuoto (leggi: il file non esiste/non � nella posizione
indicata) dovrai non eseguire le istruzioni VBA.
Fai un test utilizzando la funzione Dir:
...
if Dir(Me.Percorso & "\" & Me.NomeFile) <> "" Then
Me!Apri.HyperlinkAddress = Me.Percorso & "\" & Me.NomeFile
Else
...che famo?...
End If

0 new messages