Access VBA執行階段指定報表查詢字串 *or set現有查詢 *同場加映 VBA動態新增.刪除查詢
由於用Access建立的查詢,無法在工作階段中指定"參數"值
e.g.失敗範例
在查詢中設定參數
SQL語法檢視模式
1: PARAMETERS D1 DateTime
2:
3: set [D1]=[Forms]![open]![起始日期]
4: '↑這行是沒有用的.不能這樣設定
5: SELECT * from test
http://stackoverflow.com/questions/7491662/sql-query-variables-in-ms-access
其他關於參數
Access 為何要我輸入參數值?http://office.microsoft.com/zh-tw/access-help/HA010274377.aspx#BM4
使用參數於查詢和報表http://office.microsoft.com/zh-tw/access-help/HA001117077.aspx
讓查詢要求輸入http://office.microsoft.com/zh-tw/access-help/HA010341833.aspx
e.g.成功範例
在報表的OnLoad事件 直接寫查詢語法
*同場加映
VBA動態新增.刪除查詢
1: Sub UpdateQuery(QueryName, SQL)
2: ''Using a query name and sql string, if the query does not exist, ...
3: If IsNull(DLookup("Name", "MsysObjects", "Name='" & QueryName & "'")) Then
4: ''create it, ... 建立一個新的查詢
5: CurrentDb.CreateQueryDef QueryName, SQL
6: Else
7: ''Other wise, update the sql.
8: CurrentDb.QueryDefs(QueryName).SQL = SQL
9: End If
10:
11: End Sub
12: 'Note that deleting a query that does not exists will cause an error.
13: '刪除新建的查詢
14:
15: DoCmd.DeleteObject acQuery, "NewQuery"