Access201*學習心得體會
Access201*學習心得體會
時間:201*-10-2112:20:22作者:bluebird
摘要:我的ACCESS數據庫終于設計完畢,從春節(jié)算起已經整整2個月了,其間經歷了無盡的辛酸和痛苦,請教了太多的人,查閱了很多網頁,終于解決了一些粗淺問題,有些體會,也總結了一些技術細節(jié)。正文:
ACCESS不比WORD那么溫柔可愛,雖然也是OFFICE家庭里的一個組件,可是其技術細節(jié)卻要復雜得多,書上說設計好一個數據庫非常輕松,但是我看并不輕松。也往往有很多口氣特別大的人動不動就看不起ACCESS很弱智的功能,或者說它像玩具一樣簡單,可真要讓他們解決ACCESS技術細節(jié)問題時,多半也會與我們一樣傻了眼。我認為要用ACCESS設計好一個數據庫非常不容易,最初的規(guī)劃很重要,對數據庫要實現的功能進行分析,細化成不同的模塊,然后分析每個模塊之間的聯系,再對每個模塊設計表。1個表盡量把相關的數據放在一起,多張表需要用到的數據最好單獨存放成1張表。沒有重復記錄的表一定要設一個數據類型為“自動編號”的字段并設為主鍵,一般稱為“xxID”,這個字段在其他表中需要用到時可作為外鍵調用。有時需要把好幾張表的主鍵放在一張新表中調用,即全部是“xxID”字段,為避免重復錄入數據,可將這幾個字段一起選中并設為主鍵,稱為復合主鍵。
表建立完畢后,非常重要的一步是在“工具--關系”中建立各表間的關系,盡量考慮周全一些以免遺漏。關系建立好之后,各表中相關數據就自動鏈接在一起了,錄入相當方便。關于一對多、一對一還是多對一的關系類型問題,我的經驗是不用太在意,系統(tǒng)會自己分析好并瞬間設置清楚。
查詢可以基于表,也可以基于已有查詢。遇到有重復的查詢記錄時采用Selectdistinct語句去除重復。有時因為加入了對應某幾個相同字段而沒有不同取值的“必選字段”時,查詢結果中會出現重復記錄,表現為除了那個必選字段的數據沒有重復以外,其他字段被重復,此時進行匯總、分組等操作時會出現錯誤。解決辦法是,另建一個查詢,把剛才那個查詢結果作為“一張顯示表”放進去,在查詢時避免選擇那個會產生重復的字段即可。
窗體是為了幫助錄入的,如果不需要利用窗體協(xié)助錄入則不必建立錄入窗體。但是有一個特殊窗體非常有用--切換面板,這是ACCESS自動生成的,允許用戶進行編輯。切換面板可以讓程序默認調用,從而讓用戶打開數據庫時就看到需要的菜單、按鈕等內容。
報表是在查詢的基礎上建立起來的,可以利用向導方便地建好報表,但是一般需要手工編輯方才符合要求(美觀、布局等)。報表中有4大對象非常重要:報表頁眉、頁腳,頁面頁眉、頁腳,分組頁眉、頁腳和主體,分別各司其職,切莫混淆。建立分組是通過右擊頁面頁眉或者主體對象菜單選擇“排序和分組”,然后可以點選需要的字段作為分組字段,并且可以選擇是否使用分組頁腳!芭判颉币彩窃诖瞬僮。需要先排序再分組就把那個排序字段拖到分組字段前即可。重要:有時明明發(fā)現報表中已經沒有任何東西了可是顯示報表時老是提示有一文本框字段找不到,此時可檢查“排序和分組”中是否應用了一個報表源中不存在的字段。另外,報表源也是一個重要細節(jié),一定要設好報表源方可看到需要的字段?梢酝ㄟ^復制舊報表生成一個新報表然后根據需要重新指定報表源和編輯報表布局和內容。報表如果出現空白頁面時一定是因為報表內的各種對象(文本框、標簽、控件等)放得太靠右了,可往左拖曳,然后一定記得在報表編輯背景中的最右緣按鼠標往左拖以縮小報表編輯區(qū)域。
切換面板可以集中存放各種報表,操作比較簡單。但是主切換面板上只能放8個菜單,子切換面板上同樣如此。更多的報表如果需要放在切換面板上,可以采用添加按鈕的辦法實現。
各種控件的幾個重要屬性:數據源、名稱、標題、控件提示文本、事件、無數據……
無論多么害怕代碼,做數據庫不可避免地要接觸到各種各樣的代碼,一不小心ACCESS就很不友好,報表代碼中有錯誤,可仔細檢查,再對照代碼在報表、控件中的對象核實,不懂的話就查網絡資料找到答案。過程非常辛苦,因為沒有系統(tǒng)學過VBA編程。不過,解決問題之后的喜悅是非常難忘的。
遇到技術問題時問別人,這是很好的,勤學好問嘛。可是90%的情況下會失望,因為一則很少有人在用ACCESS,二則你問的問題別人一般也答不上,或者不愿花時間幫你研究。因此,盡管要不停地問別人,可是“自己動手,豐衣足食”這句千年古訓永遠是鐵的真理。并且,在自己動手動腦解決難題后,會有令人激動的成就感。另外,網上往往能找到比現實生活中水平更高也更樂于助人的朋友,因此善用多用網絡會事半功倍。
還有很多很多體會一時說不完,F在把我總結的一些技術細節(jié)放上來:
1、查詢中加如下表達式,生成一個新的字段,表達式算出項目啟動時間距查詢當天的天數:實施天數:Int(DateDiff("d",[啟動時間],Now())+Int(Format(Now(),"mmdd")>=DateAdd("yyyy",-5,[forms]![切換面板]![txtstartDate])And=[forms]![切換面板]![txtstartDate]And###")&"戶貧困農戶,援助動物"&Format((Sum([分配動物合計])+Sum([傳遞動物合計])),"#,###")&"頭(只),其中直接分配扶持了"&Format((Sum([分配農戶合計])),"#,###")&"戶,分配動物"&Format((Sum([分配動物合計])),"#,###")&"頭(只);傳遞禮品畜禽共計"&Format((Sum([傳遞動物合計])),"#,###")&"頭(只),扶持了"&Format((Sum([傳遞農戶合計])),"#,###")&"戶。共舉辦各類培訓"&Format((Sum([培訓期數合計])),"#,###")&"期,共培訓"&Format((Sum([受訓男合計])+Sum([受訓女合計])),"#,###")&"人次,其中婦女"&Format((Sum([受訓女合計])),"#,###")&"人,占總人數的"&Format((Sum([受訓女合計])/(Sum([受訓男合計])+Sum([受訓女合計]))),"percent")
="在"&Format([Forms]![切換面板]![txtstartDate],"yyyy年mm月dd日")&"到"&Format([Forms]![切換面板]![txtEndDate],"yyyy年mm月dd日")&"共計"&Format(DateDiff("d",[Forms]![切換面板]![txtstartDate],[Forms]![切換面板]![txtEndDate])/365,"standard")&"年("&Format(DateDiff("d",[Forms]![切換面板]![txtstartDate],[Forms]![切換面板]![txtEndDate]),"#,###")&"天)內,xxxxx項目總共實施了"&Count([項目編號])&"個項目(含已經結束和正在進行的所有項目),這些項目共"&"扶持了"&Format((Sum([分配農戶合計])+Sum([傳遞農戶合計])),"#,###")&"戶貧困農戶,援助動物"&Format((Sum([分配動物合計])+Sum([傳遞動物合計])),"#,###")&"頭(只),其中直接分配扶持了"&Format((Sum([分配農戶合計])),"#,###")&"戶,分配動物"&Format((Sum([分配動物合計])),"#,###")&"頭(只);傳遞禮品畜禽共計"&Format((Sum([傳遞動物合計])),"#,###")&"頭(只),扶持了"&Format((Sum([傳遞農戶合計])),"#,###")&"戶。共舉辦各類培訓"&Format((Sum([培訓期數合計])),"#,###")&"期,共培訓"&Format((Sum([受訓男合計])+Sum([受訓女合計])),"#,###")&"人次,其中婦女"&Format((Sum([受訓女合計])),"#,###")&"人,占總人數的"&Format((Sum([受訓女合計])/(Sum([受訓男合計])+Sum([受訓女合計]))),"percent")
以上內容,對于不懂ACCESS的人來說也許像天書,但是對于用過ACCESS的人來說不過爾爾。沒有什么技術難得我們永遠無法掌握,也沒有任何技術值得我們炫耀。技術的習得是一個機械過程,是不需要經過非常復雜的思考和陣痛的?墒,我漸漸感覺,人類思想領域卻不是這樣的,要想在思想領域取得進步,非得經過艱難甚至嚴酷的陣痛不可。
擴展閱讀:對學習ACCESS的心得體會
學習
ACCESS數據庫的心得體會
這一學期開設了計算機應用這門課程,在這門課程的學習過程中,我對ACCESS的學習最感興趣,在此淺談一下我學習ACCESS數據庫的心得體會。
一、對ACCESS的認識
一開始我對Access一竅不通,甚至不知道它是干什么的,后來經過老師的介紹對它略有了解。MicrosoftOfficeAccess是由微軟發(fā)布的關聯式數據庫管理系統(tǒng)。它結合了MicrosoftJetDatabaseEngine和圖形用戶界面兩項特點,是一種關系數據庫工具。它在很多地方得到廣泛使用,例如小型企業(yè),大公司的部門,和喜愛編程的開發(fā)人員專門利用它來制作處理數據的桌面系統(tǒng)。它也常被用來開發(fā)簡單的WEB應用程序.
它有優(yōu)點也有缺點,分列如下:A優(yōu)點:
(1)存儲方式單一
Access管理的對象有表、查詢、窗體、報表、頁、宏和模塊,以上對象都存放在后綴為(.mdb)的數據庫文件種,便于用戶的操作和管理。(2)面向對象
Access是一個面向對象的開發(fā)工具。它將一個應用系統(tǒng)當作是由一系列對象組成的,通過對象的方法、屬性完成數據庫的操作和管理,極大地簡化了開發(fā)工作。同時,這種基于面向對象的開發(fā)方式,使得開發(fā)應用程序更為簡便。
(3)界面友好、易操作
Access是一個可視化工具,用戶想要生成對象并應用,只要使用鼠標進行拖放即可,非常直觀方便。系統(tǒng)還提供了表生成器、查詢生成器、報表設計器以及數據庫向導、表向導、查詢向導、窗體向導、報表向導等工具,使得操作簡便,容易使用和掌握。
(4)Access可以在一個數據表中嵌入位圖、聲音、Excel表格、Word文檔,還可以建立動態(tài)的數據庫報表和窗體等。Access還可以將程序應用于網絡,并與網絡上的動態(tài)數據相聯接,輕松生成網頁。B缺點:
ACCESS是小型數據庫,既然是小型就有它根本的局限性:ACCESS數據庫不支持并發(fā)處理、數據庫易被下載存在安全隱患、數據存儲量相對較小等。而且在以下幾種情況下數據庫基本上會吃不消:
1.數據庫過大,一般ACCESS數據庫達到50M左右的時候性能會急劇下降。
2.網站訪問頻繁,經常達到100人左右的在線。
3.記錄數過多,一般記錄數達到10萬條左右的時候性能就會急劇下降。
二、對一些基本知識的體會1字段數據類型
學習了ACCESS的數據類型,發(fā)現計算機軟件對數據的處理和管理是很嚴格的。
ACCESS數據表里面的數據字段,是規(guī)定好字段類型的,比如說文本型的、數值型的、是否型的或日期型的一旦設置好了字段的數據類型,那么,在該字段中的所有單元格是不能隨便輸入內容的,如果輸入的內容不符合字段數據類型,是輸不進去的。比如,日期型的數據,你輸入漢字,是不能輸入的,而只能輸入諸如:201*-9-29這樣格式的數據。
這就是字段的數據類型的約束性,可以說,是一種強制性;顯然,約束性帶來了數據管理的方便,解決了數據的分類與管理上的方便。2數據的查詢
ACCESS里面的查詢,不會對源數據表的數據造成影響。這是很好的一種分離模式;我們可以根據自己的查詢,設置或構造簡單的或復雜的查詢條件,之后運用查詢,就可以查詢到所需要的數據的,但是,查詢到的數據,對源數據表,即原始數據,不會造成任何的影響,這就帶來了如下的方便:即能找到所需數據,同時,又保留了原始數據的完整性。
另外,查詢對象,還支持SQL語言的使用,這就從根本上解決了數據查詢的難度,提高了靈活性和使用性。3窗體的使用
原來我對軟件界面很好奇,不知道這樣的界面,是如何制作出來的。學習了ACCESS之后,才知道,這種界面,其實就是一種窗體。窗體對象,可以這樣簡單的來概述:用來顯示數據表數據的有別于查詢的一種界面。窗體對象中的用來顯示數據的控件,我們可以靈活的自行設計,想拖哪個表的哪個字段到窗體里面,窗體就顯示哪種數據,非常方便。4關系
ACCESS里面的數據表與數據表之間,有著關系這個概念。關系,其實就是兩表或多表,相互之間存在的一種關聯或依賴。
比如說,學生信息表,有ID和姓名字段;而學生成績表,有ID、學科、語文、數學、英語、信息技術等學科的成績;后者保存學生每年每學期不同學科的成績。這樣一來,在學生成績表里面對應于一個同學的記錄,就有多條;而在學生信息表中,僅有一條記錄。那么,我們要知道該同學的姓名,同時還要查詢與之相對應的成績,只有通過兩表的操作,才能找到數據。若要表明某個ID的號碼所對應的成績是屬于哪個學生,就要使用到表間關系。通過將學生信息表里面的ID和學生成績表里面的ID,建立起關系,或者稱為以此來穿針引線,那么兩表就存在關聯了。這樣就可以根據信息表里面的ID,以它作為參照對象去尋找學生成績表里面ID號相同的,就為該學生的成績記錄了。
三、具體使用中的一個問題
在學習Access的過程中,我發(fā)現使用高級篩選和查詢這兩個功能,都可以按照所選擇的字段,設置條件或準則,查找滿足一定條件的數據。但是兩者有什么區(qū)別呢?后來上網搜索了一下,然后進行實踐,得出了答案。
①根本的區(qū)別
查詢是Access數據庫中的一個對象,可以進行保存,永久使用;而高級篩選,僅僅是用來對數據庫表數據進行臨時的查找,一旦關閉了,篩選就已經不存在了。
②對數據查找的區(qū)別
高級篩選,只存在字段、排序、條件、或這樣的選項的設置,無論條件如何
復雜或再怎么簡單,查找出來的數據,都包含數據表中的所有字段。而查詢對象,除了上述的選項可設置之外,還有表和顯示兩個選項可以設置;這就說明了查詢對象可以對多個表同時進行查詢,查詢出多個表中滿足條件的記錄,在這里,可以稱為,查詢能對多表進行綜合的查詢,而高級篩選只能對一個表的數據進行查找。此外,查詢中還有“顯示”這樣的選項,當我們選擇一個字段之后,可以將該字段設置為顯示或不顯示,這樣,在查詢出來的數據的瀏覽狀態(tài),就可以根據需要,顯示部分字段而忽略部分字段。
另外,篩選只有在數據表打開的情況下才能使用;而查詢,由于是一個數據庫中的對象,需要新建,同時還需要選擇數據源,即數據表。
③兩者的關聯
高級篩選的操作方法,和查詢,在使用上類似;但是,由于前者僅有臨時功能,而不具備永久保存的功能,因此,不能不說是一種遺憾;
但是,我們也可以將設置好條件的高級篩選,保存成為查詢,操作方法就是:“文件”→“另存為查詢”;這樣,就可以將篩選保存成為查詢對象了。
④兩者對數據庫表的影響
查詢對數據表的原始狀態(tài)沒有任何影響;查詢的結果及保存,不會對數據表里面的數據字段或記錄排序有任何影響。
而高級篩選則會對數據庫表原始數據的排序有所影響;如果在篩選中使用了排序,并且,在關閉篩選的時候,選擇了“是”,那么,篩選出來的數據的排序,將會改變數據庫表原始數據的排序。
四、學習方法
總結一下學習Access的方法,主要有以下幾點:1學習計劃要明確,根據自己的實際出發(fā)。
2從應用出發(fā)。學習的目的就是為了使用,應把學到的每一點應用于實際操作。3要多了解相關信息,多思考,多提問題,多問幾個為什么,要學以致用。4利用老師的指導、同學的幫助。
友情提示:本文中關于《Access201*學習心得體會》給出的范例僅供您參考拓展思維使用,Access201*學習心得體會:該篇文章建議您自主創(chuàng)作。
來源:網絡整理 免責聲明:本文僅限學習分享,如產生版權問題,請聯系我們及時刪除。