Newsgroup: it.comp.appl.access
Titolo: errore di run time '53'???????????????

sintetizzo brevemente i termini del problema, già postato qualche giorno fa
(come si fa ad aprire un documento word da access?), al momento risolto in
modo non soddisfacente ricorrendo ad un controllo associato al campo
"Oggetto OLE".
la questione è questa.
vorrei creare un archivio di documenti, lettere ecc.
ho quindi creato una tabella che contiene i seguenti campi:
documento
data
estensione
..........
i documenti possono essere file doc o pdf e il loro nome per mia convenzione
è
documento"-"data"."estensione
poi ho creato una maschera, in forma tabellare, basata su questa tabella ed
ho aggiunto un bottone che, una volta clickato, dovrebbe appunto aprire il
documento relativo al record in questione, documento il cui nome, come detto
prima è
documento"-"data"."estensione (per semplicità ho ipotizzato che il percorso
sia c:\windows\desktop\)
così, anche seguendo le indicazioni che mi sono state cortesemente fornite
ho approntato questo codice:
Private Sub Comando11_Click()
Dim documento As String
Dim dat As String
Dim est As String
Dim stappname As String
Dim db As Database
Dim rs As Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("note", dbOpenTable)
documento = rs!documento
dat = rs!dat
est = rs!estensione
If est = "doc" Then
stappname = "winword.exe c:\windows\desktop\" & documento & "-" & dat & "."
& est
ElseIf est = "pdf" Then
stappname = "acrobat.exe c:\windows\desktop\" & documento & "-" & dat & "."
& est
End If
Call Shell(stappname, 1)
Exit_Comando11_Click
Set db = Nothing
Set rs = Nothing
Exit Sub
Err_Comando11_click '
MsgBox Err.Description
Resume Exit_Comando11_Click
End Sub
ma quando vado ad eseguire il codice la routine si blocca sulla stringa
Exit_Comando11_Click
che viene evidenziata com sub o function non definita
analogamente, se elimino questa istruzione fino a exit sub si blocca sulla
stringa
Err_Comando11_click
ancora una volta per lo stesso errore (sub o function non definita)
ho provato ad eliminare anche questa parte del codice, ma questa volta
ho il seguente errore
errore di run time '53'
impossibile trovare il file (eppure esiste il file perchè c'è)
eseguo il debug e viene evidenziata in giallo l'istruzione
call shell (stappname, 1)
ho pensato forse di aver scritto male la concatenzazione, così, per
semplificare ho usato un'altra denominazione, questa volta formata da
documento & est (avendo cura di scrivere l'estensione come .doc opp .pdf)
quindi il codice modificato è
Private Sub Comando11_Click()
Dim documento As String
Dim dat As String
Dim est As String
Dim stappname As String
Dim db As Database
Dim rs As Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("note", dbOpenTable)
documento = rs!documento
dat = rs!dat
est = rs!estensione
If est = ".doc" Then
stappname = "winword.exe c:\windows\desktop\" & documento & est
ElseIf est = ".pdf" Then
stappname = "acrobat.exe c:\windows\desktop\" & documento & est
End If
Call Shell(stappname, 1)
End Sub
ma l'errore è lo stesso
sono disperato, ma di che si tratta?
ringrazio sinceramente chiunque possa aiutarmi
Antonio

Hai provato a mettere i due punti dopo la stringa "Exit_Comando11_Click" e
la stringa "Err_Comando11_click".
Ciao

 Antonio
Nei tuoi messaggi precedenti indicavi che il nome del file poteva essere
formato così: 12345.1233-eeee.doc o pdf; insomma veniva incluso nel nome del
file due volte il punto. Window non reagisce bene se vengono inseriti dei
"caratteri speciali" nei nomi di file, prova a togliere il punto e guarda
cosa succede...
Ciao.

 ha scritto nel messaggio
news:9bhb33$r0h$1...@suite03.caspur.it...

ho provato a semplificare
così il file l'ho chiamato pippo.doc e conseguentemente nel codice ho
impostato documento.estensione
quindi il codice usato è
Private Sub Comando11_Click()
Dim documento As String
Dim dat As String
Dim est As String
Dim stappname As String
Dim db As Database
Dim rs As Recordset
Dim stringa As String
Set db = CurrentDb
Set rs = db.OpenRecordset("note", dbOpenTable)
documento = rs!documento
dat = rs!dat
est = rs!estensione
stringa = "winword.exe c:\windows\desktop\" & documento & "." & est
If est = "doc" Then
stappname = stringa
ElseIf est = "pdf" Then
stappname = "acrobat.exe c:\windows\desktop\" & documento & "." & est
End If
Call Shell(stappname, 1)
End Sub
ma continua a darmi lo stesso errore (run time 53 impossibile trovare il
file)
potete darmi ancora qualche indicazione?
grazie per la pazienza
ciao a tutti
Antonio


Togli i documenti dal desktop e mettili in una cartella vedrai che
funziona...
Ciao.