Access 2013 32 位元在 Windows 7 中崩潰,但在 Server 2012 R2 中不會崩潰

Access 2013 32 位元在 Windows 7 中崩潰,但在 Server 2012 R2 中不會崩潰

我將 97 Access 資料庫轉換為 Access 2013 32 位元。該資料庫現在在 Windows 7 中崩潰,但在 Windows 2012 R2 中運作正常。

如果我將資料庫複製到PC上,第一次打開資料庫時,它不會崩潰,但之後每次都會崩潰。

此查詢始終會導致 Windows 7 中的 Access 崩潰,但 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;

我不知道如何讓這個資料庫在 Windows 7 中工作。

由於使用了 32 位元 vba 程式碼,因此必須使用 Access 32 位元。

我收到一條錯誤訊息:

APP NAME: MSACCESS.EXE
FAULT MODULE: OLEAUT32.DLL
FAULT MODULE VERSION: 6.1.7601.18679
EXCEPTION CODE: C0000005

答案1

聽起來這可能是 Windows 7 無法處理的快取問題。

我找到了一個指南這裡這解釋瞭如何在關閉時清除訪問快取。

  1. 按一下檔案 > 選項 > 目前資料庫
  2. 捲動至“快取 Web 服務和 Sharepoints 表”
  3. 勾選“使用與 Microsoft Access 2010 及更高版本相容的快取格式”
  4. 勾選“關閉時清除快取”
  5. 點擊“確定”
  6. 重新啟動 Access 以使變更生效。

這應該可以防止 Access 在開啟或重新開啟時崩潰。

相關內容