Newsgroup: it.comp.appl.access
Titolo: Apertura file Word

Vi espongo il problema:
Ho la necessità di visualizzare o per intero sulla stessa maschera o
attraverso il richiamo su click di un pulsante il file word corrispondente
al numero di un controllo:
mi spiego meglio con un esempio:
DB residente su c:\documenti
files word residenti su c:\documenti\ordinanze
denominazione files word: 001, 002, 003, ecc.
Maschera con il controllo "NOrdinanza" con valori 001, 002, 003 ecc.
Vorrei che all'apertura della maschera e su corrente mi visualizzare o per
intero sulla stessa maschera o attraverso il richiamo su click di un
pulsante il file word corrispondente al numero del un controllo "NOrdinanza"
Potete aiutarmi?
Grazie, Gianfranco

 ha scritto nel messaggio
news:1C9A9.713$Yw.1...@news2.tin.it...

Se il controllo della maschera che contiene il numero dell'ordinanza si
chiama NOrdinanza.
Se il pulsante di comando inserito nella maschera con il quale vuoi
visualizzare il documento si chiama ApriOrdinanza.
A fronte dell'evento "Su clic" del pulsante di comando genera la seguente
riga di codice VBA:
Private Sub Form_Current()
Me!ApriOrdinanze.HyperlinkAddress = _
"C:\documenti\ordinanze\" & Me!NOrdinanza & ".doc"
End Sub
Così facendo, pigiando il pulsante di comando, aprirai il documento word
contenuto nella cartella c:\documenti\ordinanze ed il cui nome è contenuto
nel controllo chiamato NOrdinanza.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 ha scritto nel messaggio
news:1C9A9.713$Yw.1...@news2.tin.it...

Ci sono vari metodi per ottenere il risultato che vuoi:
- funzione Shell (vedi help);
- creazione di un collegamento ipertestuale (vedi help);
- automazione OLE (vedi sito comune: 
www.sitocomune.com
);
Ciao.
--
Sergio MAZZA

 ha scritto nel messaggio
news:%iaA9.21811$Zn2.6...@twister1.libero.it...

Grazie, Roberto
Funziona perfettamente.
Posso chiederti un'ulteriore perfezionamento? e precisamente:
Qual'è il codice che indirizza la ricerca direttamente nella cartella dove
risiede il DB d'origine?
Ciao, Gianfranco


Grazie anche a te, andrò senz'altro a guardare attentamente quanto da te
consigliato
ciao, Gianfranco

 Ciao, Gianfranco
L'indirizzo della cartella che contiene il database corrente si ricava così:
Indirizzo = Left(CurrentDb.Name, Len(CurrentDb.Name) - _
Len(Dir(CurrentDb.Name)))
Quindi, nel caso in cui i documenti word fossero contenuti nella stessa
cartella che contiene il database, potresti scrivere:
Me!ApriOrdinanze.HyperlinkAddress = _
Left(CurrentDb.Name, Len(CurrentDb.Name) - _
Len(Dir(CurrentDb.Name))) & Me!NOrdinanza & ".doc"


 ha scritto nel messaggio
news:LkeA9.22726$8E3.6...@twister2.libero.it...

Sei sempre disponibile a condividere le tue cose con gli altri (in questo
caso il tuo sapere) e questo è dono di pochi.
Grazie, Gianfranco


Roberto, scusa ma perchè a casa funziona (Officexp) ed invece in ufficio no?
(Office2000)
Sarà forse il pacchetto applicativo di9 versione diversa?
Ti riporto di seguito l'errore che mi compare
"Impossibile aprire \\server\Ordinanze\GestioneOrdinanze.mdb001.doc.
Impossibile aprire il file specificato"
Come puoi aver capito in ufficio il DB "GestioneOrdinanze.mdb" è allocato su
un server
"server\Ordinanze"
Quale potrebbe essere il motivo di tale errore?
Ciao, Gianfranco

 Ciao, Gianfranco
--


 ha scritto nel messaggio
news:4jPA9.29819$Zn2.8...@twister1.libero.it...

Ho provato e questo è il risultato:
"Impossibile aprire C:\Ordinanze\GestioneOrdinanze.mdb001.doc.
Impossibile aprire il file specificato"
Ho pure rifato la maschera di sanapianta ma niente.
e mi chiedevo, perchè nell'errore mi dice, tra l'altro, che ricerca pure il
DB origine mischiandolo con il nome del file.doc

DB origine mischiandolo con il nome del file.doc
Chiedo scusa per l'intrusione, ma sembrano esserci gli spiriti.
Potresti per favore aggiungere le seguenti righe di codice, e dirci che
cosa viene fuori?
MsgBox CurrentDb.Name
MsgBox Len(CurrentDb.Name)
MsgBox Dir(CurrentDb.Name)
MsgBox Len(Dir(CurrentDb.Name))
MsgBox Me!NOrdinanza
MsgBox Len(Me!NOrdinanza)
Ciao. Claudio.

 MsgBox Len(Me!NOrdinanza)
3
in attesa

Mi scuso se da adesso e fino a domani non potrň rispondere ad eventuali
post.
Grazie e a presto, ciao

 in attesa
--


Thu, 14 Nov 2002 16:26:09 GMT, treglesa ha scritto ben 24 righe per
dire:

Provo a fare una supposizione. Secondo me si comporterebbe cosě se il
per esempio il file avesse l'attributo hidden attivo.
Per completare l'analisi (almeno spero) dovresti ancora dirmi che cosa
ti dice la seguente funzione:
MsgBox GetAttr(CurrentDb.Name)
Ciao. Claudio.

"Claudio" <c...@NOSPAMandCOsupereva.it> ha scritto nel messaggio
news:64m7tu4tdakt93sjr...@4ax.com...

Sono rientrato adesso a casa e senz'altro domattina, dall'ufficio, proverň
ad eseguire i Vostri suggerimenti.
Ciao, Gianfranco

 MsgBox GetAttr(CurrentDb.Name)
Nel file che da errore risulta 34
Ma, come consigliato da Roberto, e cioè importando in un nuovo DB quello
"posseduto" da chissà quali demoni, ho risolto il problema. Ad onor del
vero, importando solo la tabella e la maschera interessata tralasciando
tutto il resto.
Evidentemante c'è qualcosa che va in conflitto.
Grazie ancora
ciao, Gianfranco

 ha scritto nel messaggio
news:yzQA9.30113$Zn2.8...@twister1.libero.it...

Il tuo suggerimento è stato provvidenziale.
Hai sconfitto i "demoni"
Ti spiego:
Se importo tutti gli oggetti, continua a dare errore.
Se importo solo la tabella e la maschera collegata funziona.
Quindi con pazienza importerò ad uno ad uno tutti gli oggetti finchè non
avrò trovato quello che va in conflitto.
Boo! misteri di qualche mia azione maldestra
Grazie ancora, Roberto.
Ciao, Gianfranco

Evidentemante c'è qualcosa che va in conflitto.
A questo punto sono più propenso per la mia ipotesi. inserisci la
seguente funzione:
SetAttr CurrentDb.Name, vbArchive
MsgBox GetAttr(CurrentDb.Name)
E' sufficiente che tu la esegua una sola volta. Dimmi che cosa ti
restituisce. Se ti restituisce 32 come deve, togli queste funzioni che
ti ho fatto inserire, chiudi e riapri il database, e prova.
Se non dovesse ancora funzionare, riprova ad eseguire una 
MsgBox GetAttr(CurrentDb.Name)
Se ti dovesse restituire di nuovo 34, evidentemente da qualche parte del
database hai una funzione che ti risetta l'attributo hidden ogni volta
che lo apri. Fai un "cerca" per la parola SetAttr in tutto il progetto.
Informami dei risultati ed eventualmente proseguiamo.
Ciao. Claudio.

Cut
Ho eseguito quanto sopra e mi ha restituito 32.
Dopo, riaprendo il DB e cancellato le due righe di visual basic, funziona
come se nulla fosse successo.
????????????????
Boo! non ho capito nulla ......o quasi, ma poco importa visto il risultato
ottenuto.
Grazie, Claudio.
Il tuo è stato un intervento preciso e minuzioso.
Con simpatia, Gianfranco