silene ha scritto:
Salve,
nell'uffico di lavoro ho sostituito un pc ormai andato con uno nuovo (win 2007,office 2010,access 2010)collegato al server come gli altri due pc esistenti.
Anche su quest'ultimi gli stessi programmi.
Ora succede che sul pc nuovo il database di lavoro non si apre e ad un certo punto appare il seguente messaggio: ERRORE DI RUNTIME 2046 Vai a record non disponibile e nel debag appare la riga di comando DOCMD.GOTORECORD ,, ACLAST.
Perchè su questa macchina c'è questo messaggio che non appare selle altre?
Ho cercato nel web ma non ne ho ricavato un gran che.
Poichè il db è stato creato con access 2003 ho eliminato access 2010 e installato una versione inferiore ma non ho risolto nulla.
Vorrei capire in sintesi l'origine del problema e quali passi fare per risolverlo.
Grazie
Ciao Silene, anche io uso Database in rete ma del tipo Back-end/Front-end. Io non conosco bene questo errore ma per capire bene il problema, secondo me, dovresti dare qualche indicazione in più. L'azione "DoCmd.GotoRecord , , AcLast" dove è inserita? In una sub di un pulsante che stà in una mascherà? Che altre righe di comando ci sono nell sub? La maschera che origine dati ha? C'è qualche filtro sui dati? Perchè in fase di debug a volte può capitare che l'indicazione dell'errore venga data su di una riga mentre viene generato altrove.
silene ha scritto:
Si ho reinstallato access 2010
Il programma l'ho fatto io (ho sufficiente conoscenza di VBA) con l'aiuto di ciò che ho trovato sul Web.
Ho controllato ma non vi è nulla di "aggiunge toglie".
Che fare?
Ciao
Se il file è unico e risiede sul server, è molto strano che cambiando pc dia riferimenti differenti. I riferimenti vengono fissati in VBA e, come ha detto Phil, o mancano perchè ad esempio manca un programma e la relativa dll oppure ci devono stare. Inoltre, fai bene attenzione al codice che c'è ne db. Il fatto che tu abbia trovato il riferimento a "Microsoft Visual Basic for Applications Extensibility 5.x" mi fa pensare che ci possa essere qualcosa che "aggiunge-toglie" perchè questo è proprio la libreria che ti permette di lavorare da codice con i riferimenti. Se però il programma l'hai fatto tu e dici che funzioni del genere non ci sono, allora la presenza di quel riferimento potrebbe anche non significare nulla.
Io, per risolvere il problema di avere sempre i riferimenti che voglio anche passando da una versione di Access ad un altra, mi sono creato una funzione che all'avvio mi imposta tutti i riferimenti necessari ed un'altra che alla chiusura me li toglie tutti (tranne naturalmente quelli propri del db). Cercando qualcosa sulle "Reference", potresti provare anche tu a fare due funzioni del genere e vedere se risolvi il problema dei riferimenti che non solo uguali su pc diversi.