Avvio procedura Access e passaggio parametri da testo email

di il
18 risposte

Avvio procedura Access e passaggio parametri da testo email

Dispongo dell'applicazione A che prepara un messaggio e lo invia via email ad un certo indirizzo
Dentro il testo dell'email vorrei inserire un indirizzo fittizio del tipo  preventivo@12345 o qualcosa del genere
L'operatore che riceve il messaggio (Outlook/Thunderbird/ecc..) dovrebbe poter cliccare sull'indirizzo preventivo@12345 all'interno del testo email ed il pc dovrebbe visualizzare il documento indicato, usando la procedura Access che chiamero' B,  in questo caso il preventivo 12345
Quindi la richiesta e' per avere un aiuto su come fare per avviare una procedura Access B, passandogli come parametro “preventivo=12345”, quando l'operatore clicca o doppio-clicca o comunque indica in qualche modo sul testo email in corrispondenza a  preventivo@12345
Da notare che la procedura B usata per visualizzare i preventivi potrebbe anche essere gia' in esecuzione sul pc corrente, ed in questo caso si tratta non di avviarla quanto di passargli solamente il parametro corretto
Come fareste voi?

18 Risposte

  • Re: Avvio procedura Access e passaggio parametri da testo email

    Scusa ma non ho capito… se la Mail se viene aperta da Applicazione Esterna, fatico a comprendere come pensavi di far interagire il Link in un Oggetto Mail di Applicazione esterna con una procedura di Access… ma sicuramente sto perdendomi io…!

  • Re: Avvio procedura Access e passaggio parametri da testo email

    Non so se può funzionare, nel senso che non so se un link nel corpo della mail possa avviare un applicativo ma io tenterei impostando il link composto dal nome dell'eseguibile Access (completo eventualmente del percorso) + il nome del tuo programma Access (completo eventualmente del percorso) + il parametro (preceduto da /cmd)

    Access, tramite VBA e la funzione command è in grado di recuperare i parametri passati da riga di comando : https://support.microsoft.com/en-us/office/command-function-fec67826-7fd7-48ed-a7aa-479c020ffaa4

    Nel caso funzionasse (sinceramente dubito) saresti comunque esposto alle rogne dei percorsi degli applicativi …

  • Re: Avvio procedura Access e passaggio parametri da testo email

    04/09/2023 - @Alex ha scritto:


    Scusa ma non ho capito… se la Mail se viene aperta da Applicazione Esterna, fatico a comprendere come pensavi di far interagire il Link in un Oggetto Mail di Applicazione esterna con una procedura di Access… ma sicuramente sto perdendomi io…!

    No, la email viene ricevuta sul classico client di posta tipo Outlook o Thunderbird o simile, ed aperta manualmente dall'operatore

    L'operatore vede il messaggio, nel testo del messaggio ci deve essere un qualcosa tipo hyperlink o roba simile, che consenta cliccandoci sopra di far partire qualcosa

    Il ‘partire qualcosa’ si riferisce all'avvio della procedura Access B che servira' per visualizzare il documento rchiesto (nell'esempio sopra e' un preventivo ma potrebbe essere un qualsiasi alro documento)

  • Re: Avvio procedura Access e passaggio parametri da testo email

    Se nella mail inserisci un Collegamento Ipertestuale formattato correttamente con HREF…. del tipo:

    “C:\Users\TuaCartella\TestParametro.accdb /cmd PIPPO”

    Poi su AutoExec vai a leggere Command() ottieni Pippo… può essere questo il tuo caso…?

    P.S. Fai attenzione che l'apertura del File da Hyperlink chiede tutta una serie di Permessi e genera ALLERT di sicurezza…

    Per il Command vedi anche questo esempio:

    https://stackoverflow.com/questions/43176599/opening-microsoft-access-with-parameters

  • Re: Avvio procedura Access e passaggio parametri da testo email

    Aggiungo alla risposta di Alex cosa cercare con Google per avere ulteriori spunti :

    “open application passing arguments from hyper-link in email”

  • Re: Avvio procedura Access e passaggio parametri da testo email

    04/09/2023 - @Alex ha scritto:


    Se nella mail inserisci un Collegamento Ipertestuale formattato correttamente con HREF…. del tipo:

    “C:\Users\TuaCartella\TestParametro.accdb /cmd PIPPO”

    Poi su AutoExec vai a leggere Command() ottieni Pippo… può essere questo il tuo caso…?

    P.S. Fai attenzione che l'apertura del File da Hyperlink chiede tutta una serie di Permessi e genera ALLERT di sicurezza…

    Per il Command vedi anche questo esempio:

    https://stackoverflow.com/questions/43176599/opening-microsoft-access-with-parameters

    Eh si, esattamente cosi, con l'href e poi la stringa per avviare procedura Access col cmd per il parametro

    E se la procedura Access fosse gia' in esecuzione, che dici, verrebbe avviata una seconda istanza, o quella in esecuzione passerebbe ad esegurie il comando sul cmd ?

  • Re: Avvio procedura Access e passaggio parametri da testo email

    04/09/2023 - max.riservo ha scritto:


    Non so se può funzionare, nel senso che non so se un link nel corpo della mail possa avviare un applicativo ma io tenterei impostando il link composto dal nome dell'eseguibile Access (completo eventualmente del percorso) + il nome del tuo programma Access (completo eventualmente del percorso) + il parametro (preceduto da /cmd)

    Access, tramite VBA e la funzione command è in grado di recuperare i parametri passati da riga di comando : https://support.microsoft.com/en-us/office/command-function-fec67826-7fd7-48ed-a7aa-479c020ffaa4

    Nel caso funzionasse (sinceramente dubito) saresti comunque esposto alle rogne dei percorsi degli applicativi …

    Che intendi per "rogne dei percorsi applicativi" ?

    Se nell'href ci metto il percorso completo runtime Access, il percorso completo dalla procedura da avviare ed il comando, cosa potrebbe andare storto?

  • Re: Avvio procedura Access e passaggio parametri da testo email

    05/09/2023 - amorosik ha scritto:


    Che intendi per "rogne dei percorsi applicativi" ?

    Se nell'href ci metto il percorso completo runtime Access, il percorso completo dalla procedura da avviare ed il comando, cosa potrebbe andare storto?

    Di fatto nulla se il conosci esattamente il percorso. Potresti, per ogni installazione, dover adeguare il link con il percorso adeguato nel caso non fosse lo stesso …

  • Re: Avvio procedura Access e passaggio parametri da testo email

    05/09/2023 - amorosik ha scritto:

    Eh si, esattamente cosi, con l'href e poi la stringa per avviare procedura Access col cmd per il parametro

    E se la procedura Access fosse gia' in esecuzione, che dici, verrebbe avviata una seconda istanza, o quella in esecuzione passerebbe ad esegurie il comando sul cmd ?

    Io penso che venga avviata una seconda istanza … 

    Comunque puoi fare una prova veloce per toglierti il dubbio.

  • Re: Avvio procedura Access e passaggio parametri da testo email

    05/09/2023 - max.riservo ha scritto:


    05/09/2023 - amorosik ha scritto:

    Eh si, esattamente cosi, con l'href e poi la stringa per avviare procedura Access col cmd per il parametro

    E se la procedura Access fosse gia' in esecuzione, che dici, verrebbe avviata una seconda istanza, o quella in esecuzione passerebbe ad esegurie il comando sul cmd ?

    Io penso che venga avviata una seconda istanza … 

    Comunque puoi fare una prova veloce per toglierti il dubbio.

    Si ho fatto, viene avviata altra istanza

    E quindi semplicemente avviare procedura Access ed invio comando non basta, adesso devo cercare modo di verificare se programma B sia gia' in esecuzione, e nel caso lo sia devo ‘comandare’ quello

  • Re: Avvio procedura Access e passaggio parametri da testo email

    05/09/2023 - amorosik ha scritto:


    05/09/2023 - max.riservo ha scritto:


    05/09/2023 - amorosik ha scritto:

    Eh si, esattamente cosi, con l'href e poi la stringa per avviare procedura Access col cmd per il parametro

    E se la procedura Access fosse gia' in esecuzione, che dici, verrebbe avviata una seconda istanza, o quella in esecuzione passerebbe ad esegurie il comando sul cmd ?

    Io penso che venga avviata una seconda istanza … 

    Comunque puoi fare una prova veloce per toglierti il dubbio.

    Si ho fatto, viene avviata altra istanza

    E quindi semplicemente avviare procedura Access ed invio comando non basta, adesso devo cercare modo di verificare se programma B sia gia' in esecuzione, e nel caso lo sia devo ‘comandare’ quello

    Intercettare se un'istanza di Access è già in esecuzione dovrebbe essere relativamente semplice tramite uso di qualche funzione API (basta cercare in rete).

    Temo però che i parametri passati ad Access tramite cmd non vengano riletti ogni volta che tenti di riAvviare Access (nel senso che se Access è già in esecuzione e viene avviata un'altra istanza ovviamente i parametri sono passati all'istanza che tenti di avviare e non a quella già in esecuzione  … credo che tu debba chiudere e riavviare Access o trovare una soluzione alternativa che almomento non riesco ad immaginare.

  • Re: Avvio procedura Access e passaggio parametri da testo email

    Non è così banale intercettare altra Istanza, soprattutto per questi sistemi… il SO in ogni caso offre la possibilità di usare i MUTEX…

    https://stackoverflow.com/questions/33378100/create-and-use-a-named-mutex-in-vba

    https://www.experts-exchange.com/articles/2104/Avoiding-running-multiple-instances-of-an-application.html

  • Re: Avvio procedura Access e passaggio parametri da testo email

    https://www.access-programmers.co.uk/forums/threads/check-if-another-access-is-running.149648/

    E' un argomento un po' datato ma forse può dare degli ulteriori spunti oltre ai link inviati da Alex.

    Resto comunque convinto che non sia possibile inviare ulteriori parametri ad un'istanza Access in esecuzione …

  • Re: Avvio procedura Access e passaggio parametri da testo email

    05/09/2023 - max.riservo ha scritto:


    Intercettare se un'istanza di Access è già in esecuzione dovrebbe essere relativamente semplice tramite uso di qualche funzione API (basta cercare in rete).

    Temo però che i parametri passati ad Access tramite cmd non vengano riletti ogni volta che tenti di riAvviare Access (nel senso che se Access è già in esecuzione e viene avviata un'altra istanza ovviamente i parametri sono passati all'istanza che tenti di avviare e non a quella già in esecuzione  … credo che tu debba chiudere e riavviare Access o trovare una soluzione alternativa che almomento non riesco ad immaginare.

    Eh gia', il discorso di entrare col cmd nel caso di procedura gia' in esecuzione non funzia

    Allora bisogna, da esterno, avviare una funzione del codice Access, magari passandogli dei parametri

    Che dite, da un file batch (lo uso per semplificare i test e vedere cosa si possa fare al posto della href dentro la email) e' possibile su una procedura Access gia' in esecuzione, avviare una funzione presente nel codice della procedura stessa, e magari passarci dei parametri?

Devi accedere o registrarti per scrivere nel forum
18 risposte