Was sind die Auswirkungen des Betriebs einer Microsoft Access-Datenbank sowohl in 2003 und 2007?

StackOverflow https://stackoverflow.com/questions/75246

  •  09-06-2019
  •  | 
  •  

Frage

Was sind die Auswirkungen sowohl eine Microsoft Access-Datenbank in 2003 ausgeführt und 2007?

Gibt es eine Klasse ich vergessen haben zu?

Das Programm wurde ursprünglich in Office 2003 gebaut und dann im Jahr 2007 Probleme laufen scheinen zu passieren, wenn die Maschine auf beide 2003 und 2007 auf ihn ausgeführt wird. Das Problem scheint auch von der Referenz stammt aus dem „Microsoft Access 12.0 Object Library“ (oder „Microsoft Access 11.0 Object Library“ im Jahr 2003). Um dies zu sehen, schauen Sie in den Werkzeugen: Refrenzen Menü auf dem VBA-Bildschirm.

Das Symptom des Fehlers ist im Grunde der Code nicht erkannt werden (fast wie es die Programmiersprache erkennt Ich verwende). Es folgt in der Regel dies mit einem Kasten, der sagt „Der Ausdruck On Load Sie als die Ereigniseigenschaft Einstellungen trat in den folgenden Fehler erzeugt hat: Das Objekt oder der Klasse nicht die Menge der Ereignisse nicht unterstützt“. Sie können auch ersetzen „On Load“ mit „On Click“ für Tasten oder „On Change“ für Textfelder ein.

Ich persönlich vermute, dass der Computer Teile der Microsoft Access 11.0 / 12.0-Objektbibliothek nimmt und dann mischt sich die beiden in einem nutzlosen VBA Referenz. Was meinen Verdacht bestätigt weiterhin, ist die Box, die erscheint, wenn zwischen den beiden gehen, die „Konfigurieren von Microsoft Access“ Ein weiteres Problem sagt, dass weitere meinen Verdacht bestätigt, ist es auf laufen wird je nachdem, welche es auf zum ersten Mal geöffnet wird (2007, zum Beispiel) und dann nicht auf der anderen Seite laufen (2003 dem Beispiel fortfahrend)

Das einzige andere Problem ist, ich habe zu beheben war den letzten Teil des DoCmd.OpenForm ,,,,, acFormReadOnly (oder acReadOnly ändern, je nachdem, wie die Maschine an diesem Tag zu fühlen schien - ja, es würde funktionieren mit einem, an einem Tag und dann will ich es eine andere), um die einzelnen Textfelder

einfach Sperren

Vielleicht ist es nicht ganz Codierung, aber ich denke, es könnte in der Lage sein, durch Codierung festgelegt werden.

Hoffentlich ist genug für jemanden zu kommen mit etwas.

War es hilfreich?

Lösung

Microsofts offizielle Position ist, dass auf dem gleichen PC mehr Office-Versionen der Installation nicht unterstützt wird und nicht zu empfehlen, und Access 2007 scheint gestaltet sein, dass wir zu beweisen!

Wie gesagt, können Sie die meisten Probleme vermeiden, indem Sie folgendermaßen vorgehen:

1 - Die Aufteilung der db in ein Backend und Frontend. Legen Sie das hintere Ende (Tabellen und Beziehungen) in einem Netzwerkordner, und legen Sie eine Kopie des vorderen Endes (alle anderen Objekte) auf jedem Desktop des Benutzers.

2 - Es ist am besten, die Front zu machen ein mde endet die Referenzen jedes Mal, wenn die DB in der anderen Version von Access öffnen mischten zu vermeiden

.

3 - Erstellen Sie eine Verknüpfung das vordere Ende mit der gewünschten Version von Access zu öffnen, damit es immer mit dieser Version geöffnet. (Und denken Sie daran die Verknüpfung zu verwenden!) In der Ziel der Verknüpfung:

"Pfad 12 msaccess.exe für den Zugriff auf" "Pfad" db.mdb

Andere Tipps

Wir haben eine MS-Acces-Anwendung, mit Access 2003 entwickelt und entweder auf Version von Access 2003 und Access 2007 voll oder Laufzeit verwendet (Access 2007 Runtime frei ist, haben wir einen großen Gebrauch davon machen!). Es gibt kein besonderes Problem mit Ausnahme der Referenzen Management. Unser Code analysiert die Office-Version auf dem Computer installiert und aktualisiert automatisch entsprechende Referenzen (nicht nur Zugang, sondern auch Excel, Outlook, Word, etc .: Code ist sehr schwierig, aber von großen Interesse!)

Zu meiner eigenen Kenntnisse, keine größeren Objekte, Eigenschaften oder Methoden zur Verfügung, in Office 2003 / VBA wurden in Office 2007. Office 2003 veraltet Code wird dann mit Access 2007, wenn diese Referenzen Probleme laufen gelöst. Einige neuen Objekte wurden in Office eingeführt 2007, so würde ich keinen Entwickler raten, es zu verwenden, um Code zu entwickeln, weiter mit Access 2003 verwendet werden.

Aber das Haupt & eigentliches Thema Ihrer Frage ist: Warum soll man beiden Access-Versionen auf demselben Computer ausgeführt werden? Das ist, was ich tun würde, wenn ich sicherstellen möchte, dass meine Anwendungen zum Absturz bringen. Ich denke, dass, wenn Ihre Ziele Software entwickeln sind, sollen Sie auf jeden Fall eine bessere Konfiguration für Ihre Maschine finden!

In der Regel mehr Access-Versionen auf der einer Maschine installiert, die nicht unterstützt wird und in den Fragen führen Sie mit den Objektreferenzen sehen.

Wenn die Datenbank in Access 2003 verfasst wurde, zu einem .MDE zusammengestellt und dann auf einem separaten Windows-Instanz bereitgestellt läuft Access 2007, sollten Sie keine wesentlichen Probleme haben (außer Änderungen an der Benutzeroberfläche wie benutzerdefinierte Symbolleisten in die geworfen Add-Ins Band).

Für die Prüfung auf mehreren Versionen von Access Sie irgendeine Form von Isolation zwischen jeder Version benötigen. Ich benutze mehrere virtuelle Maschinen, dies zu erreichen. Mein primäres Windows VM runnings Office 2007 und IE7 und ich habe eine zweite VM, die Office 2003 und IE6 zum Testen hat.

Beachten Sie, dass, wenn Sie wollen einfach Word, Excel und Outlook 2007 mit Access 2003 verwenden, können Sie Access 2003 zuerst von selbst installieren können, und führen Sie dann von Office 2007 eine benutzerdefinierte Installation, und deaktivieren Sie Access 2007.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top