我正在將Access用戶應用程序從使用本機Access錶轉換爲使用ODBC鏈接的SQL Server表。爲什麼此下拉表單篩選器在本機表上工作,但不在ODBC鏈接表中工作?
我有一組窗體,這些窗體是通過從下拉列表中選擇來進行過濾的(在獨立選擇窗體中)。按照設計,如果用戶將下拉菜單留空,表單將啓動未過濾。
所有這一切的工作原理與本地的表,但是當我嘗試使用鏈接的表,我得到一個錯誤ODBC--call failed
對我使用的形式記錄源查詢生成的SQL查詢訪問即被過濾的是:
SELECT linked.ASSIGNED_CARE_COORDINATOR, [rest of the variables]
WHERE (((linked.ASSIGNED_CARE_COORDINATOR)=[Forms]![frmCoord_Selector]![cmbCoords]))
OR (((([linked].[ASSIGNED_CARE_COORDINATOR])
Like [Forms]![frmDeadline_Report_Coord_Selector]![cmbCoords]) Is Null));
我知道ODBC連接本身沒問題;如果我在OR
之後刪除代碼,查詢將與鏈接表一起工作,但當然不具有show-all-if-null功能。
這爲什麼會與本地表一起使用,而不是完全相同表的鏈接版本?
請告知*查詢基礎的過濾器*。該查詢是表單記錄源,下拉字段的控件源,VBA記錄集還是其他?此外,還不清楚OR的邏輯,因爲您似乎將兩個表達式組合起來:LIKE和IS NULL。你有沒有在這裏正確複製這個? – Parfait
@Parfait查詢是表單記錄源(添加這也是問題文本)。我檢查了副本,它是正確的。 – Rominus