天天看點

【Access資料庫】關于帶參數的交叉表查詢

查了一圈,網上關于帶參數的交叉表查詢的介紹很少。

1.用SQL語句寫帶參數的交叉表查詢的話,不能用having語句設定條件,必須用where。

2.where語句裡不能像普通參數查詢一樣寫模糊查詢,必須是精确的。

3.即使用了where,也要在最開始寫類似PARAMETERS [請輸入XXX] Text ( 255 );這樣的語句。作用是以“請輸入XXX”為名定義了一個新變量。

這也是參數查詢的本質:[]的真正意義是将變量名括起來,包括字段變量名和參數變量名。我們在條件行輸入的[Enter Start date],Access 檢測其不是表名,字段名,保留字元的新名字後,就會隐性定義了一個名為“Enter Start date”的變量,之後彈出的對話框,使用者輸入的資料就被賦給這個新變量了。

因為這個變量名中間有空格,我們必須用方括号把它括起來。如果沒有空格的變量名,其實是可以不帶[]使用的,如下:

【Access資料庫】關于帶參數的交叉表查詢

但是沒有查到為什麼交叉表查詢不能模糊查詢、為什麼一定要顯式聲明變量…我猜,是文法規定如此

參考文章:https://blog.csdn.net/gracexu/article/details/2146558

其他發現的問題:

窗體資料輸入到交叉表做參數出錯http://www.office-cn.net/forum.php?mod=viewthread&tid=13479

在交叉表加參數,帶表達式出錯http://www.accessoft.com/blog/article-show.asp?userid=193&Id=4576

馬https://stackoverflow.com/questions/11292270/hide-a-column-in-cross-tab-depending-on-the-value-of-parameter-crystal-reports