我們剛剛從Access 2003升級到Access 2010和字符串比較與一個無效的過程調用錯誤而失敗時,則使用缺省條件。我已經重新創建2個想必相關問題在只包含默認表,用下面的SQL和僅包含下面的代碼模塊查詢一個新的Access 2007格式的數據庫,所以我嚴重懷疑這是一個損壞問題。 首先以下子上如果再與運行時錯誤5行失敗:無效的過程調用或參數Access 2010中的字符串比較無效的過程調用
Option Compare Database
Option Explicit
Sub checkStrCmp()
Dim str As String
str = "s"
If str = "s" Then
MsgBox "works"
End If
End Sub
如果我更改選項比較數據庫到選項比較文本子的作品如預期,但是這似乎是一個壞主意,因爲我可能想要在單個子文件中進行文本以及數字比較。
我也越來越SQL內的字符串比較函數「無效的過程調用」錯誤。 Replace函數需要可選的比較參數。
Select replace("foo-bar-baz", "-", "|", 1,-1);
生成「無效的過程調用」錯誤
設置參數的比較任何可用的值(0-3)的作品如預期:
SELECT replace("foo-bar-baz", "-", "|", 1,-1, 0);
產生「富|酒吧|巴茲」
有其他人看到了這一點?有沒有需要調整的設置?除了「數據庫損壞」之外的任何其他想法,這些都是我通過Google找到的。 TIA
apoligies的草率代碼塊我不能爲我的生活讓他們的工作權利。
UPDATE:我應該提到我正在運行XP Pro sp3。
問題似乎僅限於我對我的盒子創建數據庫。當我打開我在我的網絡上的其他工作站上創建的測試數據庫時,我看到了這個問題,但是當在這些工作站上創建新數據庫時,無法重新創建它。我在其他兩個工作站(安裝了相同的OS和MS Office版本)上創建的數據庫在我的機器上打開時也能正常工作。當我從我的機器上在這些數據庫中插入新模塊時,我也無法重新創建問題。
總之,這個問題似乎只存在於我的機器上創建的數據庫(以及在我的機器上轉換爲2007格式的舊的2003格式數據庫中)。我最好的猜測是我的安裝已經完成,但我想知道如何以及爲什麼在重新安裝Office的請求之前處理IT。我也想排除與我盒子上的其他軟件衝突。
我知道在2007年,有一個缺失的參考可能會導致失敗的最基本的操作。我已經讓系統在'date'上拋出一個錯誤,只是因爲引用被更新了,舊的不再提供 – SeanC
@Sean Cheshire。謝謝,但因爲這是在一個新的分貝香草代碼發生,所以我懷疑這是問題 – Norm
在您有問題的機器上,檢查Access的設置爲「新的數據庫排序順序」。 (使用Access 2007,該設置可從Access Options - > Popular,然後在「Creating Databases」標題下獲得)。如果它不是General,則將其更改爲General,然後創建一個新數據庫並查看是否仍有問題。 – HansUp