Thema der Migration von MS-Access 2003 nach MS-Access 2010
Ich arbeite für eine Firma, bei der wir wahrscheinlich gehen, um update von Access97/2003 auf Access2010.
Nachdem das Spiel mit einem Prototyp, ich habe ein Problem bei der Verwendung von Access 2010 mit Datenbanken in Access 2003.
Unter bestimmten Bedingungen, vorhandene Abfragen/SQL in Access 2003 wird unbrauchbar in Access 2010. Hier ein kleines Beispiel:
Tablename: Parameter-Feld-Namen: Anzahl, Wert
Eine Abfrage erstellt mit Access 2003 Abfrage-designer:
SELECT Parameters.Value
FROM [Parameters]
WHERE (((Parameters.Number)=100));
diese funktioniert einwandfrei mit Access 2003.
In Access 2010 wird ein Fehler ausgelöst: Syntaxfehler in PARAMETER-Klausel
Einen workaround für den Fehler ist, ändern Sie die Ansicht in Access 2003. Hier befreien wir uns von den Klammern:
SELECT Parameters.Value FROM [Parameters] WHERE Parameters.Number=100;
Dies funktioniert in Access 2010, aber die Abfrage bleibt unveränderlich in der designer, weil Sie den Abfrage-designer erstellt die syntax oben gezeigt.
Den Grund für diesen Fehler ist in der Tat die Verwendung des reservierten Wortes 'Anzahl', das durfte nicht verwendet werden, wenn Sie beginnen, erstellen Sie eine Tabelle oder Abfrage, aber für eine migration mit Hunderten von bestehenden Datenbanken, ist es sehr wahrscheinlich, oder zumindest eine Gefahr für die Veränderung der Access-version ohne einen kompletten test.
Meine Idee ist, schreiben Sie ein kleines Programm, welches sich öffnet, alle vorhandenen views und Tabellen, um zu überprüfen, ob Sie funktionieren.
Sowieso, Dosis jemand eine bessere Lösung dafür, oder gibt es ein tool zum überprüfen der MS-Access-2003-Datenbank, um die Kompatibilität mit Access 2010?
Vielen Dank im Voraus
Jörg
Du musst angemeldet sein, um einen Kommentar abzugeben.
Parameters
,Value
, undNumber
sind alle reservierten Wörter. Sie mögen Recht haben, dassNumber
ist der Schuldige hier, hätte ich vermutetParameters
als eher verwirren Access in einer Abfrage."Für eine migration mit Hunderten von bestehenden Datenbanken", zuerst bewerten Sie mit Allen Browne ' s Datenbank-Problem-Checker-Dienstprogramm. Zusätzlich zu den reservierten Worten Ausgabe, es wird Ihnen eine Idee geben, andere potenzielle Problembereiche. Ob diese Fragen werden mehr lästig in Access 2010 als im Jahr 2003, ist eine offene Frage.
Aber ich sehe nicht, eine einfache Lösung für Ihre missliche Lage. Sie haben Hunderte von Datenbanken mit vielleicht tausenden von Tabellen und Abfragen ... wenn Sie routinemäßig integrieren reservierte Wörter für Tabellen-und Feldnamen sowie anderen Objektnamen ... deine situation ist miserabel.
Experiment auf einer Kopie einer vorhandenen Datenbank. Schalten Sie auf "aufzeichnen" und lassen Sie es erstellen Sie das Objekt-Abhängigkeiten. Ändern Sie die Tabellen-Definitionen zu beseitigen, die reservierte Wörter. Dann sehen Sie, wie viel zusätzliche Arbeit, die Sie brauchen zu finden und zu beheben, die Elemente, die AutoKorrektur hat nicht für Sie tun. Aber don ' T lassen Sie die AutoKorrektur eingeschaltet ist, in jeder Anwendung, die Sie freigeben, um Ihre Nutzer.