7.1 Riferimenti |
https://www.donkarl.com/it?FAQ7.1 | aggiornato 2021-10-25 |
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:
articolo KB nell'archivio web
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
7.2 Can't find Language DLL |
https://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.
7.3 Licenza mancante |
https://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.
7.4 Non è un indice di questa tabella |
https://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.
7.5 Access non si chiude |
https://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
7.6 Hyperlink apre il programma di posta elettronica 2 volte |
https://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
7.7 File esterno alla rete Intranet |
https://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
7.8 Blocco numeri (SendKeys) |
https://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
7.9 ActiveX non è in grado di creare l'oggetto |
https://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.
7.10 Impossibile trovare il driver ISAM |
https://www.donkarl.com/it?FAQ7.10 | aggiornato 2020-01-21 |
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 (da adattare alla tua versione di Access): https://support.microsoft.com/?kbid=209805
7.11 Dim DB As Database produce un errore |
https://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.
7.12 La conversione fallisce |
https://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
7.13 Memoria insufficiente |
https://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
7.14 A97 e A00 sullo stesso computer |
https://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
7.15 I report in A00 perdono le impostazioni di stampa |
https://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
7.16 L'importazione/l'esportazione di file di testo fallisce |
https://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
7.17 La creazione di un MDE/ACCDE non riesce |
https://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.
7.18 Le autocomposizioni non partono in A00 |
https://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)
7.19 SendObject non funziona |
https://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
7.20 OLE server non registrato |
https://www.donkarl.com/it?FAQ7.20 | aggiornato 2021-10-25 |
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
La 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 nell'archivio web sull'esempio del file di tipo jpg
7.21 Le tabelle collegate di Excel sono di sola lettura |
https://www.donkarl.com/it?FAQ7.21 | aggiornato 2022-09-20 |
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.
Articolo Support MS
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.