La question de la Migration à partir de MS-Access 2003 pour MS-Access 2010
Je travaille pour une société où nous sommes susceptibles de mettre à jour à partir de Access97/2003 à Access2010.
Après avoir joué avec un prototype, j'ai constaté un problème lors de l'utilisation d'Access 2010 avec une base de données sous Access 2003.
Sous certaines conditions, les requêtes existantes/SQL dans Access 2003 deviendra inutilisable dans Access 2010. Voici un petit exemple:
Tablename: Paramètres des noms de Champ: Nombre, la Valeur
Une requête créée avec Access 2003 concepteur de requêtes:
SELECT Parameters.Value
FROM [Parameters]
WHERE (((Parameters.Number)=100));
cela fonctionne bien avec Access 2003.
Dans Access 2010, une erreur est générée: erreur de Syntaxe dans la clause PARAMETER
Une solution pour contourner l'erreur est de modifier la vue dans Access 2003. Ici, nous nous débarrassons des crochets:
SELECT Parameters.Value FROM [Parameters] WHERE Parameters.Number=100;
Cela fonctionne dans Access 2010, mais la question demeure immuable dans le concepteur, parce que le concepteur de requêtes crée de la syntaxe indiquée ci-dessus.
La raison de cette erreur est en fait l'utilisation du mot réservé "Numéro", qui shoudn pas être utilisé quand vous commencez à construire une table ou une requête, mais pour une migration avec des centaines de bases de données existantes, il est très probable ou au moins un risque de changer la version d'Accès sans un test complet.
Mon idée est d'écrire un petit programme qui s'ouvre à tous les points de vue et les tables pour vérifier si elles fonctionnent bien.
De toute façon, la dose quelqu'un a une meilleure solution, ou est-il un outil pour vérifier MS-Access 2003 bases de données pour être compatible avec Access 2010?
Merci beaucoup à l'avance
Jörg
Vous devez vous connecter pour publier un commentaire.
Parameters
,Value
, etNumber
sont tous des mots réservés. Vous avez peut-être raison de dire queNumber
est le coupable ici; je l'aurais soupçonnéParameters
comme étant plus susceptibles de confondre l'Accès à une requête."Pour une migration avec des centaines de bases de données existantes", le premier à évaluer avec Allen Browne Problème De Base De Données De L'Utilitaire Vérificateur. En plus des mots réservés problème, il vous donnera une idée que d'autres zones à problème potentiel. Si ces questions seront plus gênant dans Access 2010 qu'en 2003, est une question ouverte.
Cependant je ne vois pas une solution facile pour votre situation. Vous avez des centaines de bases de données avec peut-être des milliers de tables et de requêtes ... si ils ont l'habitude d'incorporer des mots réservés pour la table et les noms de champ, ainsi que les autres noms d'objet ... votre situation est misérable.
Expérience sur une copie d'une base de données existante. Tournez sur la "piste de correction automatique de nom" et de le laisser construire les dépendances d'objet. Modifier les définitions de table pour éliminer des mots réservés. Puis voir comment beaucoup de travail supplémentaire que vous aurez besoin de trouver et corriger les éléments de correction automatique ne l'ai pas fait pour vous. Mais ne laissez pas de correction automatique activée dans n'importe quelle application vous libérer de vos utilisateurs.