2013-10-24 80 views
0

我有一個附加到查詢的子窗體的數據庫,該查詢有15列。諸如ProjectName,CustomerName,ProjectDueDate,EngineerDueDate,ProjectComplete,EngineerComplete等字段。查詢按鈕組織

我想要做的就是弄清楚如何通過點擊一個動作按鈕來自動組織這些數據。操作按鈕會顯示「完整列出」,這將確保項目的所有字段已完成檢查,並保留在底部,並從那裏按截止日期(ProjectDueDateDate & EngineerDueDate)組織它們,在列表中會更高。

我該怎麼做呢?

我有機會到2013年,在Windows 7

查詢名稱是SEARCHQ,按鈕的名稱將是ListCompleteBtn,三個領域被稱爲ProjectDueDate,EngineerDueDate和ProjectComplete。

ProjectComplete> ProjectDueDate> EngineerDueDate。

所以,一個例子名單這裏是這樣的:

ProjectName | ProjectDueDate | ProjectComplete | EngineerDueDate | 
------------------------------------------------------------------ 
Test1  | 25/10/2013  | [y] (check mark)|24/10/2013  | 
------------------------------------------------------------------ 
Test2  | 30/10/2013  | [n] (blank box) |26/10/2013  | 
------------------------------------------------------------------ 
Test3  | 30/10/2013  | [n]    |25/10/2013  | 
------------------------------------------------------------------ 
Test4  | 25/10/2013  | [y]    |25/10/2013  | 
------------------------------------------------------------------ 

將被格式化成這樣,當您通過完成按鈕單擊列表:

ProjectName | ProjectDueDate | ProjectComplete | EngineerDueDate | 
------------------------------------------------------------------ 
Test3  | 30/10/2013  | [n]    |25/10/2013  | 
------------------------------------------------------------------ 
Test2  | 30/10/2013  | [n]    |26/10/2013  | 
------------------------------------------------------------------ 
Test1  | 25/10/2013  | [y]    |24/10/2013  | 
------------------------------------------------------------------ 
Test4  | 25/10/2013  | [y]    |25/10/2013  | 
------------------------------------------------------------------ 

回答

0

這是一個非常基本的SQL問題,所以您可能需要考慮購買(或借閱)關於Access和/或SQL介紹的書籍。你正在尋找的是一個SQL字符串的ORDER BY子句。您必須使用按鈕的On_Click事件來設置子窗體的RecordSource。喜歡的東西:

Private Sub ListCompleteBtn_Click() 

Forms![MyForm].[MySubform].Form.RecordSource = "Select * from MyQuery ORDER BY ProjectComplete, ProjectDueDate, EngineeringDueDate ASC" 
Forms![MyForm].[MySubform].Form.Refresh 

End Sub 

顯然,[MyForm的]是你的主要形式的名稱(去掉括號,當你把它放在那裏)和[MySubform]是你的子窗體的名稱(使用替換爲同以上)。在適當的地方編輯SQL語句的其餘部分。

如果要更改排序順序,改變「ASC」(簡稱升序)爲「DESC」(簡稱降序)

+0

它的工作原理,但它似乎不,如果我把ASC關係或DESC;項目完成複選框總是被排序爲頂部爲yes,否則爲底部。 – D347HxD

+0

另外,如果它是由ProjectComplete DESC組織的(也就是說它是完整的,並且在查詢中選中該複選框,它將位於列表的底部),那麼ProjectDueDate和EngineerDueDate將按日期排序,更接近現在的頂端。這是困難的一部分,我似乎無法弄清楚......爲三個不同的領域排序兩種不同的方式。 – D347HxD

+0

我99%確定你可以做「ORDER BY OneValue ASC,AnotherValue,ThirdValue DESC」。只要確保在第一個排序順序後有一個逗號,無論您是先使用ASC還是DESC。您可能必須像「ORDER BY OneValue ASC,AnotherValue DESC,ThirdValue DESC」那樣執行此操作,並且在每個排序順序後都有逗號。我發現你很新,所以如果你發現這個答案有幫助,請記住提出答案或給它一個複選標記。它有助於網站的未來用戶並幫助我。 :o) –