Problema runtime + script + activex

di il
16 risposte

Problema runtime + script + activex

Salve a tutti. Chiedo cortesemente aiuto.
Ho un file access .accdb (formato 2007) ed attraverso uno script .vbs lancio un modulo contenuto nello stesso.
Sulla macchina ho installato solo il runtime access 2007 (e non voglio installare access) , so windows 10.

Questo il mio script .vbs:

dim accessApp
set accessApp = createObject("Access.Application")
accessApp.OpenCurrentDataBase("C:\Temp\test.accdb")
accessApp.Run "MailValoreOrdini"
accessApp.Quit
set accessApp = nothing

purtroppo mi da errore di run time di microsoft vb script: il componente ActiveX non può creare l'oggetto: 'Access.application'
So bene che se avessi access su quel pc funzionerebbe, ma come detto sopra vorrei solo installare il runtime.
Ho provato ad eseguire il .vbs anche con cscript.exe ma stesso errore.

non riesco a trovare soluzione e risolvere, qualcuno mi aiuta perfavore? Grazie.

16 Risposte

  • Re: Problema runtime + script + activex

    Quando usi il runtime sai bene che devi lanciare prima l'eseguibile di Runtime ed associarlo all'app... quindi quello che fai ovviamente non può funzionare.

    Puoi provare, ma non ho fatto alcun test, a lanciare l'app con shell e recuperare l'istanza da li poi comandi la tua macro.
    
    dim WSHShell
        Set WSHShell = WScript.CreateObject("WScript.Shell")
        WSHShell.Run _
            chr(34) & "C:\Program Files\Microsoft Office\OFFICE11\MSACCESS.EXE" _
            & chr(34) & " " & "C:\Test.accdb"
        Set WSHShell = Nothing
    
    NAcc = GetObject("c:\Test.accdb")
    NAcc.OpenCurrentDatabase ("C:\Test.accdb")
    NAcc.Run "MailValoreOrdini"
    Ecc...
    
    Provalo ma.non garantisco...
  • Re: Problema runtime + script + activex

    Grazie @Alex
    purtroppo il tuo suggerimento mi apre il file .accdb ma non mi esegue il modulo "MailValoreOrdini" di mio interesse, anzi mi restituisce il medesimo errore alla tua riga 8 (la prima che inizia con NAcc per intenderci).
    Non capisco come poter risolvere.

    @Alex ha scritto:


    Quando usi il runtime sai bene che devi lanciare prima l'eseguibile di Runtime ed associarlo all'app... quindi quello che fai ovviamente non può funzionare.

    Puoi provare, ma non ho fatto alcun test, a lanciare l'app con shell e recuperare l'istanza da li poi comandi la tua macro.
    
    dim WSHShell
        Set WSHShell = WScript.CreateObject("WScript.Shell")
        WSHShell.Run _
            chr(34) & "C:\Program Files\Microsoft Office\OFFICE11\MSACCESS.EXE" _
            & chr(34) & " " & "C:\Test.accdb"
        Set WSHShell = Nothing
    
    NAcc = GetObject("c:\Test.accdb")
    NAcc.OpenCurrentDatabase ("C:\Test.accdb")
    NAcc.Run "MailValoreOrdini"
    Ecc...
    
    Provalo ma.non garantisco...
  • Re: Problema runtime + script + activex

    Manca il set sulla variabile NAcc nell'uso del GetObject... prova a metterlo purtroppo ho scritto a braccio e qualche cosa scappa sempre...
  • Re: Problema runtime + script + activex

    Ho messo questo Set
    set NAcc = create.object ('Access.application') ma stesso errore

    secondo me devo mettere un altro tipo di set, giusto?

    @Alex ha scritto:


    Manca il set sulla variabile NAcc nell'uso del GetObject... prova a metterlo purtroppo ho scritto a braccio e qualche cosa scappa sempre...
  • Re: Problema runtime + script + activex

    Non devi usare le createobject perché la access.application altro non è che Access completo e tu non l'hai installato.
  • Re: Problema runtime + script + activex

    Perdonami ma non so proprio cosa devo usare.
    Purtroppo non ho competenze e conoscenze cosi elevate, chiedo cortesemente indicazione, grazie.

    oregon ha scritto:


    Non devi usare le createobject perché la access.application altro non è che Access completo e tu non l'hai installato.
  • Re: Problema runtime + script + activex

    Segui il consiglio di Alex. Se non va, non si può fare.
  • Re: Problema runtime + script + activex

    Esatto temo non sia fattibile era l'unica cosa che mi veniva in mente da provare...

    Potrebbe tuttavia valutare l'uso di COMMAND$... e lanciare l'applicativo passando un parametro che discrimina su Autoexec ed esegue la macro...
  • Re: Problema runtime + script + activex

    Crossposting al 99,98%
    "stackoverflow.com/questions/71185569/solution-for-script-error-with-only-access-runtime"
  • Re: Problema runtime + script + activex

    Philcattivocarattere ha scritto:


    Crossposting al 99,98%
    "stackoverflow.com/questions/71185569/solution-for-script-error-with-only-access-runtime"
    Ciao @Philcattivocarattere, sto facendo qualche riflessione sulla questione cross posting.
    Aveva senso quando c'era Masterdrive che condivideva gli stessi principi di netiquette di questo portale.
    Un argomento in cross posting veniva bloccatto da entrambe le parti coinvolte.
    IProgrammatori potrebbe gestire il cross posting con Stackoverflow ma quest'ultimo non gestirà il cross posting con IProgrammatori.
    Nei prossimi giorni aggiornerò il regolamento.
    Per @mobile75: in deroga al regolamento questo thread non verrà bloccato.
    Un saluto a tutti e buona continuazione
  • Re: Problema runtime + script + activex

    Ok Toki, personalmente continuo a rispettare la regola non rispondendo (o cessano di rispondere) a thread con evidente cp, non perché lo faceva md ma per una forma di rispetto di chi risponde.
  • Re: Problema runtime + script + activex

    oregon ha scritto:


    Ok Toki, personalmente continuo a rispettare la regola non rispondendo (o cessano di rispondere) a thread con evidente cp, non perché lo faceva md ma per una forma di rispetto di chi risponde.
    Sono assolutamente d'accordo con la tua posizione.
    Si tratta di due questioni differenti seppur legate.
    Una cosa è il blocco del thread per cross posting (livello piattaforma) e un'altra è la facoltà degli utenti di continuare a discutere nel thread (livello personale).
  • Re: Problema runtime + script + activex

    Toki ha scritto:


    Una cosa è il blocco del thread per cross posting (livello piattaforma) e un'altra è la facoltà degli utenti di continuare a discutere nel thread (livello personale).
    Non ho capito granché ma non mi sono nemmeno sforzato. Seguirò l'argomento cross posting nell'apposita sezione del forum e in base a quello mi regolo.
  • Re: Problema runtime + script + activex

    Salve a tutti, ho letto solo ora il discorso del crossposting.
    Premetto che sono un principiante e non faccio questa professione, ma mi comporto come se lo fosse ed il mio solo intento è quello di imparare, crescere e svilupparmi degli strumenti semplici sebbene complessi e non banali. Non ho trovato soluzione al mio problema e, a conferma di ciò, la stessa questione l'avevo messa su masterdrive qualche mese fa (che con dispiacere ho notato non essere più attivo e non so il motivo). Sarà mia premura in ogni caso pubblicare qui la soluzione, magari non sarà la più performante, ritengo sia doveroso e corretto farlo, magari potrà aiutare chi è al mio livello.
    Grazie.
Devi accedere o registrarti per scrivere nel forum
16 risposte