Access ADP查詢的where語句中引用窗體中控件的值

2002-04-18 03:26:00
版主們-Office交流網
原創
3212
如何在ADP查詢的where語句中引用窗體中控件的值?
如果要使用全局變量,應如何使用?好像查詢中不支持此方法?

tmtony
1.你在運行此查詢時引用的窗體要打開
2.字符型字段:字段='" & 窗體.控件 & "'"
3.數字型字段:字段=" & 窗體.控件 


yuab
在ADP的查詢中不能直接象mdb中一樣引用窗體控件,但是有兩種方法可做到。
一種是象tony那樣直接在VBA中寫SQL語句可用ADO,或用docmd.runsql也行。
另一種是運用存儲過程來寫,然后在VBA中存取有參數的存儲過程,這種方法應該在大量數據的情況下比前一種速度快。

zhuyiwen
贊成 yuab 版主的說法, 只是用存儲過程, 代碼稍有些復雜, 但執行效率高得多, 全在服務器端執行已編譯了的存儲過程.

yuab
怎么做啊,我只簡單寫一個存儲過程程序好嗎。如果不明白用QQ聯系我。
CREATE PROCEDURE pro_stk_單據_N 
@登入倉庫 varchar(2)
AS
SELECT 單據索引, 錄入倉庫,發貨倉庫, 收貨倉庫, 單據號碼, 交易日期, 交易編號, 訂單編號, 倉管員, 領貨人, 交易類型, 是否批核, 票據類型
FROM dbo.[tbl_stk_單據]
WHERE (是否批核 = 0) and  錄入倉庫 like '%'+ @登入倉庫 + '%'

GO
注解:@登入倉庫是一個參數,參照到登入窗體的值, 登入窗體記錄全公司的倉庫,當以不同的身份登入時,這個參數就以將該倉庫的資料篩選出來,%符號相當于mdb中的*號。

tmtony
不錯,不過我習慣使用英名命名,以便在SQL SERVER7各個環境下可重用, 好象SQL SERVER2000應該沒有這個問題了

zhuyiwen
這是一個例子:(combox)
Access示例代碼: 文件下載

tmtony
十分不錯!! 你的動態IP在這些地方能讓很多人受益哦

(ADP-相關文章技巧鏈接):
ADP中如何用代碼設置窗體或報表的各個參數
Access鍵盤快捷鍵大全[上]
ACCESS與SQLSERVER系列之一 免費Access培訓公開課[3]
鎖定窗體數據不被修改的幾種方法
分享
北京十一选五基本走势