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

Errore Access di Memoria insufficiente

1,471 views
Skip to first unread message

Luigi Lazzaretti

unread,
Jul 28, 2009, 9:08:08 AM7/28/09
to
Ho questo dannato problema: cerco di aprire una maschera in funzione
da tempo, in visualizzazione struttura o dati, ed esce questo
messaggio: "Memoria insufficiente. Impossibile eseguire l'operazione.
Chiudere le applicazioni non necessarie, quindi ritentare
l'operazione."
Da questo momento in poi non c'è più niente fare per le maschere,
anche facendo la riorganizzazione.
Non può essere un reale problema di memoria perchè ho 3 GB, lavoro
solo con Access e con maschere ben più pesanti.
Questo problema si è vericato su maschere diverse dello stesso
database e anche su database diversi.
La mia sensazione, per non dire certezza è che il problema nasce dal
modulo VBA associato. Infatti entrando nell'editor per altre vie
riesco a vedere il codice, a compilarlo, se cerco di cambiarlo prima
si blocca con il solito messaggio di Memoria insufficiente, poi mi fa
andare un pò avanti con la cancellazione di qualche carattere e
infine blocca complemente tutta l'applicazione. (in pratica ho
cercato di "tagliare" tutto il codice della maschera e poi di re-
incollarlo ma è impossibile). Una cosa che avevo scoperto è che la
memorizzazione del codice VBA è leggermente più lenta della
memorizzazione della corrrispondente maschera e quindi rischi alti di
"forms corrupted" nascono ad esempio quando si usa un notebook
funzionante solo con batteria per la lentezza del disco. Ma nel caso
attuale sto lavorando con PC desktop di buona potenza con Access
aggiornato. Qualcuno riesce a darmi qualche dritta senza dover perdere
tuttto il lavoro? Grazie Lugi52

Alessandro Cara

unread,
Jul 28, 2009, 10:45:14 AM7/28/09
to
Luigi Lazzaretti ha scritto:

> Ho questo dannato problema: cerco di aprire una maschera in funzione
> da tempo, in visualizzazione struttura o dati, ed esce questo
> messaggio: "Memoria insufficiente. Impossibile eseguire l'operazione.
> Chiudere le applicazioni non necessarie, quindi ritentare
> l'operazione."
Questo succede nella quasi totalita' dei casi a causa di chiamate
ricorsive senza uscita.
Cosa significa "in funzione da tempo"? Che variazioni ci sono state nel
frattempo?

> Da questo momento in poi non c'� pi� niente fare per le maschere,
> anche facendo la riorganizzazione.
Cosa significa questo frase. E comunque non e' con la riorganizzazione ,
laddove il problema sia inerente qualche maschera particolare, che lo
superi. Talvolta il ripristino si puo' ottenere utilizzando il parametro
"recompile" sul lancio dell'mdb.

E se una volta in stallo ottieni, da subito, il "memoria insufficiente"
cio' e' sintomo che nel run precedente c'e' stata allocazione di tutta
la RAM, lo spazio disponibile su disco c'entra relativamente (non mi
dilungo), senza che poi tale memoria sia stata rilasciate (parola chiave
per ricerca "memory leak")
--
ac

Karl Donaubauer

unread,
Jul 28, 2009, 11:28:10 AM7/28/09
to
Luigi Lazzaretti wrote:
> Ho questo dannato problema: cerco di aprire una maschera in funzione
> da tempo, in visualizzazione struttura o dati, ed esce questo
> messaggio: "Memoria insufficiente. Impossibile eseguire l'operazione.
> Chiudere le applicazioni non necessarie, quindi ritentare
> l'operazione."
> Da questo momento in poi non c'� pi� niente fare per le maschere,
> anche facendo la riorganizzazione.
> Non pu� essere un reale problema di memoria perch� ho 3 GB, lavoro
> solo con Access e con maschere ben pi� pesanti.
> Questo problema si � vericato su maschere diverse dello stesso

> database e anche su database diversi.
> La mia sensazione, per non dire certezza � che il problema nasce dal

> modulo VBA associato. Infatti entrando nell'editor per altre vie
> riesco a vedere il codice, a compilarlo, se cerco di cambiarlo prima
> si blocca con il solito messaggio di Memoria insufficiente, poi mi fa
> andare un p� avanti con la cancellazione di qualche carattere e

> infine blocca complemente tutta l'applicazione. (in pratica ho
> cercato di "tagliare" tutto il codice della maschera e poi di re-
> incollarlo ma � impossibile). Una cosa che avevo scoperto � che la
> memorizzazione del codice VBA � leggermente pi� lenta della

> memorizzazione della corrrispondente maschera e quindi rischi alti di
> "forms corrupted" nascono ad esempio quando si usa un notebook
> funzionante solo con batteria per la lentezza del disco. Ma nel caso
> attuale sto lavorando con PC desktop di buona potenza con Access
> aggiornato. Qualcuno riesce a darmi qualche dritta senza dover perdere
> tuttto il lavoro?

Strano che persino con un tale problema la gente non scrive
la versione di Access e l'SP.

Ci sono tanti versioni di questo problema che di solito dipendono
dalla versione. Vedi p.e. www.donkarl.com/it?FAQ7.13 o
http://support.microsoft.com/search/default.aspx?mode=a&query=out+of+memory&spid=915&catalog=LCID%3D1033&1033comm=1

Hai provato se succede solo con questo database o anche con un nuovo?

Se si tratta di un problema di solo questo db leggi:

Come procedere con database danneggiati
www.donkarl.com/it?FAQ1.27

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


Luigi Lazzaretti

unread,
Jul 29, 2009, 7:19:47 AM7/29/09
to
On 28 Lug, 17:28, "Karl Donaubauer" <NoS...@donkarl.com> wrote:
> Luigi Lazzaretti wrote:
> > Ho questo dannato problema: cerco di aprire una maschera in funzione
> > da tempo, in visualizzazione struttura o dati, ed esce questo
> > messaggio: "Memoria insufficiente. Impossibile eseguire l'operazione.
> > Chiudere le applicazioni non necessarie, quindi ritentare
> > l'operazione."
> > Da questo momento in poi non c'è più niente fare per le maschere,
> > anche facendo la riorganizzazione.

> > Non può essere un reale problema di memoria perchè ho 3 GB, lavoro
> > solo con Access e con maschere ben più pesanti.
> > Questo problema si è vericato su maschere diverse dello stesso

> > database e anche su database diversi.
> > La mia sensazione, per non dire certezza è che il problema nasce dal

> > modulo VBA associato. Infatti entrando nell'editor per altre vie
> > riesco a vedere il codice, a compilarlo, se cerco di cambiarlo prima
> > si blocca con il solito messaggio di Memoria insufficiente, poi mi fa
> > andare un pò avanti con la cancellazione di qualche carattere e

> > infine  blocca complemente tutta l'applicazione. (in pratica ho
> > cercato di "tagliare" tutto il codice della maschera e poi di re-
> > incollarlo ma è impossibile). Una cosa che avevo scoperto è che la
> > memorizzazione del codice VBA è leggermente più lenta della

> > memorizzazione della corrrispondente maschera e quindi rischi alti di
> > "forms corrupted" nascono ad esempio  quando si usa un notebook
> > funzionante solo con batteria per la lentezza del disco. Ma nel caso
> > attuale sto lavorando con PC desktop di buona potenza con Access
> > aggiornato. Qualcuno riesce a darmi qualche dritta senza dover perdere
> > tuttto il lavoro?
>
> Strano che persino con un tale problema la gente non scrive
> la versione di Access e l'SP.
>
> Ci sono tanti versioni di questo problema che di solito dipendono
> dalla versione. Vedi p.e.www.donkarl.com/it?FAQ7.13ohttp://support.microsoft.com/search/default.aspx?mode=a&query=out+of+...

>
> Hai provato se succede solo con questo database o anche con un nuovo?
>
> Se si tratta di un problema di solo questo db leggi:
>
>  Come procedere con database danneggiati
>  www.donkarl.com/it?FAQ1.27
>
> --
> HTH
> Karl
> *********
> Access FAQ:www.donkarl.com/it

Aggiungo qualche dettaglio:
- Sì, hai ragione ho dimenticato la versione. Si tratta di Access 2003
- Formato 2003 - aggiornato con ultime patch.
- La dimensione del .mdb è di circa 15 MB, le tabelle sono sun .mdb
esterno.
- In effetti il file .mdb è una applicazione creata con Office 2000
(formato 2000) e poi convertita in 2003. Avendo già avuto questo tipo
di problema in passato (sia su 2000 che su 2003, e senza riuscire a
risolverlo) ho creato recentemente un nuovo .mdb e copiato uno per uno
gli oggetti. Ma vedo che alla fine il problema è tornato.
- Si è lavorato anche su PC diversi. Quello su cui si verificato
l'errore è sicuramente potente, affidabile ed aggiornato.
- I riferimenti delle librerie in VBA sono stati controllati per PC e
corrispondono
- Ho aperto il database anche con Office 2007 (su un PCdiverso): il
problema permane
- Le varie versioni di Office sono sempre state aggiornate all'ultimo
livello di patch
- Il problema ultimo si verifica su una maschera e relativa
sottomaschera che erano state create tempo fa, utilizzate nel tempo e
modificate poco prima che cominciasse ad apparire l'errore. Le
modifiche erano state abbastanza semplici (cambio di nomi, ecc)
- Il database e le maschere in questione sono certamente "non banali"
ma proprio per questo si è evitato di mettere nelle maschere immagini
e quant'altro appesantisse inutilmente, di usare wizard, ecc.
- Quando dico che con le 2 maschere non c'è più niente da fare intendo
che non riesco a visualizzarle, aprirle in struttura, esportare, fare
un copia e incolla (una duplicazione con trascinamento mi era riuscita
ma poi di nuovo il messaggio..)

La cosa strana è che in qualche modo ero entrato nei moduli VBA legati
alle form. Prima mi è uscito il solito messaggio, poi mi ha permesso
di andare avanti con la cancellazione di qualche carattere, poi si è
bloccato definitivamente. Eppure l'editor dovrebbe essere una cosa
abbastanza semplice. Tra l'altro riesco a compliare il codice senza
errori o a scrivere in altri moduli!
Escludete del tutto l'ipotesi che il problema sia nel VBA? Io ho
sempre questo dubbio che il problema nasca da una non perfetta
sincronia di memorizzazione del codice VBA con la struttura della
maschera. Come vi dicevo spesso i problemi che ho avuto (anche altri
diversi da quello in questione) sono nati dal notebook senza carica-
batteria attaccato e quindi con velocità del disco ridotta, ho visto
che anche su PC Desktop ma con versioni più pesanti quali Office 2007
facendo un rinomina o un copia e incolla di una maschera "velocente",
magari con trascinamento del mouse, ogni tanto dice che non è riuscito
a fare l'operazione o "corrompe" (definitivamente) l'oggetto (alla
fine per sicurezza apro in visualizzazione e salvo con nome diverso).
(A proposito mi piacerebbe sapere la vostra opinione su Office 2007)
Se riuscite a darmi una dritta vi ringrazio, ho capito che dovrò
prendere una vecchia versione delle 2 maschere corrupted, ma se
almeno riuscissi ad evitare questo problema in futuro..
Grazie Luigi Lazzaretti

Oscar Manfredini

unread,
Jul 29, 2009, 7:28:04 AM7/29/09
to

"Luigi Lazzaretti"

Se riuscite a darmi una dritta vi ringrazio, ho capito che dovr�


prendere una vecchia versione delle 2 maschere corrupted, ma se
almeno riuscissi ad evitare questo problema in futuro..

>

Per evitare fastidiosi problemi in fase di design ho sempre lavorato cos�
(problemi zero):

Lavoro sempre su una copia di backup e al termine della giornata importo
solo le Forms/Reports modificate o create ex novo nella copia "Master"
dell'applicativo.

In generale Access > 97 ha maggiori problemi d'affidabilit� in fase di
sviluppo, soprattutto se l'opzione autocorrect � settata a True. E' il tuo
caso?

Ciao: Oscar


Luigi Lazzaretti

unread,
Jul 29, 2009, 7:44:40 AM7/29/09
to
On 29 Lug, 13:28, "Oscar Manfredini" <oscar.manfred...@libero.it>
wrote:
> "Luigi Lazzaretti"
>
> Se riuscite a darmi una dritta vi ringrazio, ho capito che dovrò

> prendere una vecchia versione delle 2  maschere corrupted, ma se
> almeno  riuscissi ad evitare questo problema in futuro..
>
>
>
> Per evitare fastidiosi problemi in fase di design ho sempre lavorato così

> (problemi zero):
>
> Lavoro sempre su una copia di backup e al termine della giornata importo
> solo le Forms/Reports modificate o create ex novo nella copia "Master"
> dell'applicativo.
>
> In generale Access > 97 ha maggiori problemi d'affidabilità in fase di
> sviluppo, soprattutto se l'opzione autocorrect è settata a True. E' il tuo
> caso?
>
> Ciao: Oscar

Grazie del consiglio, vedrò come riesco ad adattarlo alla mia
situazione.
Il rischio è che tu salvi un oggetto che è sicuramente OK in quel
momento e magari non accorgi, fino a quando non li usi, che questo va
a creare problemi su altri oggetti.
Quello che mi è successo alla fine è stata una sottomaschera che
sembrava andare bene con le modifiche ma che riaprendo il database il
giorno dopo ha rovinato se stessa e la maschera da cui dipendeva.
Comunque è una idea interessante. Grazie

Oscar Manfredini

unread,
Jul 29, 2009, 10:33:12 AM7/29/09
to

"Luigi Lazzaretti" <


Grazie del consiglio, vedr� come riesco ad adattarlo alla mia
situazione.
Il rischio � che tu salvi un oggetto che � sicuramente OK in quel


momento e magari non accorgi, fino a quando non li usi, che questo va
a creare problemi su altri oggetti.

Quello che mi � successo alla fine � stata una sottomaschera che


sembrava andare bene con le modifiche ma che riaprendo il database il
giorno dopo ha rovinato se stessa e la maschera da cui dipendeva.

>

La mia sensazione, per�, � che se tu avessi lavorato su una copia, invece
che sul "master", avresti rilevato problemi gi� nella fase d'importazione
delle modifiche.
Lavorando in questo modo non ho guai simili ai tuoi da anni. E mi pare un
bel record con Access > 97 ;-)

Comunque, al di l� di tutto, credo che tu faccia copie giornaliere delle tue
applicazioni conservando almeno gli ultimi dieci giorni.
In tal modo, anche in caso di problemi perdi solo una giornata di lavoro...

Ciao: Oscar


0 new messages