problema con pannello comandi

Anonimo
2012-05-07T10:46:11+00:00

Buongiorno a tutti!

Mi succede una cosa strana (tanto per cambiare)!

OS=Vista Business SP2

Access 2007 SP3

Dopo l'uscita da un programma di Access, mi rimane ancora MSACCESS.EXE in memoria (si vede da "Gestione Attività").

Ciò mi crea problemi in quanto i successivi tentativi di riapertura con il tasto SHIFT trovano il programma bloccato: crea il file .laccdb su disco, ma il file non si apre! Devo necessariamente eliminare la presenza in memoria di Access gorzando la cancellazione con "Gestione Attività".

Sono diventato matto, ma dopo infiniti tentativi ho scoperto che il tutto deriva dal caricamento in avvio della maschera "Pannello Comandi" creata dall'apposito gestore.

Infatti se lancio il programma per la prima volta con il tasto SHIFT e chiudo, in memoria non resta nulla, mentre se lancio lo stesso normalmente, alla sua chiusura (sia dai comandi di Access che dal comando immesso nel pannello) in memoria rimane l'istanza (dico bene?) di Access.

A queste amare conclusioni sono arrivato utilizzando un file di Access vergine nel quale è stata creato il "Pannello Comandi" e nel quale è stato immesso il solo comando di uscita via VBA: l'inconveniente avviene sia che si adoperi questo comando, sia che si esca con i normali comandi di uscita di Access

Per ultimo segnalo anche che l'inconveniente si nota SOLO se il Pannello Comandi viene caricato all'avvio del programma (sia con l'apposita funzione che con macro Autoexec), altrimenti tutto funziona bene.

A disposizione per qualunque altra informazione, grazie per l'attenzione e per l'eventuale collaborazione

franco

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento
Risposta accettata dall'autore della domanda
Anonimo
2012-05-21T16:38:36+00:00

A Giorgio e Mauro,

a furia di "sparare nel mucchio" anche un povero operaio dell'informatica come io sono, forse riesce a trovare una provvisoria soluzione, almeno in attesa che ne arrivi una più seria.

Considerato quanto detto sia da te che da Giorgio in precedenza, ho aggiunto all'inizio della funzione "ChiudiAccess" di cui sopra:

    Dim rs As Object

    Set rs = Nothing

Così funziona, anche se non so il perché.

Attendo ulteriori suggerimenti o conclusioni, anche se mi riservo di inviarvi ulteriori esiti qualora ciò che ho notato dovesse venire smentito prossimamente..

Grazie ad entrambi della collaborazione

franco

La risposta è stata utile?

0 commenti Nessun commento

40 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2012-06-20T08:23:45+00:00

    Non vorrei che qualcuno ritenesse tamponato il problema: no, purtroppo, come detto successivamente il giorno 23 maggio, il problema esiste ancora e non è risolto.

    Al momento, e sino a che qualcuno esperto non mi suggerirà soluzioni, continuerò a tenere aperto il programma "Gestione attività" per eliminare l'istanza di Access che rimane aperta e poter quindi riaprire lo stesso con shift+enter.

    Pazienza!

    franco

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2012-05-22T23:21:21+00:00

    Ciao Mimmo,

    grazie per l'interessamento e Scusa il ritardo!

    Innanzitutto devo dire che la soluzione che avevo adottato ieri, e che ieri serviva (provata molte volte), oggi non funziona più! Assurdo, non so cosa stia succedendo a questa installazione, del resto già ripetuta più volte per entrambe le versioni e seguendo le istruzioni di Microsoft!

    Ho provato anche ad inserire nel modulo utilizzato per la chiusura il suggerimento del link che mi hai inviato.

    Con maschera "Pannello Comandi" aperta ottengo "Errore definito dall'applicazione o dall'oggetto" alla riga "frm.Close" con frm.Name="Pannello Comandi" ed il resto dell'istruzione viene ignorato.

    Con maschera "Pannello Comandi" chiusa tutta l'istruzione viene ignorata.

    Ho tentato di trovare anche con questa:

    Function Cerca()

        Dim Ao As AccessObject, Ob As Object

        Set Ob = Application.CurrentProject

        For Each Ao In Ob.AllForms

            If Ao.IsLoaded = True Then

                Debug.Print Ao.Name

            End If

        Next Ao

    End Function

    sostituendo uno ad uno tutti gli insiemi CurrentProject con il solo risultato di ottenere l'ovvio!

    A questo punto mi convinco sempre più che ci sia un problema in Windows Installer nel passaggio da 2003 a 2007 solo di Access: rimane aperto qualcosa che, per contro, l'uscita di Access dovrebbe eliminare.

    Sarebbe utile, come già chiesto, poter analizzare la memoria di WIndows per poter scoprire il problema: cosa da super esperti, non certo alla mia portata!

    Rimango in attesa o, se qualcuno lo ritiene utile, spostare la domanda in qualche altro Forum: quello di Vista per esempio!

    Grazie ancora

    franco

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2012-05-22T08:25:13+00:00

    Ciao Franco,

    prova a dare un'occhiata a : http://www.tek-tips.com/faqs.cfm?fid=6184

    Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2012-05-21T10:32:12+00:00

    Ecco! Purtroppo devo fare una correzione a quello che ho detto!

    Se in avvio non si inserisce nessuna maschera, la maschera di Pannello Comandi lanciata dopo permette la chiusura del tutto solo immettendo:

        DoCmd.Close acForm, "Pannello Comandi"

    prima di .Quit

    Ripeto tutto OK salvo che mettere la maschera in avvio o, prova appena fatta, chiamata da macro in apertura con Autoexec.

    Ritengo proprio che la causa del problema sia la permanenza di qualche oggetto in memoria, ma quale che sia, bisognerebbe avere qualche strumento diverso da quelli disponibili ad un assai comune mortale quale io sono!

    Ancora grazie

    La risposta è stata utile?

    0 commenti Nessun commento