Ich habe eine Access-Datenbank von 97 in Access 2013 32 Bit konvertiert. Die Datenbank stürzt jetzt unter Windows 7 ab, funktioniert aber unter Windows 2012 R2 einwandfrei.
Wenn ich die Datenbank auf den PC kopiere, stürzt sie beim ersten Öffnen nicht ab, danach jedoch jedes Mal.
Diese Abfrage führt unter Windows 7 immer zum Absturz von Access, nicht jedoch unter Windows Server 2012:
UPDATE BatchHdr SET BatchHdr.RecCount = Val(Nz(DCount("[EntryID]","BatchDtl","[BatchID] = " & [BatchID]),0)), BatchHdr.Errors = Val(Nz(DCount("[EntryID]","BatchDtl","[Er] is not null and [BatchID]=" & [BatchID]),0)), BatchHdr.Warnings = Val(Nz(DCount("[EntryID]","BatchDtl","[Warning] is not null and [BatchID]=" & [BatchID]),0)), BatchHdr.NeedsChecked = IIf(DCount("[BatchID]","BatchDtl","[Checked] = false and [BatchID] = " & [BatchID])>0,True,False) WHERE (((BatchHdr.Status)<>"Exported" And (BatchHdr.Status)=[Forms]![BatchHeader]![MyStatus])) WITH OWNERACCESS OPTION;
Ich kann nicht herausfinden, wie ich diese Datenbank unter Windows 7 zum Laufen bekomme. Ich habe versucht, Access im Kompatibilitätsmodus auszuführen, und es stürzt beim ersten Mal nicht ab, aber nach 1-2 Öffnungen.
Aufgrund des verwendeten 32-Bit-VBA-Codes muss Access 32-Bit verwendet werden.
Ich erhalte eine Fehlermeldung:
APP NAME: MSACCESS.EXE
FAULT MODULE: OLEAUT32.DLL
FAULT MODULE VERSION: 6.1.7601.18679
EXCEPTION CODE: C0000005
Antwort1
Es hört sich an, als ob es sich um ein Cache-Problem handeln könnte, mit dem Windows 7 nicht klarkommt.
Ich habe eine Anleitung gefundenHierdort wird erklärt, wie der Access-Cache beim Schließen geleert wird.
- Klicken Sie auf Datei > Optionen > Aktuelle Datenbank
- Scrollen Sie zur Tabelle „Caching Web Services und Sharepoints“
- Aktivieren Sie „Cacheformat verwenden, das mit Microsoft Access 2010 und höher kompatibel ist“
- Aktivieren Sie „Cache beim Schließen leeren“
- OK klicken"
- Starten Sie Access neu, damit die Änderungen wirksam werden.
Dies sollte verhindern, dass Access beim Öffnen oder erneuten Öffnen abstürzt.