午夜直播免费看-亚洲国产精品日韩av不卡在线-少妇三级全黄-欧美日韩国产一区二区三区,

 
 
 
首 頁
下載中心
站內搜索
IT學堂│News center
硬件學堂
軟件學堂
網絡學堂
最新公告│Announcement
IT外包首選我們的八大理由...
中國勞科院與我公司續簽了...
感謝中成航宇與我們公司續...
感謝深圳市城市空間規劃建...
 
詳細內容
當前位置:首 頁 >> IT學堂 >> 詳細內容
 
 
詳細內容  
 
 
access綁定到存儲過程或函數的窗體或報表沒有應用WHERE
發布時間:2012-12-08 | 點擊次數:1856
  
 
本文只適用于 Microsoft Access 項目 (.adp)。
癥狀當您嘗試使用其他對象(例如其他 Access 窗體)上顯示的值來過濾 Access 窗體或報表時,該過濾器沒有得到應用。 解決方案用戶可以使用若干種方法來解決無法過濾綁定到存儲過程或函數的窗體或報表的問題。這些解決方法的大多數都涉及到將存儲過程或函數替換為其他某種類型的記錄源,例如表、視圖或 SQL 語句。
但是,下面的解決方法向您說明了如何繼續使用存儲過程作為窗體的記錄源,同時又能成功地實現 WHERE 條件或過濾器。
小心:執行本示例中的步驟將會修改示例 Access 項目 NorthwindCS.adp。您可能需要備份 NorthwindCS.adp 文件,并在項目副本上執行這些步驟。
打開示例項目 NorthwindCS.adp。 在“數據庫”窗口中,單擊以突出顯示 Categories 表,然后單擊插入菜單上的自動窗體。 在設計視圖中打開窗體。 從主窗體中刪除標有 Table.Products 的子窗體對象,然后向該窗體中添加一個命令按鈕。如果向導啟動,請單擊取消。 為命令按鈕設置下列屬性:Name:cmdFilterProducts Caption:Filter Products On Click:[Event Procedure] 將該命令按鈕的 onClick 屬性設置為以下事件過程:Private Sub cmdFilterProducts_Click() DoCmd.OpenForm "Products", acNormal, , , acFormEdit, acWindowNormal End Sub 在文件菜單上,單擊“關閉并返回到 Microsoft Access”。 在文件菜單上,單擊保存,然后將窗體另存為 Categories1。 在“數據庫”窗口中,單擊查詢,然后單擊新建。 在新建查詢對話框中,單擊創建文本存儲過程,然后單擊確定。 鍵入或粘貼以下 Transact-SQL 語句,然后關閉并使用 spProducts 的默認名稱保存該過程:CREATE PROCEDURE spProducts @CatID int AS SELECT * FROM Products WHERE CategoryID = @CatID RETURN 在設計視圖中打開 Products 窗體,然后將 Record Source 屬性從 Products 更改為 spProducts。 向下滾動到窗體的 InputParameters 屬性,然后為該屬性分配以下值: @CatID int = Forms![Categories1]![CategoryID]
關閉并保存 Products 窗體,然后打開 Categories1 窗體。 瀏覽到類別名稱 Confections,然后單擊 Filter Products(過濾產品)按鈕。注意,Products 窗體僅打開并顯示那些類別為 Confections 的產品。 狀態這種現象是設計所導致的。 更多信息通常,Access 用戶希望限制在 Access 窗體或報表中顯示的記錄的數量。達到此目標的一個方法是:使用 WHERE 條件過濾窗體或報表中的記錄,并使用其他某個對象來提供條件值。例如,一個窗體可以顯示一個條件值,其他窗體將使用該條件值以便限制所顯示的記錄的數量。但是,如果您嘗試過濾的窗體將一個存儲過程或函數作為其記錄源,則該過濾器被忽略。下列步驟闡述了這種現象。
小心:執行本示例中的步驟將會修改示例 Access 項目 NorthwindCS.adp。您可能需要備份 NorthwindCS.adp 文件,并在項目副本上執行這些步驟。
重現問題的步驟 按照本文此前“解決方法”部分中的第 1 到 5 步進行操作。 將該命令按鈕的 onClick 屬性設置為以下事件過程:Private Sub cmdFilterProducts_Click() DoCmd.OpenForm "Products", acNormal, , "[CategoryID] = " & Me!CategoryID, acFormEdit, acWindowNormal End Sub 在文件菜單上,單擊關閉并返回到 Microsoft Access。 在文件菜單上,單擊保存,然后將窗體另存為 Categories1。 在窗體視圖中打開窗體。 瀏覽到類別名稱 Confections,然后單擊 Filter Products(過濾產品)按鈕。注意,Products 窗體僅打開并顯示那些類別為 Confections 的產品。 關閉 Products 和 Categories1 這兩個窗體。 在“數據庫”窗口中,單擊查詢,然后單擊新建。單擊 創建文本存儲過程,然后單擊確定。 鍵入或粘貼以下 Transact-SQL 語句,然后關閉并使用 spProducts 的默認名稱保存該過程:CREATE PROCEDURE spProducts AS SELECT * FROM Products RETURN 在設計視圖中打開 Products 窗體,然后將 RecordSource 屬性從 Products 更改為 spProducts。 關閉并保存 Products 窗體,然后打開 Categories1 窗體。 瀏覽到類別名稱 Confections,然后單擊 Filter Products(過濾產品)按鈕。請注意,Products 窗體打開并顯示所有產品,而不只是 Confections 類別中的那些產品。
編輯:北京信誠IT保姆IT外包部 http:// www.aboverow.cn www.xcit.com.cn
 
關閉
  友情鏈接
深圳無線覆蓋 廣信鴻業 昊瑞爾科技 及好科技 信諾IT服務 北京IT外包 無線覆蓋 起秀網絡
版權所有:北京信誠眾業科技有限公司 總部:010-62075251 400-698-1290 技術支持:010-62365952
地址:北京市北三環中路2號匯鑫祥源大廈328室 京ICP備09096604-3號

 

主站蜘蛛池模板: 东乌| 石嘴山市| 敦化市| 玛纳斯县| 库车县| 承德市| 彰武县| 福清市| 施甸县| 大洼县| 北京市| 河东区| 邯郸市| 澜沧| 泽普县| 彝良县| 同德县| 青海省| 靖西县| 房产| 麦盖提县| 县级市| 赣榆县| 大连市| 津南区| 潮州市| 福鼎市| 大埔区| 建阳市| 出国| 广水市| 宁波市| 桓仁| 余干县| 隆尧县| 黄平县| 临颍县| 上高县| 突泉县| 富平县| 乐清市|