2009-09-17 7 views
1

Merci de votre aide concernant les questions précédentes.Ouverture d'un fichier Access 2000 dans l'accès 2003 - bibliothèque manquante

RÉSUMÉ:

J'essaie d'ouvrir un fichier d'accès 2000 dans Access 2003, mais Microsoft Access 9.0 Object Library est manquante. des idées??

CONTEXTE:

J'ai récemment hérité d'un fichier d'accès 2000 contenant un certain nombre de rapports automatisés. Lorsque j'essaie d'ouvrir, j'obtiens l'erreur suivante:

Visual Basic pour Applications (VBA) a rencontré un problème lors de la tentative d'accès à une propriété ou une méthode. Le problème peut être l'un des suivants: Une référence est manquante. Pour obtenir de l'aide sur la restauration des références manquantes, consultez l'article 283806 de la Base de connaissances Microsoft. Une expression est mal orthographiée. Vérifiez toutes les expressions utilisées dans les propriétés d'événement pour une orthographe correcte. Je lis la base de connaissances artice et ça m'a beaucoup aidé. M'a conseillé de supprimer la librairie marquée MISSING. Mais il n'y en avait pas un!

Nous avons vérifié les bibliothèques référencées sur la vieille machine et ils étaient:

Visual Basic pour Applications Microsoft Access 9.0 Object Library OLE Automation Microsoft ActiveX Data Objects 2.1 Library

Tous étaient présents dans l'accès 2003 à l'exception de la bibliothèque d'objets Microsoft Access 9.0.

Selon ici:

http://allenbrowne.com/ser-38.html

Le fichier doit vivre dans

C: \ Program Files \ Microsoft Office \ Office \ msacc9.olb

J'ai obtenu une copie de cette fichier de l'ancienne machine (je ne sais pas si c'est strictement casher) et essayé de l'importer mais en vain.

Quelqu'un peut-il aider ??

+0

est un ensemble de référence à l'accès 10.0 Bibliothèque d'automatisation? Il devrait couvrir toute la bibliothèque 9.0. –

+0

Vérifiez également à nouveau lorsque vous l'ouvrez et donne ce message, êtes-vous sûr qu'il n'y a pas une bibliothèque avec MISSING ajoutée à son nom? C'est assez difficile à voir et je les ai souvent manqués. –

+0

Le nouveau MDB A2003 dispose-t-il de la bibliothèque d'objets Access 11.0? Access devrait avoir changé la référence dès que vous avez ouvert la MDB. –

Répondre

1

Vous avez peut-être remarqué que votre Access mdb précédente faisait référence à la bibliothèque Microsoft ActiveX Data Objects 2.1 et ne faisait référence à aucune bibliothèque d'objets Microsoft DAO. Si, dans votre fichier Access 2003, vous faites référence à la bibliothèque de DAO avant bibliothèque ADO, et si le code d'origine est mal écrit, où dans recordsets de particuler déclarées de cette façon:

dim rs as recordset 

au lieu de

dim rs as ADODB.recordset 

Vous obtiendrez généralement le type d'erreur que vous avez, où le programme considérera qu'il utilise un jeu d'enregistrements DAO, tandis que le code a été écrit pour un ADO. Instruction tels que:

rs.open 
rs.fields(0).definedSize 

peut provoquer votre erreur

+0

Je dirais qu'une base de données Access avec une référence ADODB est mal écrite (si c'est nécessaire, et elle ne l'est presque jamais, elle devrait être utilisée via une liaison tardive), mais je suis très anti-ADO dans Access. –

+3

David W. Fenton: "si [ADODB] est nécessaire ... il devrait être utilisé par liaison tardive": pouvez-vous donner une bonne raison ou est-ce simplement de la bigoterie? – onedaywhen

+1

J'ai appris un nouveau mot en anglais aujourd'hui: "bigotry"! –

Questions connexes