2
我想這是一個簡單的。我有以下聲明:MS Access VBA:可選參數不假定默認值
Public Const TABLE_MY_TABLE As String = "my_table"
Sub reloadProjections(startDate As String, endDate As String, _
Optional tableName As String = TABLE_MY_TABLE)
'Processing occurs here
End Sub
出於某種原因,在未提供可選的參數,表名不承擔TABLE_MY_TABLE的默認值。當你用調試器完成這一步時,TABLE_MY_TABLE被設置爲「my_table」,tableName是一個空字符串。有誰知道爲什麼?
好悲傷 - 我感到啞巴! :)是的,它工作正常。我正盯着代碼的錯誤。它正在傳遞參數(不按照我的假設使用默認值)並且拼寫錯了參數名稱,所以它傳遞了一個空字符串。鬆散型語言的樂趣。感謝您指點我正確的方向。 – Adam
呃,什麼?鬆散類型?如果你打開OPTION EXPLICIT,你將無法編譯帶有拼寫錯誤的變量名的代碼。這是補救措施Access - 您還可以在所有模塊中使用OPTION EXPLICIT。 –