注冊 登錄
Office中國論壇/Access中國論壇 返回首頁

roych的個人空間 http://m.mzhfr.cn/?179386 [收藏] [復制] [分享] [RSS]

日志

Access的幾個思維慣性

熱度 8已有 3457 次閱讀2011-9-25 09:58

       談Access的文字也有一些了。這里主要說說常有的思維慣性。
       1、喜歡嵌套查詢,以求一步到位。在這里比較少見,不過我經(jīng)常逛EH(club.excelhome.net),里面估計不少人受SQL Server毒害不淺,于是,好端端的幾個查詢,就給Select * from (select * form (select * from A) As B) As C這么“As”下去了。我想說的是,多做兩個查詢會死?在SQL Server里嵌套是常有的事情,畢竟從運行效率來看,影響不大。但對Access來說就不一樣了,這樣往往會降低查詢效率。當然可能不少人覺得多做幾個查詢看得麻煩,容易混淆,不知道哪個是干嘛的。沒關(guān)系,我們可以按順序和一定的格式進行命名。如果覺得這還不夠,我們還可以在屬性里寫上說明。這不就一清二楚了?
       2、喜歡把查詢轉(zhuǎn)換成VBA代碼。記得學習之初,我也有把查詢改成SQL語句的習慣,——大概持續(xù)了一周吧,后來才發(fā)現(xiàn)其中的壞處。
       壞處一:無法發(fā)現(xiàn)表關(guān)系。在VBE界面里,除非對SQL已經(jīng)爛熟,否則很難一下子辨別出表關(guān)系來,反正我沒有這本事。
       壞處二:調(diào)試麻煩,出錯時要多次在立即窗口打印出SQL語句,說不定還要把這些語句放在QBE界面進行測試才能找到問題的所在。
       壞處三:維護麻煩。例如用戶提出要求增加某個字段,減少哪幾個字段時,或者增加某些功能時。如果不能說服客戶的話,這時候估計有人得累一段時間了。
       3、不喜歡交互,奢望一步到位。最明顯的就是希望在Access里處理一些Excel函數(shù)。這些我早在一些帖子上提到過了,不是不可以,但代碼的調(diào)試不見得比在Excel里處理的時間短。對于比較復雜的函數(shù),我一般都是在Excel里處理完畢再導入到Access里的。其實這都是工具,我們不必因為Access在數(shù)據(jù)管理上的優(yōu)勢,就拋棄Excel應有的數(shù)據(jù)處理功能。
       4、“Excel后遺癥”的數(shù)據(jù)表設計。說是Excel后遺癥,一點都不過分。包括我們公司初期開發(fā)的一些數(shù)據(jù)庫系統(tǒng),都存在這樣的問題。Excel的表格比較直觀,所以通常有這樣的顯示:
       姓名        語文     數(shù)學     英語     化學     物理      生物      地理      歷史      體育      美術(shù)     音樂
       Roych     98        95        89        92        88         79          72         81         77        85        72
       但這種格式的設計在Access里要不得,因為不利于數(shù)據(jù)的優(yōu)化,而且也不方便查詢。像這個例子,在Access里只需要三個字段:姓名(文本型)、科目(文本型)、成績(數(shù)值型)。受Excel影響比較深的朋友可能會問了,如果我想顯示成上面那樣,該怎么辦?很簡單,交叉表查詢,把成績作為列標題,姓名作為行標題,成績作為值,效果就出來了。
       5、迷戀代碼。在上一篇已經(jīng)提到了,這里不打算多說。實際上不是什么都得依靠代碼的。對我來說,只有其它功能無法實現(xiàn)的時候,才考慮代碼,因為代碼調(diào)試起來并不是一件很愉快的事情。
       在Access的學習里,其實很多東西都要進行思考的。在設計一個軟件之前,應先考慮大致框架的建設,再根據(jù)這些框架設計表字段,然后通過查詢來完成這些功能,最后再遷移到窗體上去進行顯示。當然,說起來很簡單,實際做起來并不見得。

發(fā)表評論 評論 (8 個評論)

回復 cjnt007 2011-9-26 19:54
很有見地
回復 ycxchen 2011-9-30 15:03
不錯,觀點鮮明。
回復 明鏡 2011-10-6 20:50
講的很有道理
回復 冰火火冰 2011-10-7 11:44
  
回復 zhengjialon 2011-10-27 09:16
頂!
回復 陽城 2012-2-13 16:25
  
回復 WFH6898 2015-11-29 09:37
很有見地
回復 yanwei82123300 2019-12-29 16:47
非常好的心得分享!

facelist doodle 涂鴉板

您需要登錄后才可以評論 登錄 | 注冊

QQ|站長郵箱|小黑屋|手機版|Office中國/Access中國 ( 粵ICP備10043721號-1 )  

GMT+8, 2025-7-13 08:45 , Processed in 0.071520 second(s), 17 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回頂部