Newsgroup: it.comp.appl.access
Titolo: Stringa di comando apertura db

Ciao,
vorrei aprire un db da un altro il comando che sto utilizzando all'interno
della sub č:
    stAppName = '"MSACCESS.EXE" "C:\Archivio\Modelli\Gestione
Offerte\1.mdb"'
    Call Shell(stAppName, 1)
credo che il problema sia nello spazio presente nel nome della cartella
che contiene il file ma non riesco a scriverlo altrimenti. 
Suggerimenti?
Grazie in anticipo.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Offerte\1.mdb"'
si scrive :
stAppName = "MSACCESS.EXE " & "C:\Archivio\Modelli\Gestione Offerte\1.mdb"
occhio allo spazio dopo .EXE


 >
Non va ricevo il messaggio che dice "impossibile trovare il file di
database 'c:\archivio\modelli\gestione.mdb'.
Come posso sostituire il caratte spazio nel nome della dir?


 Come posso sostituire il caratte spazio nel nome della dir?
Scrivi così
stAppName = "c:\programmi\office\MSACCESS.EXE " &
"C:\ArchivioModelliGestione Offerte1.mdb"
sempre che quello sia il path del file msaccess.exe
Antonio

 Antonio
Non ne vuole sapere. Ho provato con questa stringa ma il risultato non
cambia. 
    stAppName = "c:\Programmi\Microsoft Office\OFFICE11\MSACCESS.EXE " &
"C:\Archivio\Modelli\Gestione Offerte\1.mdb"
Il comando tronca dove trova lo spazio nel nome della cartella dove č il
file.
E' allucinante!


 --
Prova ad utilizzare il nome ms-dos della cartella.
es.
"C:\Archivio\Modelli\Gestio~1\1.mdb"
Ciao.
--
Sergio MAZZA

 Sergio MAZZA
Sono sotto W2000PRO. Ho fatto comunque il tentativo ma non va. Inizia a
diventare pesante.
Ciao


 --
Io sotto Win2000srv e il percorso che originariamente era:
C:\Documents and Settings\Administrator\Documenti\temp
da un errore non trovando la cartella: C:\Documents.
Modificando in:
C:\Docume~1\Administrator\Documenti\temp
risulta:
Shell "msaccess.exe C:\Docume~1\Administrator\Documenti\temp\prova.mdb"
E funziona...
Ciao.
--
Sergio MAZZA

 Sergio MAZZA
Non capisco proprio il motivo.... utilizzando una cartella dove il nome
non contenga spazi va tutto bene.... altrimenti continua a piantarsi. E
pensare che il path non passa per le config. utenti di win.
Qualche suggerimento (escluso il cambiare cartella?)


 --
Intanto non capisco perché rileggendo il tuo messaggio il mio esempio non
porta le \... Boh!
Comunque hai provato e funziona o no?
Io ho provato anche con script WSH
Es.
Dim oWshShell, oExec As Integer
Set oWshShell = CreateObject("WScript.Shell")
oExec = oWshShell.Run("MSAccess.exe" & "
C:\Docume~1\Administrator\Documenti\temp\Prova.mdb", , -1)
e se levo la tilde da lo stesso problema.
Probabilmente la shell si appoggia al formato file 8.3 del dos per
compatibilità con i vecchi programmi.
Un'alternativa potrebbe essere OLE:
es.
Dim oApp As Access.Application
Set oApp = CreateObject("Access.Application")
oApp.OpenCurrentDatabase ("C:\Documents and
settings\Administrator\Documenti\temp\prova.mdb")
Dipende da cosa devi fare...
Ciao.
--
Sergio MAZZA

 file.
Ma con questa stappname poi cosa fai?
Antonio

 Sergio MAZZA
Per le barre ho lo stesso problema...mah. Ok. Veniamo al "conquibbus".
L'obiettivo è aprire un db da un db differente che, per motivi vari, non
posso collegare (e non so quando avrò la pox di intervenire drasticamente
per legare le tabelle e la str del db). 
Apparentemente la soluzione più semplice era nella sintassi proposta di
cui abbiamo riempito mezza videata del NG.
A conti fatti...NO! Proverò con OLE ma mi resta dentro il tarlo che
"rosica". La cosa peggiore è che nel persorso per richiamare access cè una
cartella con lo spazio nel nome. Se poi penso che la macchina su cui
lavoro è stata re-inizializzata 3 settimane fa mi viene un embolo.
Non ho parole spero che la notte porti consiglio.
Grazie mille
Mauro.
PS: Ammmazza che polverone che è scoppiato sulle regole di comportamento
del NG. Non è possibile pubblicare le + importanti per i nuovi come me?
Non sono così visibili per chi entra.
Grazie di nuovo.


 Antonio
eseguo la chiamata 
call shell (stappname,1)
Mauro


 --
Le trovi sul sito comune 
www.sitocomune.com
 e nei messaggi di Roberto con
l'oggetto: "come comportarsi in un newsgroup ovvero istruzioni per l'uso",
che viene inviato ad intervalli regolari e che regolarmente non viene letto
da nessuno.
Ciao.
--
Sergio MAZZA
--
Sergio MAZZA

 call shell (stappname,1)
E se fai un debug.print di stappname?
Antonio

 > > > file.
da linea di comando (ex-msdos) se in un comando c'č uno spazio si mettono le
virgolette:
"c:\programmi\microsoft office\msaccess.exe" (se lanci cmd.exe e metti
questo comando vedi che access parte)
dando invio si avvia access altrimenti senza le virgolette la parte dopo
'microsoft'  viene interpretata come un parametro del comando..
alora fai una stringa concatenata usando per il carattere  "  la funzione
chr()
non so che codice sia "  (non me ne ricordo, trovalo)
viene una cosa cosě
strApp = chr(x) & "c:\programmi\microsoft office\msaccess.exe" & chr(x) dove
x č il codice ascii eper le virgolette
vedrai che funziona
Ale in the newsgroup

 vedrai che funziona
Certo, è proprio quello, anch'io faccio così nelle mie applicazioni e non
c'avevo pensato!
strapp = """c:\programmi\...msaccess.exe """ & """c:\pathdb\db.mdb"""
Antonio

 wrote in message
news:qKt%b.33856$Kc3.1...@twister2.libero.it...

ah funziona con le doppie virgolette ?
non me ne ricordavo
il codice ascii è 34  quindi chr(34) restituisce "
Ale in the NG
(mi ispirò nu vecchio film di wim wenders del '73 "Alice nelle città")

 E' allucinante!
Grazie a tutti!!!
Il pupo obbedisce! Con le doppie virgolette funzia tutto a dovere! 
Che soddisfazione!
Ciao 
Mauro
