現在我們已經討論了中級SQL的語法,那麼讓我們看看在一個Access應用程序中我們可以使用它的一些途徑。
數據庫范例 作為這篇文章的附帶,這裡有一個叫acIntSQL.mdb的數據庫范例。
在acIntSQL中的任一處都是基於本文所提到的所有主題,並且它通過查詢和范例的代碼演示了我們所討論的不同SQL語句。
在acIntSQL中所使用到的許多部分查詢都是基於特定工作表中存在和包含的數據,或者是基於其它已經存在的數據庫對象。如果你由於丟失數據而在運行一個查詢產生故障,打開工作表重置窗體並單擊工作表重置按鍵。這將會重新生產工作表和其中原始缺省數據。如果要手動通過工作表重置過程,你需要按照下面的順序執行這些查詢過程:
Drop Table Shipping
Drop Table Invoices
Drop Table Customers
Drop Table CreditLimit
Create Table Customers
Create Table Invoices
Create Table Shipping
Create Table CreditLimit
Populate Customers
Populate Invoices
Populate Shipping
Populate CreditLimit
查詢 查詢就是指存儲在Access數據庫中並可以隨時調用的SQL 語句,也可以直接被Access 用戶界面或Visual Basic? for Applications (VBA)編程語言調用。查詢可以使用Access Query Designer來建立,Access Query Designer時一個可以很容易建立SQL語句的強大的可視化工具。或者你也可以通過直接在SQL視圖窗口輸入SQL語句來建立查詢。
如同在"Microsoft Jet SQL for Access 2000基礎篇"一文中所述, Access把數據庫中所有面向數據的任務轉化為SQL 語句。要演示這一點,讓我們使用Access Query Designer來建立一個查詢。
打開acIntSQL數據庫。 (單擊此處拷貝acIntSQL.mdb 數據庫例子。)
確保tblCustomers 和 tblInvoices這兩個表單已經創建並且其中包含有數據。
在數據庫窗口中從Objects條中選擇QuerIEs選項。
在數據庫窗口工具條裡單擊按鍵 New。
在New Query對話框中選擇Design VIEw並單擊OK。
在Show Table對話框中選擇tblCustomers並單擊Add;接著選擇tblInvoices 並單擊Add;接著單擊Close按鍵。
在tblCustomers 域名列表中選擇Last Name 域並把它拖到設計表格中的第一個域中。
在tblInvoices 域名列表中選擇InvoiceDate 和 Amount域並把它們拖到設計表格中。
在設計表格中InvoicwDate域的Sort屬性裡選擇Ascending。
從Access菜單條中選擇View並單擊SQL View。這樣就打開了SQL VIEw 窗口和顯示了在查詢中Access正在使用的SQL語法。
注意 這個查詢類似於存儲在acIntSQL 數據庫中的"Join - Inner"查詢。
嵌入語句 嵌入SQL 語句就是指你在Visual Basic for Applications (VBA) 編程語言中使用SQL 語句。雖然深入討論如何使用VBA超出了本文的范圍,但如何使用程序來運行SQL 語句卻是一件簡單的工作。
在acIntSQL數據庫中,有兩個使用內部SQL語句的窗體需要通過Jet OLE DB provider 和 ADO來運行:就是演示數據定義語句的 Intermediate DDL 窗體,以及演示數據處理語句的Intermediate DML窗體。
中級DDL 語句 這個acIntSQL數據庫有許多關於你可以用來管理你的數據庫結構的SQL 語句的范例。有一部分數據定義語言 (DDL) 語句被以數據定義查詢的方式存儲。而其它的則在程序設計代碼的內部作為內聯SQL使用。如果你要使用這些DDL例子,你需要在運行它之前刪除一些數據庫對象。例如,如果你想運行創建當前數據類型的查詢,你就先要確定當前數據表單不存在。如果不是,那麼,這個查詢就會返回一個信息告訴你這個表單已經存在。