2012-02-28 23 views
0

最近,我一直在爲Windows 7 Professional上正在使用Microsoft Access XP的客戶端推出一個相當基本的數據庫遷移。總體而言,該程序能夠處理讓我原型完整的數據庫解決方案,但現在當我嘗試對數據庫的克隆進行全面試運行時 - 在運行查詢時,我不斷收到編譯錯誤,數據類型不匹配和完全失敗我準備了。Microsoft Access 2002內置查詢邏輯破損

我已經做了大量的搜索,我熟悉缺少引用的問題 - 但是在我的Access副本中,什麼也沒有丟失,當我嘗試了取消選中和重新檢查工作引用的方法時,問題仍然存在。

特別是這個問題已經出現了Access的Left()和Now()函數 - 儘管現在我無法在整個程序中工作,但其他函數可能無法正常工作。

因爲我運行的是Windows 7,所有這些都可能是由於UAC和增強的權限控制而導致的嗎?如果有必要,我可以在Windows XP模式下嘗試安裝Access XP。

回答

1

Access XP is no longer officially supported by Microsoft。從個人經驗來看,Vista已經不穩定了,所以我敢打賭,Windows 7並沒有改進。

建議您的客戶切換到官方支持Windows 7的Office 2010.

+0

感謝您的建議。我把數據庫移到了我自己的系統中,一切都完美無缺,所以看起來這是一個重大問題。 – theonlylos 2012-03-02 02:13:02

+0

知道這很有趣。我從來沒有遇到任何使用Office 2002/XP的人,因爲它的保質期很短。這也是Macro Security的第一個版本,所以也許是因爲這個原因而被趕出去的。通常Office的新版本每3年左右發佈一次。 – 2012-03-02 06:55:58

1

在Access的VBA模塊中使用Left函數是一個壞主意,因爲它也是許多對象的屬性。相反,最好使用Mid功能。您也可以使用Date而不是Now,但我不確定爲什麼這是必要的。

我懷疑你的問題是否與UAC有關,但是從32位切換到64位Windows肯定會導致問題。到目前爲止,部署任何Access數據庫的最大問題是宏安全,但我相信你知道這一點。

此外,請確保您不混合DAO和ADO。那肯定會讓你感到困擾。

+0

非常感謝您的回答。儘管在這種情況下它並不是確切的問題,但我會毫不猶豫地記住任何其他涉及Access開發的項目。 – theonlylos 2012-03-02 02:14:01