在“設計”視圖中單擊“創建查詢”後,將出現“查詢”窗口,其上有壹個“顯示表”對話框。在上壹課“建立表之間的關系”中提到了“顯示表”對話框。單擊“顯示表”對話框中的“兩者”選項,並在列表框中選擇所需的表或查詢。“表”選項卡中僅列出所有表,而“查詢”選項卡中僅列出所有查詢。選擇“Both”可以顯示數據庫中的所有表和查詢對象,這有助於我們從選定的表或查詢中選擇新查詢的字段。
單擊所需的表或查詢,然後單擊對話框上的“添加”按鈕,該表的字段列表將出現在查詢窗口中。將客戶訂單數據庫中的訂單信息表和產品信息表添加到查詢窗口中。添加提供原始數據的表後,可以關閉“顯示表”窗口並返回到“查詢”窗口,準備創建查詢。“表/查詢顯示窗口”顯示查詢使用的數據源,包括表和查詢。窗口中的每壹個表或查詢都列出了它們的所有字段,壹目了然,方便我們選擇查詢字段。查詢窗口用於顯示查詢中使用的查詢字段和查詢條件。
3.添加和刪除查詢的目標字段。
現在,我們將向查詢設計表添加字段。添加的字段稱為“目標字段”。有兩種方法可以將目標字段添加到查詢表中:
第壹種方法是在表格中選擇壹個空白列,單擊第壹行對應的單元格,單元格右側會出現壹個帶向下箭頭的按鈕。點擊該按鈕出現下拉框,選擇相應的目標字段,選擇表格“訂單信息表”中的“訂單號”字段。
如果幾個表中有相同的字段,如何區分?當我們在查詢表第壹個單元格的下拉框中尋找對應的目標字段時,字段所在的表/查詢名稱就在字段的前面,比如“訂單信息表。產品名稱”字段,這意味著它是“訂單信息表”中的“產品名稱”字段。而不是另壹個表或查詢中的“產品名稱”字段。所以沒有混淆。
第二種方法更簡單。如果要在訂單信息表中添加訂購公司字段,首先選擇訂單信息表,然後在其列表框中找到必填字段訂購公司,將鼠標移動到列表框中標有該字段的選項上,按住鼠標左鍵。這時,鼠標光標變成壹個長方塊。拖動鼠標將長方塊拖動到下面查詢表的空白列,然後松開。
如果表/查詢窗口中有許多對象,這種方法比第壹種方法方便得多。
如果要刪除目標字段,將鼠標移動到要刪除目標字段的列的選擇欄上,光標會變成向下的箭頭。單擊鼠標左鍵選擇所有列,然後單擊鍵盤上的“Delete”鍵刪除選中的目標字段。
4.查詢數據表視圖
將表切換到數據表視圖,就可以看到查詢結果。
在Access中,在多個視圖之間切換非常簡單。只需將鼠標移動到工具欄左上角的第壹個工具按鈕,就會彈出壹個“查看”提示標簽。單擊它可以從查詢設計視圖切換到數據表視圖。
查詢的數據表視圖看起來像壹個表,但它們之間仍有許多差異。
雖然不能在查詢的數據表中插入列,但可以在查詢的數據表中移動列、更改列寬和行高,以及隱藏和凍結列。
不能在查詢數據表中添加或刪除列,也不能修改查詢字段的字段名。這是因為查詢生成的數據值不是壹個真實的值,而是從表對象動態傳輸的,表對象是表中數據的鏡像。
查詢只是告訴Access需要什麽樣的數據,Access會從表中找出這些數據的值,反映到查詢數據表中,也就是說這些值只是查詢的結果。
我們只是選擇目標字段來告訴Access需要哪些表和字段,Access會將字段中的數據列為表並反饋給我們。
在查詢中,您還可以使用各種表達式來操作表中的數據,以生成新的查詢字段。
總結數據
當前數據表還沒有計算出每個訂單涉及的“銷售總額”,我們可以在查詢中使用表達式來計算。首先,在查詢設計窗口中添加壹個目標字段,它是查詢數據表中的最後壹個“總銷售額”字段。因為該字段不在任何表中,所以必須手動輸入到查詢表的空列中。
在該列的字段行先輸入“銷售額”,再輸入“:”(註意必須輸入英文模式的“:”),再輸入“[產品信息表]![產品單價]*[訂單信息表]![訂購數量]”,現在切換到查詢的數據表視圖來查看結果。該查詢添加了壹個“總銷售額”列,並自動計算每個訂單中涉及的金額。
寫計算表達式的時候,壹定要註意它的格式,首先是字段名,然後是“:”,然後是表達式的右邊部分。在此查詢中使用目標字段時,必須用方括號將字段名括起來,並添加“[所用表的表名]!”在字段名前面。表示它在哪個表中的符號。
我剛才說的都是簡單的計算。如果要對數據做壹些復雜的計算,計算十幾個值,都這樣寫會很麻煩,而且如果要取某個值的根之後的值,也寫不出來。
為了完成越來越復雜的計算,Access提供了壹個特殊的“表達式生成器”,其具體用法將在下壹課討論。
6.保存新查詢
我們幾乎已經完成了我們應該做的事情。讓我們保存新的查詢。
在主菜單的“文件”菜單中點擊“保存”。如果是第壹次保存這個查詢,屏幕上會彈出壹個對話框,詢問如何給這個查詢命名:7。使用簡單表查詢向導創建查詢。
首先,單擊數據庫窗口中的新建按鈕,將彈出新的查詢窗口。在列表框中選擇簡單查詢向導,然後單擊確定。在出現的簡單查詢向導窗口中,選擇需要在新查詢中使用的字段名稱。因為這些字段可能位於不同的表或查詢中,所以您應該首先從表/查詢下拉框的下拉菜單中選擇所需的表或查詢,然後可用字段列表框中的字段就是所選表或查詢中的所有可用字段。用鼠標單擊並選擇所需的“字段”,然後單擊“左移”或“右移”按鈕,使該選項成為新查詢中的選定字段。選擇所有必需字段後,單擊窗口上的Next,在下壹個窗口中命名新查詢,然後單擊Finish創建新查詢。
8.使用交叉表查詢向導創建查詢。
ACCESS支持壹種特殊類型的匯總查詢,稱為交叉表查詢。使用此查詢,您可以以類似的電子表格格式查看計算值。要創建交叉表查詢,首先在數據庫窗口中單擊新建按鈕,然後在彈出窗口中單擊選擇交叉表查詢向導,然後單擊確定按鈕。“交叉表查詢向導”窗口中的第壹步是選擇包含交叉表的表或查詢的名稱。第二步,選擇交叉表中哪些字段作為行標題,最多只能選擇三個字段。第三步是選擇交叉表中的哪些字段用作列標題,第四步是選擇在表的交叉點計算哪些值。在第五步中,您需要命名新查詢並單擊finish按鈕,這樣就完成了壹個交叉表查詢。
因為這個查詢比較特殊,初學者往往看不懂,所以我把Northwind數據庫裏的相關例子單獨提出來,供參考。交叉表查詢。rar (83.03 KB) 9。使用“查找重復查詢向導”創建查詢。
在Access中,可能需要對數據表中具有相同值的壹些記錄進行檢索和分類。使用系統提供的查找重復項查詢向導,可以快速完成“查找重復項”查詢。首先單擊數據庫窗口中的查詢選項卡,然後單擊新建按鈕。在“新建查詢”對話框中,單擊“查找重復查詢”向導,然後單擊“確定”按鈕。“查找重復項查詢向導”的第壹步與前兩種查詢向導相同。第二步,根據需要選擇查詢對象,系統會根據選擇的字段自動搜索數據表中的記錄,並根據設置的字段進行分類。第三步是選擇另壹個查詢字段。其實這裏選擇的查詢內容就是用戶想要了解的信息,也就是哪些記錄有相同的內容。在最後壹個向導對話框中輸入新查詢的標題,或者接受系統提供的默認值,選擇生成查詢後的操作,即可以選擇在數據表視圖中打開查詢查看信息或者在設計視圖中修改查詢設計。點擊"完成"按鈕結束查詢的建立。
10.使用“查找不匹配項查詢向導”創建查詢。
在Access中,您可能需要搜索數據表中的記錄,看它們是否與其他記錄相關,是否真的有實際意義。使用“查找不匹配項查詢向導”可以快速完成此操作。首先單擊數據庫窗口中的“新建”按鈕。在新建查詢對話框中,單擊查找不匹配項查詢向導,然後單擊確定。向導的第壹步要求用戶選擇兩個查詢對象,即與記錄相關的兩個數據表。選擇後,單擊下壹步按鈕。在下壹步中,選擇前面選擇的兩個表之間匹配的字段。系統會根據匹配的字段自動搜索,查看未匹配的記錄。第三步是選擇可以代表查詢記錄的字段。可以從對話框左側的可用字段列表中選擇需要的字段到右側的窗口中,沒有具體要求。在最後壹個向導對話框中輸入新查詢的標題,或接受系統提供的默認值,在生成查詢後選擇操作,然後單擊“完成”結束查詢的創建。
11.建立SQL查詢。
SQL查詢是用戶使用SQL語句直接創建的查詢。實際上,Access中的所有查詢都可以認為是壹個SQL查詢,因為Access查詢是基於SQL語句來實現查詢功能的。但是,在創建訪問查詢時,並非所有查詢都可以在系統提供的查詢設計視圖中創建。因為查詢只能通過SQL語句來實現,所以SQL查詢可以分為以下四類:聯合查詢、傳遞查詢、數據定義查詢和子查詢。如果要在Access中建立SQL查詢,必須先建立壹個新的查詢,然後單擊“視圖”菜單並選擇“SQL視圖”命令,以便在屏幕上顯示壹個用於編寫SQL語句的文本框。輸入使用的SQL語句後,點擊視圖菜單,選擇數據表視圖命令,可以看到剛才SQL語句的作用。
12.創建參數查詢
參數查詢可以在運行查詢的過程中自動修改查詢的規則。當用戶執行參數查詢時,會顯示壹個輸入對話框,提示用戶輸入信息。這種查詢稱為參數查詢。當字段需要參數查詢時,首先切換到查詢的設計視圖,然後在用作參數的字段下的“條件”單元格中,用方括號鍵入相應的提示文本。當該查詢運行時,Access將顯示提示。輸入後,將查詢切換到數據表視圖,屏幕上將出現壹個對話框,詢問您需要限制哪個參數。這時候輸入壹定的條件就可以看到符合條件的記錄。Access的參數查詢基於選擇查詢或交叉查詢。在運行選擇查詢或交叉查詢之前,它為用戶提供了壹個用於設置條件的參數對話框,可以方便地更改查詢限制或對象。當然,您不僅可以為單個參數構建查詢,還可以為同時具有條件提示的其他字段構建查詢。
13.設置查詢屬性
要設置查詢的屬性,首先打開壹個查詢,然後點擊工具欄上的“屬性”按鈕,在彈出的查詢屬性列表框中修改查詢的屬性。在各種查詢屬性中,有很多是很容易理解的。現在,這裏有壹些不常見但有用的屬性:
運行權限:將該屬性設置為“所有者的”。設置此屬性後,所有用戶都擁有查詢所有者查看和執行查詢的權限,因此查詢所有者可以保存更改後的查詢,並且只有查詢所有者可以更改查詢的所有權。
記錄集類型:記錄集類型包括動態集、動態集(不壹致更新)和快照。如果選擇了“動態集”,則可以修改查詢到的數據表中的值,相應的計算值也會動態變化,而在快照狀態下,不能修改數據表中的數據。
最後,在ACCESS中添加另壹個特殊的查詢,即union查詢。
在數據庫窗體中,單擊對象下的查詢,然後單擊數據庫窗口工具欄上的新建。在“新建查詢”對話框中,單擊“設計視圖”,然後單擊“確定”。不添加任何表或查詢,在“顯示表”對話框中單擊“關閉”。在“查詢”菜單上,指向“SQL特定查詢”,然後單擊“聯合”。如果不需要返回重復記錄,請輸入帶有UNION操作的SQL SELECT語句;如果需要返回重復記錄,請輸入帶有UNION ALL操作的SQL SELECT語句。註意每個SELECT語句必須以相同的順序返回相同數量的字段。對應的字段都需要有兼容的數據類型,但是有壹個例外:可以使用數字字段和文本字段作為對應的字段。