|
Member
Beiträge: 19
| das neue einbinden der tabellen habe ich nicht probiert, weil alle meine anwender sich die neuste version der access-db über ein internes update holen: das access-frontend erkennt das es veraltet ist und kopiert die neue version von sich aus einem blob feld aus einer sql server tabelle in das benutzerverzeichniss, überschreibt sich selbst und startet sich dann neu. somit hat jeder anwender exakt die gleiche binärversion der db. wenn die tabellenverknüpfungen nicht stimmten, würde das auch bei allen anderen usern aufschlagen. außerdem hatte ich dem user meine access-db die lief in sein benutzerverzeichniss kopiert und die ging auch nicht.
von meiner idee mit den odbc-treibern bin ich mittlerweile gar nicht mehr so überzeugt, da ich mir gestern alle installierten odbc-treiber in meinem win7 system hab anzeigen lassen (die anwender haben auch alle win7 und office 2010 sp2) und siehe da: offensichtlich installiert access 2010 einen eigenen odbc-treiber bei seiner installation. damit müsste auch der problem-user denselben treiber haben wie alle anderen auch bei denen es geht.
und ja, es war reproduzierbar. ich habe die formularquelle dann manuell auf den betreffenden "select *" befehl gesetzt und in der produktivversion der db kam dann ein odbc-error. in der test oder entwicklerversion (identische datenbankstruktur, nur andere/weniger daten) kam der fehler nicht.
ich dachte auch, das es ein problem mit zuwenig ram/altem rechner sein könnte wie in einem anderen post hier beschrieben wo auch fehler auftauchen können die sonst nicht passieren. allerdings hätte der fehlerhafte
"select *" dann auf meinem rechner funktionieren müssen (32gb ram, access anwendung hatte 1.6gb frei). aber bei mir kam der fehler dann auch.
naja, ich hab ja eine lösung gefunden und es läuft: statt dem "*" einfach alle felder aufzählen obwohl extrem nervig bei großen tabellen. ich glaube einfach, das access-datenbanken manchmal einfach "kaputtgehen" d.h.
nicht komplett aber an einer stelle im code, so das dieser teil dann nicht mehr richtig läuft. diese theorie kommt übrigens nicht von ungefähr: ich habe eine andere access-db die ca. 20 mitarbeiter in unserer abteilung nutzen
(jeder eine kopie auf seinem c-laufwerk, die tabellen liegen auf einem sql server).
bei 1-2 nutzern passiert es regelmäßig, das dessen access-db´s nach ca.3 monaten beim start anfangen einen fehler zu melden der vorher nie kam. wenn ich dann die ursprüngliche access-db dem user wieder in sein benutzerverzeichniss kopiere, geht es wieder einige zeit...
sven | |
|