程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Access數據庫 >> 關於Access數據庫 >> 讓您的用戶進行排序

讓您的用戶進行排序

編輯:關於Access數據庫
對於這個困擾已久的問題,Chris Weber 開發出一種新的解決方案,允許用戶在他們的窗體(或子窗體)中對數據進行排序,您可以輕松地將該解決方案添加到自己的應用程序中(同時可花費更少的時間進行維護)。同時,他還討論了設計良好的模塊應該具有的特征。

“各位!各位!各位!現在是朝廷議事時間。請各位需要奏請國王的大臣站到前面來。”

“我尊敬的國王陛下,”人群中一個聲音大膽地進言,“我們的女性顧客詢問,她們是否能夠以直觀的方式和任意組合方式輕松地對窗體上的字段進行排序。”

“這聽起來似乎是個不錯的請求,”國王答道,“在我的直轄范圍內,它肯定會有用。就這麼辦吧。哪個負責開發的爵士願意接受這個挑戰?”

但是,所有的爵士在面對這樣的想法時都退縮了。“尊敬的陛下,”一個聲音說道,“女士們已經可以通過無處不在的工具攔對窗體進行排序了。”

“而且,”另一個聲音說道,“她們可能會將窗體轉換為數據表視圖,並且為了便於排序,還會將字段列按照所希望的方式移動。”

“呸!”國王怒吼一聲。“難道你沒有聽到嗎?”(因為這些爵士不喜歡傾聽。)“女性顧客必須對窗體上的多個字段進行排序。而且你們都知道,在我的領土內,禁止使用數據表視圖!難道你想讓我的子民去查看隱藏字段和秘密鍵值嗎?他們甚至會丟失字段列,你這個家伙!顯然,你們中的一個人會看到該請求中的值。”

然後,Worksalot 先生緩緩地走上前來。“尊敬的陛下,我想接受這個請求。如果可以的話,我想我能夠用一上午的時間來完成這項任務。”

“Worksalot 先生,您很勇敢,”國王答道,“但是,由於您總是低估完成請求所需的時間,我決定再多給你半個上午的時間。”

Worksalot 先生得到了國王的贊許,心裡很高興。“我一定會完成的,尊敬的陛下。”

“既然你已經接受了這個任務,請為我們找到一個最好的方法,”國王說道。

“沒問題,”爵士答道。他向朝廷鞠了一躬,急忙轉過身,然後匆匆離開執行任務去了。

聽起來很熟悉嗎?有時候,正是這種挑戰使事情變得很有趣。當我的一位客戶將上述故事中的需求添加到變更列表中時,我認為這種事情可能很合理。但是,在電話裡,我無法確保可以成功交付。我說我會“仔細研究”,並為整個變更列表開價,大概需要花費一天中四分之三的時間來考慮這種排序技巧。范圍估計可以讓我分散整個列表中“產生錯誤的意向”的風險,但願,我可以為我的努力爭取到合理的回報。

畫一張地圖……
每當需要發明一些“新”東西時,我總是先出去散散步並進行仔細的考慮。散步通常是我一天中最有收獲的一部分。經過周密地考慮特定需求之後,我會總結出一個完備的需求列表: 

• 排序界面應該適用於任何數據庫中的任何窗體。

• 它還應該適用於子窗體。

• 它需要盡可能方便地實現以完成報價,並且易於在將來進行維護。

• 它應該直觀,或者能夠令人想起 Access 和 Windows 中的其他界面。 


我決定使用一個帶有兩個列表框的對話框。用戶可以從窗體打開該對話框,然後從左邊的列表中選擇字段,並將這些字段移動到右邊的列表中,任何順序均可。在對界面進行原型化時,我意識到,還需要為用戶提供一種方法來指定列的排序方式(升序還是降序),因此我在選擇按鈕下面添加了一個選項組(參見圖 1)。這樣,用戶就可以選擇排序順序,然後將字段從左邊移到右邊。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved