Bei kopierter Access.mdb werden die Änderungen totzdem im Original gespeichert. Wie abhelfen?
Wir setzen ein Verfahren "Baumverwaltung" ein, welches auf einer Access-Lösung mit zwei "Datenbanken" (.mdb-Datei, Access 2003) beruht. Eine mdb-Datei enthält die originären Daten, in der anderen befinden sich verknüpfte Tabellen, die auf Inhalte aus der ersten Datei zugreifen. Die Anwendung steht auf einem Netzwerk-Laufwerk und verfügt über eine GUI-Oberfläche für die Eingaben und Auswertungen. Soweit läuft alles problemlos.
Moin zusammen,
wie oben beschrieben, gibt es Probleme mit einer Anwendung, welche auf einer Lösung mit 2003er Access-Datenbanken beruht. Solange die Anwendung nur im GUI-Modus benutzt wird, ist alles ok.
Die Informationen aus der Anwendung sollen nun in ein GIS-Verfahren (ArcMap bzw. QGIS) eingebunden werden. Eine Access-Datei besteht aus mehreren Tabellen, von denen eine auch die Koordinaten der Baumstandorte enthält. Das GIS-Verfahren verfügt über eine Schnittstelle, um Access-Datenbank zu integrieren. Soweit auch kein Problem.
Um zu testen, welche Tabellen aus der Access-Datei nun tatsächlich im GIS benötigt werden, habe ich mir eine Testumgebung auf dem lokalen Rechner erstellt (Verzeichnis angelegt und die Access-Dateien dorthin kopiert).
Dann habe ich fleißig mit den Feldern der einzelnen Tabellen gearbeitet, neue Verknüpfungen angelegt etc. Schlußendlich die Access-Datei in der Testumgebung gespeichert.
Danach habe ich noch einmal die Access-Datei auf dem Netzwerklaufwerk geöffnet und siehe da: alle Änderungen, die ich an der lokalen Kopie vorgenommen hatte, waren auch in der Netzwerk-Version vorhanden. WTF??
Nun habe ich zwischenzeitlich herausgefunden, daß es eine Tabelle "pa_sys" gibt, in der hinterlegt ist, wie die Access-Datei heißt und unter welchem Pfad sie zu finden ist. Änderungen an dieser Tabelle führen allerdings zu keinem Erfolg, da nach dem Schließen der Tabelle und erneutem Öffnen die alten Werte wieder vorhanden sind.
Nachfragen beim Hersteller/Produzenten der Anwendung führen leider nicht weiter, da dieser zwar sehr bemüht ist, aber nur den inhaltlichen Teil kennt, die Access-Lösung aber von außerhalb und der dafür Zuständige nicht mehr greifbar ist. (Ganz tolles Tennis). Zudem nutzen wir die Anwendung unter Access 2007. Versuche, über den Tabellenverknüpfungsmanager die Pfade neu zu setzen bzw. die Tabellen neu zu organisieren führen unter Access 2003 zu anderen Ergebnissen als unter Access 2007. In 2003 gibt es wohl nach der Auswahl der zu ändernden Tabellen einen Zwischenbildschirm, in dem Änderungen eingetragen werden können (Aussage Hersteller), bei 2007 kann man nur die Tabellen auswählen und auf übernehmen klicken. Eine Änderung der Einträge ist nicht möglich.
So langsam gehen mir die Ideen aus. Wo speichert Access denn sonst noch die benutzten Tabellen? Eigentlich doch nur über eine eigene Tabelle, hier wohl die "pa_sys", aber die scheint "änderungsgeschützt" zu sein, da dort keine Änderungen ankommen.
Hat vielleicht jemand von Euch eine Idee, wo ich suchen oder anpacken kann/soll?
Gruß J chem
Moin zusammen,
wie oben beschrieben, gibt es Probleme mit einer Anwendung, welche auf einer Lösung mit 2003er Access-Datenbanken beruht. Solange die Anwendung nur im GUI-Modus benutzt wird, ist alles ok.
Die Informationen aus der Anwendung sollen nun in ein GIS-Verfahren (ArcMap bzw. QGIS) eingebunden werden. Eine Access-Datei besteht aus mehreren Tabellen, von denen eine auch die Koordinaten der Baumstandorte enthält. Das GIS-Verfahren verfügt über eine Schnittstelle, um Access-Datenbank zu integrieren. Soweit auch kein Problem.
Um zu testen, welche Tabellen aus der Access-Datei nun tatsächlich im GIS benötigt werden, habe ich mir eine Testumgebung auf dem lokalen Rechner erstellt (Verzeichnis angelegt und die Access-Dateien dorthin kopiert).
Dann habe ich fleißig mit den Feldern der einzelnen Tabellen gearbeitet, neue Verknüpfungen angelegt etc. Schlußendlich die Access-Datei in der Testumgebung gespeichert.
Danach habe ich noch einmal die Access-Datei auf dem Netzwerklaufwerk geöffnet und siehe da: alle Änderungen, die ich an der lokalen Kopie vorgenommen hatte, waren auch in der Netzwerk-Version vorhanden. WTF??
Nun habe ich zwischenzeitlich herausgefunden, daß es eine Tabelle "pa_sys" gibt, in der hinterlegt ist, wie die Access-Datei heißt und unter welchem Pfad sie zu finden ist. Änderungen an dieser Tabelle führen allerdings zu keinem Erfolg, da nach dem Schließen der Tabelle und erneutem Öffnen die alten Werte wieder vorhanden sind.
Nachfragen beim Hersteller/Produzenten der Anwendung führen leider nicht weiter, da dieser zwar sehr bemüht ist, aber nur den inhaltlichen Teil kennt, die Access-Lösung aber von außerhalb und der dafür Zuständige nicht mehr greifbar ist. (Ganz tolles Tennis). Zudem nutzen wir die Anwendung unter Access 2007. Versuche, über den Tabellenverknüpfungsmanager die Pfade neu zu setzen bzw. die Tabellen neu zu organisieren führen unter Access 2003 zu anderen Ergebnissen als unter Access 2007. In 2003 gibt es wohl nach der Auswahl der zu ändernden Tabellen einen Zwischenbildschirm, in dem Änderungen eingetragen werden können (Aussage Hersteller), bei 2007 kann man nur die Tabellen auswählen und auf übernehmen klicken. Eine Änderung der Einträge ist nicht möglich.
So langsam gehen mir die Ideen aus. Wo speichert Access denn sonst noch die benutzten Tabellen? Eigentlich doch nur über eine eigene Tabelle, hier wohl die "pa_sys", aber die scheint "änderungsgeschützt" zu sein, da dort keine Änderungen ankommen.
Hat vielleicht jemand von Euch eine Idee, wo ich suchen oder anpacken kann/soll?
Gruß J chem
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 186740
Url: https://administrator.de/contentid/186740
Ausgedruckt am: 21.11.2024 um 20:11 Uhr
2 Kommentare
Neuester Kommentar
Es würde immer noch die harte Tour gehen:
Alle Verknüpfungen löschen und manuell neu eintragen.
Ansonsten könnte man auch versuchen es per Programm zu lösen (ungetestet):
Wie der Link aussehen muß, müsstes Du selber rauskriegen. Wie der bisherige aussieht steht in tbldef.Connect drin
Alle Verknüpfungen löschen und manuell neu eintragen.
Ansonsten könnte man auch versuchen es per Programm zu lösen (ungetestet):
Function TabellenVerknuepfungAnpassenTest()
For Each tbldef In Application.CurrentDb.TableDefs
Rem Prüfen, ob verknüpfte Tabelle
If tbldef.Connect <> "" Then
Rem Verknüpfte Tabelle, Neuen Link zusammenbasteln und in das Tabellenobjekt schreiben
tbldef.Connect = "Hier neuen Link Eintragen"
Rem Neuen Link aktivieren
Call tbldef.RefreshLink
End If
Next
MsgBox "Umstellung fertig"
End Function
Moin Moin,
wie Andreas schon richtig schreibt, bleiben beim Kopieren die Links/Verknüpfungen erhalten.
Diese können mit dem Verknüpfungsmanager geändert werden. Dies funktioniert so lange, wie die alte Verknüpfung auch physikalisch erreichbar ist.
Besteht die alte Verknüpfung nicht mehr (also die MDB ist nicht erreichbar) hilft wirklich nur noch die alte Verknüpfung zu lösen und eine neue einzutragen.
Ab 2007 solltest du vorsichtig mit dem Dateityp der MDB sein. AC2003 konnte noch 97/2000er MDBs lesen. Das geht mit AC2007 nur noch mit Chaos.
Wenn wirklich alle mit AC2007 arbeiten, würde ich die MDBs ins neue Format 2007/2010 = ACCDB konvertieren.
Die Sicherheit wird ab 2007 sehr hoch angesetzt. D.h. nachdem du Access gestattest hast, musst du erst mal die sicheren Speicherorte einstellen!! Das kleine und praktische Programm ADDPATH (Freeware) erleichtert dir die Arbeit damit.
Wenn du diese "Kleinigkeiten" berücksichtigst, sollte es keine/weniger Probleme mit deinen Access-Datenbanken geben.
Grüße aus Rostock
Wolfgang
(Netwolf)
wie Andreas schon richtig schreibt, bleiben beim Kopieren die Links/Verknüpfungen erhalten.
Diese können mit dem Verknüpfungsmanager geändert werden. Dies funktioniert so lange, wie die alte Verknüpfung auch physikalisch erreichbar ist.
Besteht die alte Verknüpfung nicht mehr (also die MDB ist nicht erreichbar) hilft wirklich nur noch die alte Verknüpfung zu lösen und eine neue einzutragen.
Ab 2007 solltest du vorsichtig mit dem Dateityp der MDB sein. AC2003 konnte noch 97/2000er MDBs lesen. Das geht mit AC2007 nur noch mit Chaos.
Wenn wirklich alle mit AC2007 arbeiten, würde ich die MDBs ins neue Format 2007/2010 = ACCDB konvertieren.
Die Sicherheit wird ab 2007 sehr hoch angesetzt. D.h. nachdem du Access gestattest hast, musst du erst mal die sicheren Speicherorte einstellen!! Das kleine und praktische Programm ADDPATH (Freeware) erleichtert dir die Arbeit damit.
Wenn du diese "Kleinigkeiten" berücksichtigst, sollte es keine/weniger Probleme mit deinen Access-Datenbanken geben.
Grüße aus Rostock
Wolfgang
(Netwolf)