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

Apertura altro Database

22 views
Skip to first unread message

giovi

unread,
Oct 3, 2009, 5:37:01 AM10/3/09
to
Ciao a tutti! Vorrei salvare i dati dei database ( A e B ) collegati
all'applicativo (C). Penso perciò di dover aprire un nuovo database (D),
quello di salvataggio. Come faccio ad aprirlo da C ? Ho letto sulla FAQ di
Karl il paragrafo 1.13:

Shell "C:\Foo\Office\MSAccess.exe C:\Foo\MioDb.mdb", vbNormalFocus 'apre un
altro DB e la nuova finestra viene attivata
DoCmd.Quit 'chiude l'attuale istanza di Access

Ho creato un'etichetta su una maschera e ho modificato il codice sopra con
questo:

Shell "C:\Programmi\Chiesa\Salva.mdb", vbNormalFocus
DoCmd.Quit

ma il pgm mi dà: Chiamata di Routine o argomento non validi.
Non parliamo poi se anzichè un percorso fisso ci metto uno variabile, e cioè:

Dim pathProgrammi As String
pathProgrammi = Environ("ProgramFiles")
Shell "pathProgrammi & "\Chiesa\Salva.mdb", vbNormalFocus
DoCmd.Quit

perchè mi dice Errore di sintassi.

Mi potete dire dove sbaglio ? Grazie, Giovi.

Karl Donaubauer

unread,
Oct 3, 2009, 6:23:21 AM10/3/09
to
giovi wrote:
> Ciao a tutti! Vorrei salvare i dati dei database ( A e B ) collegati
> all'applicativo (C).

Per me non è chiaro cosa vuoi fare e quindi se è necessario
di aprire l'altro database.

> Penso perciò di dover aprire un nuovo database
> (D), quello di salvataggio. Come faccio ad aprirlo da C ? Ho letto
> sulla FAQ di Karl il paragrafo 1.13:
>
> Shell "C:\Foo\Office\MSAccess.exe C:\Foo\MioDb.mdb", vbNormalFocus
> 'apre un altro DB e la nuova finestra viene attivata
> DoCmd.Quit 'chiude l'attuale istanza di Access
>
> Ho creato un'etichetta su una maschera e ho modificato il codice
> sopra con questo:
>
> Shell "C:\Programmi\Chiesa\Salva.mdb", vbNormalFocus
> DoCmd.Quit
>
> ma il pgm mi dà: Chiamata di Routine o argomento non validi.
> Non parliamo poi se anzichè un percorso fisso ci metto uno
> variabile, e cioè:
>
> Dim pathProgrammi As String
> pathProgrammi = Environ("ProgramFiles")
> Shell "pathProgrammi & "\Chiesa\Salva.mdb", vbNormalFocus
> DoCmd.Quit
>
> perchè mi dice Errore di sintassi.

Perché tenti di aprire un file senza programma.
Il mio codice apre Access (MSAccess.exe) e come parametro
aggiungie l'mdb da aprire dentro di Access.

Se non sai dove si trova l'Access.exe puoi provarlo così:

Shell _
Chr$(34) & SysCmd(acSysCmdAccessDir) & "MSAccess.exe" & Chr$(34) _
& " " & Chr$(34) & pathProgrammi & "\Chiesa\Salva.mdb" & Chr$(34)

--
HTH
Karl
*********
Access FAQ: www.donkarl.com/it

giovi

unread,
Oct 4, 2009, 12:28:01 PM10/4/09
to
Grazie per le spiegazioni Karl, funziona!
Non mi sono perso in spiegazioni per non farvi perder tempo, ma la cosa è
semplice: l'applicativo C è collegato alle tabelle del database A e B. Se
voglio salvare i dati di A e B, devo uscire da C, perchè è collegato.
Ora è tutto ok ; )



giovi

unread,
Oct 4, 2009, 12:51:01 PM10/4/09
to
Ho visto che se passo da un applicativo all'altro attraverso MSAccess.exe,
quando chiudo l'ultimo applicativo mi rimane aperta la finestra vuota di
Access. C'è la possibilità, alla chiusura di un applicativo, di chiudere
anche l'EVENTUALE finestra vuota di Access? ( dico eventuale perchè non è
detto che sia aperta ) Grazie ancora!

Karl Donaubauer

unread,
Oct 5, 2009, 3:55:13 AM10/5/09
to

Se usi il commando Quit per chiudere un applicativo si deve
anche chiudere Access. Se non succede, vedi:

Access non si chiude
www.donkarl.com/it?FAQ7.5

0 new messages