7. Bug

7.1   Riferimenti 7.12 La conversione fallisce
7.2   Can't find Language DLL 7.13 Memoria insufficiente
7.3   Licenza mancante 7.14 A97 e A00 sullo stesso computer
7.4   Non è un indice di questa tabella 7.15 I report in A00 perdono le impostazioni di stampa
7.5   Access non si chiude 7.16 L'importazione/l'esportazione di file di testo fallisce
7.6   Hyperlink apre il programma di posta elettronica 2 volte 7.17 La creazione di un MDE/ACCDE non riesce
7.7   File esterno alla rete Intranet 7.18 Le autocomposizioni non partono in A00
7.8   Blocco numeri (SendKeys) 7.19 SendObject non funziona
7.9   ActiveX non è in grado di creare l'oggetto 7.20 OLE server non registrato
7.10 Impossibile trovare il driver ISAM 7.21 Connessione di rete che si perde in A00 mdb
7.11 Dim DB As Database produce un errore 7.22 Le tabelle collegate di Excel sono di sola lettura
   
7.1 Riferimenti
http://www.donkarl.com/it?FAQ7.1 aggiornato 2015-12-11

Problema

In un database le funzioni standard di VBA non vengongo più riconosciute, e compare il messaggio di errore:
"Impossibile trovare il progetto o la libreria".
O in una query che utilizza, per esempio, le funzioni Left, Right, Mid, Date ecc. compare il messaggio di errore:
"Funzione non disponibile nelle espressioni"

Causa

Uno o più riferimenti a librerie VBA sono andati persi.

Soluzione

Apri un qualsiasi modulo. Dalla barra dei menù dell'editor di Visual Basic seleziona menù Strumenti/Riferimenti.
Di norma dovrebbero risultare selezionate queste librerie:

Visual Basic for Applications
Microsoft Access x.0 Object Library (x = 8 in A97, 9 in A00, 10 in AX, 11 in A03, 12 in A07, 14 in A10, 15 in A13, 16 in A16)
Microsoft DAO 3.6 Object Library (3.5 in A97)

Nelle versioni più nuovi di Access la biblioteca di DAO si chiama:
Microsoft Office x.0 Access Database Engine Object Library (x = 12 in A07, 14 in A10, 15 in A13, 16 in A16)

Se usi ADO invece di DAO (v.a. FAQ 7.11):
Microsoft ActiveX Data Objects 2.x Library (x >= 1 dipendendente dalla versione di ADO risp. MDAC)

Se nell'elenco dei riferimenti compare una segnalazione di errore, per esempio "non trovato" o "MANCA", deseleziona il riferimento o installa la libreria corrispondente, se è necessaria. Anche se non viene segnalato alcun riferimento mancante, prima deseleziona tutti i riferimenti che si lasciano disattivare, e poi riselezionali.

Info e codice per la verifica dei riferimento da MS:
http://support.microsoft.com/?kbid=194374

Tool di Terry Kreft per verificare i riferimenti:
http://www.mvps.org/access/modules/mdl0022.htm

Se dopo aver provato queste soluzioni il problema non è ancora risolto, crea un nuovo MDB e importa tutti gli oggetti dal vecchio.
Qualche volta può servire lanciare il setup di Office col commando: Setup/y

in alto

7.2 Can't find Language DLL
http://www.donkarl.com/it?FAQ7.2 aggiornato 2007-01-03

Problema

Non è possibile eseguire Access 97. Messaggio di errore: "Can't find Language DLL"

Soluzione

Nella cartella di Office cerca il file "msain800.dll".
Se non è presente, o è danneggiato, recupera lo stesso file dal CD di Office e registralo nuovamente.
Istruzioni per la registrazione di un DLL.

in alto

7.3 Licenza mancante
http://www.donkarl.com/it?FAQ7.3

Problema

Access non può avviarsi (generalmente è la versione A97).
Messaggio d'errore: "Impossibile avviare Microsoft Access. Non è stata concessa la licenza d'uso su questo computer."

Soluzione

Quella piu' frequente

Se l'errore si riceve con A97 e sulla stessa macchina è stato installata, o fu una volta installata la versione di Access >=2000, o parti di Office >=2000, prima di tutto tentare la procedura relativa al file Hatten.ttf: http://support.microsoft.com/kbid=241141

Altre soluzioni

Tentare di reinstallare Access utilizzando la seguente linea di commando: Setup /y
In alcuni casi ciò va a scrivere la chiave mancante nel registro di Windows.

Se con questo il problema non si risolve, lo si può fare manualmente.
In Win95 si deve aggiungere la seguente chiave di registro:

Per A97
\\HKEY_CLASSES_ROOT\Licences\8CC49940-3146-11CF-97A1-00AA00424A9F
Per A95
\\HKEY_CLASSES_ROOT\Licences\B54DCF20-5F9C-101B-AF4E-00AA003F0F07

In Win98 questo non sarà di aiuto, esiste invece un bugfix: http://support.microsoft.com/?kbid=191224
maggiori info: http://support.microsoft.com/?kbid=141373

Ulteriore consiglio di Matthias Quade:
Se avete Win98 a utilizzi aclinc97.exe senza che già si trovi installato l'SR1 per Office 97 allora l'SR1 (e in seguito l'SR2) si rifiuterà di updatare Access. Sarà corretto il numero della versione di msaccess.exe, ma non la sua data.
Rimedio: disinstallare Access, installarlo di nuovo, installare SR1 e poi SR2. Aclinc97.exe non deve essere avviato di nuovo.

Se nulla e' di aiuto, dopo aver disinstallato le versioni di Access con la normale procedura, si deve far seguito all'utilizzo degli Eraser Tools (vedi Link) per la rimozione completa delle chiavi di registro che la normale rimozione ha lasciato. Dopo, si debbono reinstallare le versioni di Access in ordine cronologico dalla più vecchia alla più recente.

in alto

7.4 Non è un indice di questa tabella
http://www.donkarl.com/it?FAQ7.4

Problema

Non è più possibile aprire un specifico mdb.
Messaggio di errore: "<il nome del database> non è un indice di questa tabella" ecc.

Causa

Gli indici in una o più tabelle (di solito la tabella di sistema MSysObjects) non corrispondono ai dati reali in queste tabelle. p. e. perché gli indici non sono stati aggiornati correttamente durante il cambio dati. Secondo la MS questo errore accade tipicamente se un processo di riparazione viene interrotto.

Soluzione

Recupera l'ultimo aggiornamento di Jet e ripara/compatta l'mdb con il tool Jetcomp.exe che è incluso nel pacchetto dell'aggiornamento. (vedi Link)
Maggiori informazioni al: http://support.microsoft.com/?kbid=158933
Questo tool è soltanto in grado di riparare le versioni semplici dell'errore. Se questo sistema non è in grado di risolvere il problema e i dati hanno un qualche valore in denaro è consigliabile fare riferimento ad un servizio commerciale di recupero di dati (vedi Link) attraverso i quali è possibile riparare più versioni dell'errore di indice.

in alto

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

Problema

Quando si tenta di chiudere Access, esso si riduce a icona sulla task bar. Si può soltanto chiudere con "Termina processo" in Task Manager di Windows.

Causa

Parte dello spazio di memoria riservato da Access non può essere liberato. Questo può accadere in diverse situazioni, a causa di vari bug nella gestione della memoria.

Soluzione

In genere il problema è scoprire accuratamente nel codice i punti che causano il problema. Vi sono alcuni consigli generici, il primo dei quali tratta le cause più frequenti.

Chiudere tutti i riferimenti agli oggetti che si trovano aperti, e settare la relativa variabile oggetto a Nothing. Nessun problema se è un recordset, riferimenti ad oggetti di Access o quant'altro. p.e.

rs.Close: Set rs = Nothing
db.Close: Set db = Nothing


Nota: db.Close nell'esempio si riferisce ad un database esterno che è stato aperto con OpenDatabase. Close non ha senso per CurrentDb: infatti non si apre e non si chiude in questo modo. Ma non vi è alcun problema se si dimentica ciò, perché, quando si tenta di chiuderlo, Access in modo silenzioso assorbe l'errore che ne risulta.

Chiudere tutti i file di testo che sono aperti. p.e.

Close #1

Sostituire il "." Con "!" dove sia possibile. p.e.

Me.MyControl --> Me!MyControl

Usare la proprietà Value esplicitamente per campi e controlli che rappresentino valori booleani (check boxes, pulsanti di opzione ecc.). p.e.

Forms!FormName!CheckBox --> Forms!FormName!CheckBox.Value

Maggiori informazioni su i vari tipi di problema:
http://support.microsoft.com/?kbid=164455
http://support.microsoft.com/?kbid=190074
http://support.microsoft.com/?kbid=209847
http://support.microsoft.com/?kbid=246953

in alto

7.6 Hyperlink apre il programma di posta elettronica 2 volte
http://www.donkarl.com/it?FAQ7.6

Problema

Se tu fai click su un hyperlink del tipo mailto: la finestra che ti permette di scrivere un messaggio di posta si apre due volte.

Causa

Un bug di Office

Soluzione

da Mik Baehr:

Rinomina o cancella la seguente chiave nel registro di Windows:
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\PROTOCOLS\Handler\mailto

in alto

7.7 File esterno alla rete Intranet
http://www.donkarl.com/it?FAQ7.7

Problema

Un database AX non può essere aperto in una network. Quando si cerca di aprirlo si ottiene il seguente messaggio:
"Impossibile aprire il file. Il file è disponibile in una posizione esterna alla rete Intranet o un sito non attendibile. Il file non verrà aperto a causa di potenziali problemi di protezione. Per aprire il file, copiarlo nel computer in uso o in una posizione di rete accessibile."

Causa

Stai usando un percorso UNC o un indirizzo IP. AX utilizza l'IE Security Manager che ha un problema con punti nel percorso.

Soluzione

O si cambia il percorso, o il tipo di percorso, o si aggiunge l'indirizzo alla propria locale Intranet in IE.
Vedi http://support.microsoft.com/?kbid=303650

in alto

7.8 Blocco numeri (SendKeys)
http://www.donkarl.com/it?FAQ7.8

Problema

Mentre stai lavorando in un mdb, NumLock (il blocco numeri) si disattiva.

Causa

Stai usando la funzione SendKeys. Questa funzione ha un bug, e abbastanza spesso il suo semplice uso disattiva NumLock.
Vedi http://support.microsoft.com/?kbid=179987

Soluzione

Evita di usare SendKeys per quanto possibile. Il più delle volte lo puoi sostituire con metodi migliori.

Se non puoi evitare l'uso di SendKeys, delle volte ti viene in aiuto impostare a True il parametro Wait. Esempio:
Sendkeys "{pgup}" , True

In caso non dovesse risolversi il problema c'è anche la possibilità di attivare nuovamente il blocco numeri usando delle chiamate API. Dev Ashish presenta un codice di esempio:
http://www.mvps.org/access/api/api0046.htm

in alto

7.9 ActiveX non è in grado di creare l'oggetto
http://www.donkarl.com/it?FAQ7.9

Problema

Ti compare continuamente il messaggio di errore: "Errore Run-time 429: Il componente Activex non e' in grado di creare l'oggetto.
Ciò può avvenire, specialmente, quando hai reinstallato Office/Access, o hai cambiato la versione di Windows, o cose similari.

Causa

Nella maggior parte dei casi la dao.dll non è registrata correttamente. Il file dipende dalla versione di Access.
A97--> dao350.dll
A00/AX/A3 --> dao360.dll

Soluzione

Ricerca nel tuo hard-disk la dll (in linea di massima la troverai in C:\Programs\Shared files\Microsoft Shared\DAO) e registrala con regsvr32.exe (nella directory Windows\System).

Per eseguire ciò, puoi trascinare in Explorer la dll e rilasciarla su regsvr32.exe. Un altro modo è quello di scegliere Esegui nel menù di avvio di Windows ed usare il comando:
regsvr32.exe "TuoPercorso\dao350.dll"

Se la registrazione fallisce o non ti viene in aiuto allora può essere che la dll sia danneggiata. Puoi tentare di sostituirla con il file che si trova nel CD di Office o da un computer che non presenta il problema. Dopodichè devi registrare questo nuovo file come detto prima.

L'errore può anche avere origine diversa. P.e. potrebbe essere un problema con la chiave della licenza:
http://support.microsoft.com/?kbid=189366
o un problema con l'automazione di applicazioni di office:
http://support.microsoft.com/?kbid=244264

Se nulla ti aiuta puoi tentare di rimuovere Office completamente. Utilizza gli appropriati Eraser tool per la tua versione di Office (vedi Link). Dopo reinstalla Office.

in alto

7.10 Impossibile trovare il driver ISAM
http://www.donkarl.com/it?FAQ7.10

Problema

Quando provi ad importare o esportare Excel, dBase o file di testo ricevi il messaggio di errore menzionato (errore numero 3170).
Un'altra versione del problema è che non vedi questo tipi di file nella lista del Tipo di File della finestra di dialogo di importazione o esportazione.

Causa

I driver corrispondenti non sono installati o più spesso le DLL non sono registrate correttamente.

Soluzione

Per prima, tenta di installare i driver corrispondenti con l'utilizzo del setup di Office (menu: opzioni Data Access). Se ciò non ti aiuta o se nel setup il driver è già segnato come installato, allora segui le istruzioni di MS:
per A97: http://support.microsoft.com/?kbid=171955
per le versioni più recenti: http://support.microsoft.com/?kbid=283881

in alto

7.11 Dim DB As Database produce un errore
http://www.donkarl.com/it?FAQ7.11

Problema

In una versione >=A00 con una linea di codice del tipo:
Dim db As Database o Dim rs as Recordset
ottieni un errore come:
"Tipo definito dall'utente non definito."
"Errore run-time 13: Tipo non corrispondente" o similare

Causa

Per default, un nuovo database di A00 e AX ha un riferimento ad ADO come libreria per accesso ai dati, mentre la maggior parte degli sviluppatori di Access utilizza DAO:
http://support.microsoft.com/?kbid=225962

Così o il riferimento a DAO non è presente del tutto o la priorità del riferimento di ADO e posizionata più in alto:
http://support.microsoft.com/?kbid=181542

Soluzione

1. Variante

Apri un modulo, scegli il menù Strumenti/Riferimenti, aggiungi un riferimento a DAO 3.6 ed utilizza il tasto priorità per spostarla al di sopra del riferimento ad ADO. Se non utilizzi ADO nel tuo codice puoi anche semplicemente togliere il suo riferimento.

2. Una più stabile variante

Aggiungi il riferimento a DAO 3.6 come descritto sopra, e nel tuo codice dichiara sempre, esplicitamente, a quale libreria il tuo codice si riferisce. p.e.

Dim db as DAO.Database
Dim rs as DAO.Recordset


In questo modo l'ordine dei riferimenti non ha importanza.

in alto

7.12 La conversione fallisce
http://www.donkarl.com/it?FAQ7.12

Problema

Non funziona la conversione da un mdb A97 ad una versione di Access successiva.
Ricevi l'errore:
"Il progetto VBA è danneggiato" oppure "Errore su caricamento della maschera" o qualcosa di simile

Causa

Probabilmente nell'mdb sono corrotte (o male compilate) parti di codice nei moduli standard o nei moduli degli oggetti.

Soluzione

Crea un nuovo mdb in A97 ed importa tutti gli oggetti del vecchio mdb in quello nuovo.
E/o
Nell'mdb A97 apri un modulo e scegli l'oggetto di menù:
Debug/Compila e salva tutti i moduli
E/o
Utilizza l'opzione della linea di comando decompile.

Solo alla fine prova a convertire.

Ci sono dei "Conversion White Papers" di MS che coprono molti degli aspetti e dei problemi della conversione da A97 a A00/AXP e viceversa:
per A00: http://support.microsoft.com/?kbid=237313
per AX: http://support.microsoft.com/?kbid=319400

in alto

7.13 Memoria insufficiente
http://www.donkarl.com/it?FAQ7.13 aggiornato 2007-01-03

Problema

Quando installi, apri o lavori con access, appare un errore "memoria insufficiente".

Causa

In generale, Access richiede molta memoria. Più è recente la versione, maggiore è la richiesta di RAM. Questo è vero anche per lo spazio su disco, dove i dati temporanei vengono salvati durante l'utilizzo del programma. Perciò, ci deve essere sia sufficiente memoria RAM disponibile che spazio su disco utilizzabile.
Più spesso, piuttosto che da effettiva mancanza di memoria, i problemi sono causati da debolezze e bug di Access o Windows nella gestione di particolari zone di memoria.

Soluzione

Siccome questi errori possono essere causati da diversi fattori, ci sono anche diversi rimedi possibili.

Indicazioni generali

Cerca nella Microsoft KB per trovare soluzioni a problemi di memoria. (vedi Link)
Ci sono anche articoli per versioni dell'errore non molto frequenti. (con cause o messaggi come "troppi moduli", "troppi temp files" ecc.)

Usa l'ultima versione disponibile di JET e l'ultimo Service Pack per Office.
MS ha risolto molti problemi di memoria con i vari aggiornamenti del JET engine e i Service Pack. (vedi Link)

Tieni presenti i suggerimenti contenuti nella FAQ 7.5, in particolare quelli relativi alle variabili oggetto.

Consigli per versioni frequenti

Specialmente in A97 e A00, c'è una versione in cui dopo aver lavorato con il DB per un certo tempo, l'errore relativo alla memoria appare e l'unica possibilità di liberarsi dell'errore è chiudere e rilanciare Windows. Poi tutto è ok per qualche tempo prima che l'errore si presenta di nuovo. Una causa frequente di questo problema, è l'utilizzo di immagini di sfondo. Se sono in uso immagini di sfondo (p.e. seguendo le indicazioni di qualsiasi wizard), creare una copia del DB senza tali immagini, può aiutare a verificare se sia effettivamente questo il problema.

Riguardo grosse query o reports e "memoria insufficiente" o "query troppo complessa", ci sono indicazioni generali a:
http://support.microsoft.com/?kbid=103429

Quando apri VBE in A00, c'è un problema costruttivo:
http://support.microsoft.com/?kbid=223235

Se si usano tabelle molto grosse in A97, può essere d'aiuto incrementare la voce MaxLocksPerFile nel registro:
http://support.microsoft.com/?kbid=161329

Con A97 e >= 1Gb di RAM, una versione aggiornate di JET aiuta:
http://support.microsoft.com/?kbid=161255

Usando il database wizard:
http://support.microsoft.com/?kbid=141619

In A95, c'è un messaggio frequente: "Memoria insufficiente per aggiornare il display"
http://support.microsoft.com/?kbid=142931

in alto

7.14 A97 e A00 sullo stesso computer
http://www.donkarl.com/it?FAQ7.14

Problema

Tu vuoi o devi installare parallelamente A97 e A2k sullo stesso computer. Facendo così sperimenterai errori o strani comportamenti come A00 sovrascrive la versione precedente o parte di essa, A97 non si avvia più, si avvia la versione sbagliata, A00 tenta sempre di riregistrarsi nuovamente ecc.

Soluzione

I principi sono gli stessi, per ogni installazione parallela di differenti versioni di Access:
- La coesistenza è possibile ma partendo con la combinazione A97/A00 possono verificarsi diversi errori.
- Devi sempre installare prima la versione più vecchia e poi quella successiva.
- Le versioni devono essere installate in directory diverse.

I seguenti siti contengono informazioni dettagliate per la combinazione A97/A00:

sommario dei problemi più frequenti e avvisi importanti
http://www.trigeminal.com/usenet/usenet019.asp

procedura raccomandata da MS
http://support.microsoft.com/?kbid=241141

il doppio click su di un mdb apre la versione sbagliata
http://support.microsoft.com/?kbid=225872

il runtime A97 va in conflitto con il pacchetto di A00
http://support.microsoft.com/?kbid=248112

la versione pacchettizzata di A97 o il runtime è installato, A00 cancella file e chiavi del registro
http://support.microsoft.com/?kbid=235280

in alto

7.15 I report in A00 perdono le impostazioni di stampa
http://www.donkarl.com/it?FAQ7.15 aggiornato 2005-12-14

Problema

In un report di Access 2000 le impostazioni per il margine pagina e l'orientamento (verticale/orizzontale) si perdono permanentemente, cioè vengono reimpostate ai loro valori di default.

Causa

Bug di "Correzione automatica nome", una nuova caratteristica di A00, che inoltra i cambiamenti dei nomi degli oggetti agli oggetti dipendenti.

Soluzione

SR1a per Office 2000 ripara questo bug. Troverai l'indirizzo per il download, per la versione italiana qui.

Se tu non puoi installare SR1a puoi disattivare "Autocorrezione Nome" nel menù Strumenti/Opzioni/Generale. Ulteriori informazioni:
http://support.microsoft.com/?kbid=240826

in alto

7.16 L'importazione/l'esportazione di file di testo fallisce
http://www.donkarl.com/it?FAQ7.16

Problema

L'importazione o l'esportazione di alcuni file di testo (usando il menu File o DoCmd.TransferText) non funziona (più). Appare l'errore numero 3027, che dice "Impossibile aggiornare. Il database o l'oggetto è di sola lettura".

Causa

Una nuova caratteristica in A97 (a partire dall'aggiornamento SP3 per Jet 3.5) e nella versioni superiori (a partire dall'aggiornamento SP3 per Jet 4.0). Per ragioni di sicurezza soltanto l'import/export dei file di testo, con alcune estensioni standard di file (txt, csv ecc.), è ancora permesso:
http://support.microsoft.com/?kbid=239105

Soluzione

O usi un'estensione standard per il file o aggiungi nel registro l'estensione desiderata:
http://support.microsoft.com/?kbid=247861
http://support.microsoft.com/?kbid=245407

in alto

7.17 La creazione di un MDE/ACCDE non riesce
http://www.donkarl.com/it?FAQ7.17 aggiornato 2012-05-16

Problema

Quando cerchi di creare un file MDE/ACCDE si verifica l'errore:
"Errore di compilazione nel modulo nascosto: <nomemodulo>"
e/o "Impossibile creare il database MDE."

Un altro problema può essere che la voce di menù per creare un MDE/ACCDE sia diventata grigia e così non puoi affatto scegliere l'opzione.

Soluzione

1. Apri un qualsiasi modulo nel MDB/ACCDB e nell'editor vba seleziona da menù Debug/Compila "NomeProgetto". Quest'azione dovrebbe evidenziare almeno un errore. Dopo averlo corretto dovresti riuscire a creare l'MDE/ACCDE. Se ancora non funziona:

2. Un'altra causa di questi messaggi può essere riferimenti mancanti nell'MDB/ACCDB.

3. A volte (specialmente quando non viene indicato il nome di un modulo) l'unica soluzione è decompilare. Poi controlla nuovamente i riferimenti, compila tutto e riprova.

4. A volte può servire semplicemente creare l'MDE/ACCDE in un'altra cartella, cioè nella finestra di dialogo non scegliere la stessa cartella dell'MDB/ACCDB ma selezionane un'altra. (suggerimento di Dirk Skirde)

5. Se la voce di menù per la conversione in MDE/ACCDE è disabilitata allora il tuo file non è nel formato corretto (il formato della versione di Access che stai usando). Per esempio: con AX è possibile creare un MDE solo da un database in formato AX, non da uno in formato A00 (indicato nella barra del titolo della finestra database). Devi prima convertire il database in AX, poi sarà possibile creare l'MDE con AX.

in alto

7.18 Le autocomposizioni non partono in A00
http://www.donkarl.com/it?FAQ7.18

Problema

Quando provi a lanciare una qualsiasi autocomposizione in Access 2000, non succede assolutamente niente.

Soluzione

I files "Acwzmain.mde" e "Acwztool.mde" non sono installati correttamente, oppure è un bug per il quale al momento esistono solo workaround. C'è una descrizione della procedura nella KB: http://support.microsoft.com/?kbid=242218

Se niente funziona e vuoi assolutamente usare le autocomposizioni, puoi provare a reinstallare Office 2000 dopo averlo eliminato tramite l'Eraser tool. (vedi Link)

in alto

7.19 SendObject non funziona
http://www.donkarl.com/it?FAQ7.19

Problema

Quando tenti di inviare una e-mail con SendObject e Outlook o Outlook Express, non accade nulla, o ti compare un messaggio di errore, oppure Access va perfino in crash.

Soluzione

Se non accade nulla o ti compare un messaggio di errore, puoi tentare il seguente suggerimento (leggermente misterioso) di Philipp Sumi:

Aggiungi la seguente riga alla sezione [mail] del file win.ini:

MAPIX=1

rispettivamente se vi è già la riga "MAPI=1", sostituiscila con quella indicata sopra.
Philipp ha scoperto ciò da qualche esperimento. Non è documentato e non possiamo spiegarlo con esattezza. Ma è provato che in alcuni casi è d'aiuto, sebbene non sempre.

In A00 vi sono varie versioni del fallimento di SendObject (con o senza messaggio di errore o crash) che nella maggior parte dei casi accade con lunghe e-mail, o con SendObject eseguito ripetutamente in un loop: http://support.microsoft.com/?kbid=260819

Se A97 è installato dopo Office 00 vi potrebbero essere problemi con una chiave del registro:
http://support.microsoft.com/?kbid=283173
In accordo a Tom Siegler questo errore può anche accadere con le sequenze di installazione corrette: cioè Office 00 (senza Access) installato dopo A97.

Se usi una versione di Outlook che include i vari aggiornamenti sulla sicurezza puoi ricevere un avviso di sicurezza seguito da un messaggio di errore del tipo "Microsoft Access non può inviare un messaggio..." Ulteriori informazioni: http://support.microsoft.com/?kbid=262997

in alto

7.20 OLE server non registrato
http://www.donkarl.com/it?FAQ7.20

Problema

Tenti di usare un OLE server in Access. Nella maggior parte dei casi si tratta di file Word in campi OLE o qualche immagine. Ma ti compare soltanto un messaggio di errore del tipo:

"Impossibile comunicare con server OLE.
E' possibile che il server OLE non sia registrato.
Per registrarlo rieseguire l'installazione."

Oppure qualche altro messaggio di errore indicante un problema con OLE server.

Soluzione

1. Ultimamente la causa più frequente per questo errore proviene dal programma Norton AntiVirus. Più esattamente lo Script Blocking di NAV.
Così, se NAV è installato vi sono 2 soluzioni. O una modifica al registro, o la completa disattivazione dello Script Blocking: articolo KB ed articolo da Symantec sul problema

Un suggerimento aggiuntivo da Bernhard Martin: "Non è sufficiente cambiare la chiave del registro ma devi anche rimuovere l'avvio automatico per "SBServ.exe-reg". Altrimenti la chiave di registro sarà di nuovo attivata al prossimo boot."

2. Una storia completamente diversa è quella della classica versione del problema OLE server. Il più delle volte accade nel contesto di immagini ed è causato dal fatto che nessun (appropriato) programma grafico è (correttamente) registrato per Windows. La soluzione delle volte è proprio quella di installare un appropriato programma, ma questo può diventare una questione realmente difficile. articolo KB sull'esempio del file di tipo jpg

in alto

7.21 Connessione di rete che si perde in A00 mdb
http://www.donkarl.com/it?FAQ7.21 aggiornato 2010-01-18

Problema

Quando apri un database nel formato Access 2000 ricevi il seguente messaggio di errore:
"Errore durante l'accesso al file. Potrebbe non essere più attiva la connessione di rete."

Causa

In principio questo errore può accadere in tutte le versioni di Access quando vi siano reali interruzioni nella connessione di rete. a.e. causato da un problema con la scheda di rete. In questo caso vai a vedere Come procedere con un database danneggiato. Ma oggigiorno la più frequente causa con A00 DBs è completamente differente, non richiede una rete e non è riparabile con i soliti metodi:

Se sulla stessa macchina con l'MDB di A00 si trova anche installato Office XP (o parte di esso) o Visio 2002, allora il file vbe6.dll può avere la versione nr. 6.3.91.8. Questa versione può causare il danno del file MDB A00 descritto prima. Ciò accade dopo che oggetti (maschere, reports, moduli) che contengono codice siano stati copiati o importati nell'MDB.

Soluzione

Questo bug si risolve con il SP3 di Office 2000 (vedi Link).

Per prima cosa, devi assicurarti che vi sia nella tua macchina la versione sopra indicata del file vbe6.dll e che non sia un reale problema di rete. La miglior cosa è quella di lasciare che Windows Explorer faccia ricerche sul file e poi determinare il numero della versione con click del tasto destro del mouse sul file (se dice "6.03.9108"). Se questo è il caso allora leggi l'articolo della KB sul problema: http://support.microsoft.com/?kbid=304548

Il SP3 non viene in aiuto per i file che già sono stati danneggiati ma previene solo un ripresentarsi del problema. Ci si augura, così, che vi sia un backup per i file danneggiati. Se così non fosse, puoi tentare, se è possibile, di importare ognuno dei suoi oggetti in un nuovo MDB.

in alto

7.22 Le tabelle collegate di Excel sono di sola lettura
http://www.donkarl.com/it?FAQ7.22 aggiornato 2008-11-06

Problema

In Access hai tabelle collegate di Excel. Tuttavia i dati di Excel sono protetti contro la scrittura, cioè non puoi aggiornare, cancellare o aggiungere dati in Access. Questo comportamento può accadere "improvvisamente" in un'applicazione dove precedentemente i dati in Excel erano aggiornabili.

Causa

I recenti Service Pack per AX e A03 intenzionalmente proibiscono che tabelle collegate di Excel si possano aggiornare come prima era possibile.
http://support.microsoft.com/?kbid=904953

Microsoft ha perso milioni di dollari nel processo contro un programmatore che sosteneva un brevetto del rispettivo software e pertanto ha dovuto bloccare questa caratteristica.

Soluzione

Non esiste alcuna scappatoia per le tabelle collegate.

Se la caratteristica è molto importante puoi prendere in cosiderazione se installare i rispettivi Service Pack che naturalmente pongono rimedio ad altri problemi.
Microsoft consiglia solo di importare ed esportare i dati di Excel oppure utilizzare Excel stesso, cioè l'Automazione oppure rimanere completamente in Excel (senza usare Access).

Ma esiste un workaround:

Invece di una tabella collegata si puo usare una query. L'enunciato SQL dev'essere costruito come nel seguente esempio:

SELECT * FROM [excel 8.0;imex=0;DATABASE=c:\MioPercorso\Mio.xls].[Tabelle1$A:C];

La query di esempio mostra le colonne A-C. Si puo anche usare numeri di riga per limitare la selezione, p.e. [Tabelle1$A1:C100].
La prima riga della tabella in Excel dev'essere una riga con titoli, altrimenti nella query manca la prima riga di dati.
Una tale query è aggiornabile, cioè si possono cambiare i dati esistenti di Excel e si possono accodare nuovi dati.

in alto