access實驗報告(五)
實驗項目五
實驗項目名稱:宏、模塊的創(chuàng)建與操作教師評分:一、實驗?zāi)康暮鸵螅?、熟悉和掌握在宏設(shè)計器中設(shè)計簡單宏。2、熟悉和掌握在宏設(shè)計器中設(shè)計宏組。3、熟悉和掌握在宏設(shè)計器中設(shè)計條件宏。4、熟悉和掌握在宏設(shè)計器中設(shè)計自動運行宏。5、熟悉和掌握VBA的常量、變量、運算符和表達(dá)式。6、熟悉和掌握常用的標(biāo)準(zhǔn)函數(shù)。7、熟悉和掌握VBA的程序結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。8、熟悉和掌握為窗體和控件事件編寫VBA程序代碼的方法。二、實驗任務(wù):1、為“出貨信息”窗體中的“商品編號”和“客戶編號”字段文本框控件分別創(chuàng)建“查看商品名稱”宏和“查看客戶名稱”宏。當(dāng)單擊“商品編號”或“客戶編號”字段文本框控件時,彈出消息框顯示對應(yīng)的“商品名稱”或“客戶名稱”。2、為“退貨信息窗體”中的“查看退貨返款”命令按鈕創(chuàng)建“查看退貨返款”條件宏。當(dāng)單擊“查看退貨返款”命令按鈕時,根據(jù)“商品類別”確定不同商品的退貨返款的比率,在彈出的信息框中顯示“出貨貨款”和“退貨返款”信息。具體規(guī)定如下:“商品類別”為“0001”和“0002”的商品退貨返款的比率為:0.8“商品類別”為“0003”、“0004”、“0006”、“0007”、“0008”、“0009”的商品退貨返款的比率為:0.9“商品類別”為“0005”的商品退貨返款的比率為:0.953、首先在窗體設(shè)計視圖中按照實踐指導(dǎo)書p73頁圖7-13創(chuàng)建“窗體管理”窗體,然后為“窗體管理”窗體中的各命令按鈕創(chuàng)建“窗體管理”宏組。當(dāng)單擊命令按鈕時,打開相應(yīng)的窗體功能。4、創(chuàng)建自動運行宏“autoexec”,使“窗體管理”窗體隨著“進(jìn)銷存管理系統(tǒng)”數(shù)據(jù)庫一起打開。5、創(chuàng)建“進(jìn)貨信息操作窗體”,為“清空記錄”、“查詢記錄”、“添加記錄”、“修改記錄”、“刪除記錄”和“關(guān)閉窗體”等命令按鈕編寫VBA程序代碼。三、實驗原理:1.宏的功能是什么。調(diào)用方法有哪些。(學(xué)生自行總結(jié))2.宏操作命令如下:分類宏操作OpenDataAccessPageOpenFormOpenModule打開OpenQueryOpenReportOpenTable焦點GoToControl功能學(xué)生自行總結(jié)學(xué)生自行總結(jié)學(xué)生自行總結(jié)學(xué)生自行總結(jié)學(xué)生自行總結(jié)學(xué)生自行總結(jié)學(xué)生自行總結(jié)學(xué)生自行總結(jié)GoToPage學(xué)生自行總結(jié)SelectObject學(xué)生自行總結(jié)SendKeys設(shè)置值學(xué)生自行總結(jié)SetValue學(xué)生自行總結(jié)RepaintObject更新學(xué)生自行總結(jié)Requery學(xué)生自行總結(jié)ApplyFilter學(xué)生自行總結(jié)FindRecord學(xué)生自行總結(jié)FindNext學(xué)生自行總結(jié)GoToRecord學(xué)生自行總結(jié)RunApp學(xué)生自行總結(jié)記錄RunCode學(xué)生自行總結(jié)RunCommand學(xué)生自行總結(jié)RunMacro學(xué)生自行總結(jié)RunSQL學(xué)生自行總結(jié)StopAllMacro學(xué)生自行總結(jié)StopMacro學(xué)生自行總結(jié)Maximize學(xué)生自行總結(jié)Minimize窗口學(xué)生自行總結(jié)MoveSize學(xué)生自行總結(jié)Restore學(xué)生自行總結(jié)打印PrintOut學(xué)生自行總結(jié)Beep學(xué)生自行總結(jié)信息MsgBox學(xué)生自行總結(jié)SetWarnings學(xué)生自行總結(jié)復(fù)制CopyObject學(xué)生自行總結(jié)刪除DeleteObect學(xué)生自行總結(jié)重命名rename學(xué)生自行總結(jié)保存save學(xué)生自行總結(jié)close關(guān)閉學(xué)生自行總結(jié)quit學(xué)生自行總結(jié)outputto學(xué)生自行總結(jié)TransferDatabase導(dǎo)入導(dǎo)出TransferSpreadsheet學(xué)生自行總結(jié)學(xué)生自行總結(jié)TransferText3.結(jié)構(gòu)化程序設(shè)計思想是什么。包括哪些程序控制結(jié)構(gòu)。不同的過程如何調(diào)用,參數(shù)如何傳遞。(學(xué)生自行總結(jié))4.面向?qū)ο蟪绦蛟O(shè)計基本思想是什么。核心是什么。(學(xué)生自行總結(jié))5.ADO的對象集合是什么。請寫出VBA利用對象訪問數(shù)據(jù)庫的基本步驟。(學(xué)生自行總結(jié))四、實驗操作步驟(可略)(參考課本上過程)注意:1、宏的實驗需要輸入的表達(dá)式參考實驗指導(dǎo)書的步驟部分,不要僅看圖,圖上的表達(dá)式未完整顯示。2、vba和模塊的實驗代碼中的控件名稱需要自行改動,請不要生搬硬套。五、實驗中遇到的問題(根據(jù)個人具體情況記載,選做)附:部分代碼,需要根據(jù)實際情況調(diào)整,直接照搬有可能運行不了宏實驗:查看商品名稱:="商品編號:"&[商品編號]&""&"商品名稱:"&DLookUp("商品名稱","商品信息表","商品編號=[forms]![出貨信息窗體]![商品編號]")“條件”列第一行:DLookUp("商品類別","商品信息表","商品編號=[forms]![退貨信息窗體]![商品編號]")="0001"OrDLookUp("商品類別","商品信息表","商品編號=[forms]![退貨信息窗體]![商品編號]")="0002"“消息”:="出貨貨款:"&[Forms]![退貨信息窗體]![退貨數(shù)量]*DLookUp("出貨單價","出貨信息表","商品編號=[forms]![退貨信息窗體]![商品編號]")&""&"退貨貨款:"&[Forms]![退貨信息窗體]![退貨數(shù)量]*DLookUp("出貨單價","出貨信息表","商品編號=[forms]![退貨信息窗體]![商品編號]")*.8“條件”列第二行:DLookUp("商品類別","商品信息表","商品編號=[forms]![退貨信息窗體]![商品編號]")="0003"OrDLookUp("商品類別","商品信息表","商品編號=[forms]![退貨信息窗體]![商品編號]")="0004"“消息”:="出貨貨款:"&[Forms]![退貨信息窗體]![退貨數(shù)量]*DLookUp("出貨單價","出貨信息表","商品編號=[forms]![退貨信息窗體]![商品編號]")&""&"退貨貨款:"&[Forms]![退貨信息窗體]![退貨數(shù)量]*DLookUp("出貨單價","出貨信息表","商品編號=[forms]![退貨信息窗體]![商品編號]")*.9VBA和模塊實驗:OptionCompareDatabasePrivateSub查詢記錄_Click()DimcnAsNewADODB.ConnectionDimrsAsNewADODB.RecordsetDimsqlstrAsStringSetcn=CurrentProject.ConnectionIfIsNull(Me.Text16)Then""Text16"為本窗體中"請輸入進(jìn)貨編號"文本框的"名稱"屬性值MsgBox"請輸入進(jìn)貨編號,進(jìn)貨編號不能為空!",vbOKOnly+vbCritical,"提示"Me.Text16.SetFocusExitSubElsesqlstr="select*from進(jìn)貨信息表where進(jìn)貨編號=""&Me.Text16&"""rs.Opensqlstr,cn,adOpenDynamic,adLockOptimistic,adCmdTextIfNotrs.EOFThenMe.進(jìn)貨編號=Trim(rs(0))Me.商品編號=Trim(rs(1))Me.進(jìn)貨單價=Trim(rs(2))Me.進(jìn)貨數(shù)量=Trim(rs(3))Me.供貨單位=Trim(rs(4))Me.進(jìn)貨日期=Trim(rs(5))Me.存放位置=Trim(rs(6))Me.經(jīng)手人=Trim(rs(7))ElseMsgBox"該進(jìn)貨編號不存在,請重新輸入!",vbOKOnly+vbInformation,"提示"Me.Text16=""EndIfEndIfrs.Closecn.CloseSetrs=NothingSetcn=NothingEndSubPrivateSub修改記錄_Click()DimcnAsNewADODB.ConnectionDimrsAsNewADODB.RecordsetDimsqlstrAsStringSetcn=CurrentProject.ConnectionIfIsNull(Me.進(jìn)貨編號)AndIsNull(Me.商品編號)AndIsNull(Me.進(jìn)貨單價)And_IsNull(Me.進(jìn)貨數(shù)量)AndIsNull(Me.供貨單位)And_IsNull(Me.進(jìn)貨日期)AndIsNull(Me.存放位置)AndIsNull(Me.經(jīng)手人)Then""Text16"為本窗體中"請輸入進(jìn)貨編號"文本框的"名稱"屬性值MsgBox"每個字段都不能為空!",vbOKOnly+vbCritical,"提示"Me.進(jìn)貨編號.SetFocusExitSubElsesqlstr="select*from進(jìn)貨信息表where進(jìn)貨編號=""&Me.Text16&"""rs.Opensqlstr,cn,adOpenDynamic,adLockOptimistic,adCmdTextrs(0)=Trim(Me.進(jìn)貨編號)rs(1)=Trim(Me.商品編號)rs(2)=Trim(Me.進(jìn)貨單價)rs(3)=Trim(Me.進(jìn)貨數(shù)量)rs(4)=Trim(Me.供貨單位)rs(5)=Trim(Me.進(jìn)貨日期)rs(6)=Trim(Me.存放位置)rs(7)=Trim(Me.經(jīng)手人)rs.UpdateEndIfrs.Closecn.CloseSetrs=NothingSetcn=NothingEndSubPrivateSub刪除記錄_Click()DimcnAsNewADODB.ConnectionDimrsAsNewADODB.RecordsetDimsqlstrAsStringSetcn=CurrentProject.ConnectionIfIsNull(Me.Text16)Then""Text16"為本窗體中"請輸入進(jìn)貨編號"文本框的"名稱"屬性值MsgBox"請輸入進(jìn)貨編號,進(jìn)貨編號不能為空!",vbOKOnly+vbCritical,"提示"Me.Text16.SetFocusExitSubElsesqlstr="select*from進(jìn)貨信息表where進(jìn)貨編號=""&Me.Text16&"""rs.Opensqlstr,cn,adOpenDynamic,adLockOptimistic,adCmdTextIfNotrs.EOFThenrs.DeleteElseMsgBox"該進(jìn)貨編號不存在,請重新輸入!",vbOKOnly+vbInformation,"提示"Me.Text16=""EndIfEndIfrs.Closecn.CloseSetrs=NothingSetcn=NothingEndSubPrivateSub關(guān)閉窗體_Click()DoCmd.CloseacForm,"實驗8:進(jìn)貨信息操作窗體"EndSubPrivateSub清空記錄_Click()Me.Text16=""Me.進(jìn)貨編號=""Me.商品編號=""Me.進(jìn)貨單價=""Me.進(jìn)貨數(shù)量=""Me.供貨單位=""Me.進(jìn)貨日期=""Me.存放位置=""Me.經(jīng)手人=""EndSubPrivateSub添加記錄_Click()DimcnAsNewADODB.ConnectionDimrsAsNewADODB.RecordsetDimsqlstrAsStringSetcn=CurrentProject.ConnectionIfIsNull(Me.進(jìn)貨編號)Then""Text16"為本窗體中"請輸入進(jìn)貨編號"文本框的"名稱"屬性值MsgBox"請輸入進(jìn)貨編號,進(jìn)貨編號不能為空!",vbOKOnly+vbCritical,"提示"Me.進(jìn)貨編號.SetFocusExitSubElsesqlstr="select*from進(jìn)貨信息表"rs.Opensqlstr,cn,adOpenDynamic,adLockOptimistic,adCmdTextrs.MoveLastrs.AddNewrs(0)=Trim(Me.進(jìn)貨編號)rs(1)=Trim(Me.商品編號)rs(2)=Trim(Me.進(jìn)貨單價)rs(3)=Trim(Me.進(jìn)貨數(shù)量)rs(4)=Trim(Me.供貨單位)rs(5)=Trim(Me.進(jìn)貨日期)rs(6)=Trim(Me.存放位置)rs(7)=Trim(Me.經(jīng)手人)rs.UpdateEndIfrs.Closecn.CloseSetrs=NothingSetcn=NothingEndSub
擴(kuò)展閱讀:實驗報告 ACCESS
《數(shù)據(jù)庫及其應(yīng)用》實驗報告
實驗序號:B0901000-02實驗項目名稱:數(shù)據(jù)庫設(shè)計和創(chuàng)建、表的創(chuàng)建與相關(guān)設(shè)置學(xué)號實驗地點1007010153現(xiàn)教中心姓名指導(dǎo)教師專業(yè)、班時間201*年3-4月一、實驗?zāi)康募耙?.熟悉Access中數(shù)據(jù)庫及表的概念。了解并掌握建立數(shù)據(jù)庫、表和關(guān)系的過程。2.熟悉數(shù)據(jù)庫窗口的界面特點,掌握數(shù)據(jù)庫窗口幾種設(shè)置方法。3.理解并掌握關(guān)系數(shù)據(jù)庫完整性基本概念。掌握完整性的設(shè)置方法。4.掌握字段屬性的概念和一些屬性的用途。并掌握一些字段屬性的設(shè)置方法。5.了解Access數(shù)據(jù)表視圖的一些基本功能。6.了解在數(shù)據(jù)表視圖中進(jìn)行操作時的不同特點。二、實驗設(shè)備(環(huán)境)及要求PC機(jī),WindowsXP,Access201*三、實驗內(nèi)容要求(實驗操作內(nèi)容和步驟可寫在表格后面)(一)數(shù)據(jù)庫與表的設(shè)計與創(chuàng)建1.給定如下數(shù)據(jù)分析,進(jìn)行概念設(shè)計與邏輯設(shè)計。即設(shè)計系統(tǒng)的E-R模型并轉(zhuǎn)換為關(guān)系模型。(數(shù)據(jù)參見附表)。某學(xué)校設(shè)計學(xué)生教學(xué)管理系統(tǒng)。學(xué)生實體包括學(xué)號、姓名、性別、生日、民族、籍貫、簡歷、登記照,每名學(xué)生選擇一個主修專業(yè),專業(yè)包括專業(yè)編號和名稱,一個專業(yè)屬于一個學(xué)院,一個學(xué)院可以有若干個專業(yè)。學(xué)院信息要存儲學(xué)院號、學(xué)院名、院長。教學(xué)管理還要管理課程表和學(xué)生成績。課程表包括課程號、課程名、學(xué)分,每門課程由一個學(xué)院開設(shè)。學(xué)生選修的每門課程獲得一個成績。2.數(shù)據(jù)庫結(jié)構(gòu)設(shè)計指定數(shù)據(jù)庫文件的名稱,并為設(shè)計好的關(guān)系模型設(shè)計表結(jié)構(gòu)。數(shù)據(jù)庫文件保存在“E:\\教學(xué)管理\\”文件夾中。3.定義數(shù)據(jù)庫文件定義存放路徑,和數(shù)據(jù)庫文件。寫出操作步驟?砂ū匾慕貓D。4.定義數(shù)據(jù)庫中各表根據(jù)事先設(shè)計好的結(jié)構(gòu),分別定義各表、字段名、字段屬性。重復(fù)的步驟可簡化。5.定義表之間的關(guān)系當(dāng)所有表都定義好后,定義各表之間的關(guān)系。6.輸入表記錄當(dāng)所有表建立好后,可開始輸入記錄。簡要說明輸入的操作。(二)Access數(shù)據(jù)庫窗口基本操作1.設(shè)置教學(xué)管理數(shù)據(jù)庫窗口中表對象列表窗口的顯示格式為“詳細(xì)信息”寫出操作步驟。2.隱藏和重新顯示教學(xué)管理數(shù)據(jù)庫窗口寫出操作步驟。3.定義一個“學(xué)生與成績”組,將“學(xué)生”、“成績”表放置到該組中寫出創(chuàng)建組的操作和放置對象的操作。(三)創(chuàng)建表時的完整性設(shè)置1.定義主鍵,實現(xiàn)實體完整性的操作每個表都可以定義主鍵。在Access中為教學(xué)管理數(shù)據(jù)庫的各表定義主鍵。當(dāng)一個表沒有合適的字段作為主鍵時,一般會增加一個“id”字段。試在“成績”表中增加一個“成績id”字段,并定義為“自動編號”型,然后定義其為主鍵。2.進(jìn)行設(shè)置參照完整性的操作在定義的有關(guān)系的表上,為關(guān)系設(shè)置參照完整性。3.通過不同方式實現(xiàn)用戶定義的完整性的操作用戶定義的完整性,是指由用戶規(guī)定的對于表中數(shù)據(jù)取值的約束。在Access表定義時,除定義主鍵和關(guān)系外,通過多種方式設(shè)置用戶定義完整性。對教學(xué)管理數(shù)據(jù)庫中必要的用戶定義完整性進(jìn)行設(shè)置和定義。(四)字段屬性定義與應(yīng)用1.字段顯示格式設(shè)置①使“學(xué)生”表中的“民族”字段以黃色顯示。②使“學(xué)生”的生日以中文方式、紅色顯示。③使“成績”表中成績的顯示為3位整數(shù)和一位小數(shù),藍(lán)色。2.字段輸入掩碼設(shè)置在定義“學(xué)生”表時,由于“學(xué)號”是8位文本,且每位都由0~9組成,因此,要在定義“學(xué)號”字段時規(guī)定每一位的輸入都必須是數(shù)字。其他如課程表的“課程號”字段、專業(yè)表的“專業(yè)號”字段等都可以定義類似的輸入掩碼。3.定義字段查閱方法“查閱”控件與字段綁定,可以提示字段的輸入。為“專業(yè)”表的“專業(yè)類別”定義查閱控件綁定。為“專業(yè)”表的“學(xué)院號”字段設(shè)計“查閱”控件。數(shù)據(jù)從“學(xué)院”表中來,顯示“學(xué)院號”和“學(xué)院名”兩列數(shù)據(jù),采用列表框。(五)數(shù)據(jù)表視圖下數(shù)據(jù)記錄的顯示與操作1.輸入操作利用數(shù)據(jù)表視圖進(jìn)行輸入操作,輸入的數(shù)據(jù)應(yīng)該滿足完整性的要求。而如果是有關(guān)系的表中的子表,外鍵輸入時還要與主鍵值對應(yīng)。根據(jù)給定的數(shù)據(jù),為數(shù)據(jù)庫中各表(重點介紹一到兩個表)輸入記錄。2.修改和刪除操作修改“課程”表,將“運籌學(xué)”所在記錄的學(xué)分增加1分,將開設(shè)學(xué)院變?yōu)椤肮ど坦芾韺W(xué)院(05)”。刪除“課程”表中“美術(shù)設(shè)計”課程。3.數(shù)據(jù)表視圖中的設(shè)置數(shù)據(jù)表視圖是瀏覽表中數(shù)據(jù)的界面,可以做不同的設(shè)置,以獲得不同的效果。①數(shù)據(jù)表視圖中父子表的展開。②按照指定的字段排序瀏覽。在“成績”數(shù)據(jù)表視圖中,按照成績的大小排列。③在學(xué)生表中只顯示女生數(shù)據(jù)記錄。四、回答問題1.Access存儲數(shù)據(jù)時,用到幾個數(shù)據(jù)庫文件?擴(kuò)展名是什么?答:用到1個數(shù)據(jù)庫文件,擴(kuò)展名為“.MDB”2.設(shè)計ER模型、關(guān)系模型、數(shù)據(jù)庫及表結(jié)構(gòu),分別屬于數(shù)據(jù)庫設(shè)計中的什么步驟?答:設(shè)計E-R模型屬于概念設(shè)計;設(shè)計關(guān)系模型屬于邏輯設(shè)計;設(shè)計數(shù)據(jù)庫及表結(jié)構(gòu)屬于物理設(shè)計。3.在表結(jié)構(gòu)設(shè)計中,應(yīng)該包含哪些內(nèi)容?答:每個表的名稱,表中每個字段的字段名、類型、寬度,同時指明主鍵、字段約束4.在本實驗設(shè)計中,共使用了哪些數(shù)據(jù)類型?答:共使用了文本型、日期型、備注型、OLE對象、字節(jié)型、單精度型這些數(shù)據(jù)類型;文本型寬度規(guī)定為說要輸入的最大數(shù)據(jù)的寬度,其他類型無需規(guī)定。5.定義表之間的關(guān)系時,“實施參照完整性”的意義是什么?在“編輯關(guān)系”對話框中選中或者撤銷“級聯(lián)更新相關(guān)字段”復(fù)選框,對于數(shù)據(jù)表的操作有何影響?答:選中“實施參照完整性”復(fù)選框后,在子表中添加或更新數(shù)據(jù)時,Access將建樣子表新加入的與主鍵有關(guān)的外鍵值是否滿足參照完整性,如果不滿足,Access將拒絕添加或更新數(shù)據(jù)。選中“級聯(lián)更新相關(guān)字段”后,當(dāng)父表修改主鍵值時,如果子表中的外鍵有對應(yīng)值,外鍵的對應(yīng)值將自動級聯(lián)更新。反之,但當(dāng)父表修改主鍵值而子表中的外鍵有對應(yīng)值,這Access拒絕修改主鍵值。6.建立表的關(guān)系,是否要求發(fā)生關(guān)系的兩個字段必須同名?答:不要求。7.在定義學(xué)生表的“性別”字段時,同時定義了字段的“有效性規(guī)則”,對輸入學(xué)生表的記錄有什么影響?答:定義了“有效性規(guī)則”后,用戶針對該字段的每一個輸入值或修改值都會代入定義表達(dá)式中運算,只有運算結(jié)果為true的值才能夠存入字段;運算結(jié)果如果為false,界面將彈出提示對話框,提示輸入錯誤。8.如何輸入學(xué)生照片?答:再輸入記錄上的“OLE對象”字段上單擊右鍵,在彈出的快捷菜單中選擇“插入對象”菜單命令,彈出對話框,選中“由文件創(chuàng)建”復(fù)選框,輸入學(xué)生照片文件路徑,單擊“確定”按鈕,完成輸入。9.如何理解“收藏夾”,試說明“收藏夾”與組之間的異同。答:“收藏夾”是Access系統(tǒng)自動定義的一個項目,它與組功能相同,是一個特殊的組。“收藏夾”與普通組最大的區(qū)別是“收藏夾”不能被刪除。10.打開數(shù)據(jù)庫文件時,有哪幾種可選擇的方式?一般默認(rèn)方式是什么?如果要將默認(rèn)方式設(shè)置為“獨占”如何實現(xiàn)?答:可選打開方式有“以只讀方式打開”、“以獨占方式打開”、“以獨占只讀方式打開”;一般默認(rèn)打開模式是“共享”;選擇“工具”→“選項”命令,在彈出的對話框中,選擇“高級”選顯卡,在“默認(rèn)打開模式”選項下,選中“獨占”復(fù)選框,點擊“確定”按鈕,完成設(shè)置。11.在“學(xué)生”表的設(shè)計器中,選擇“學(xué)號”字段,然后單擊工具欄“主鍵”按鈕,以便取消主鍵,這時會出現(xiàn)什么情況?為什么?答:出現(xiàn)了不能更改主鍵的提示,因為學(xué)生表是一個或者多個表的主表,刪除主鍵會影響到以編輯好的關(guān)系,必須先刪除關(guān)系,才能刪除主鍵。12.在“編輯關(guān)系”對話框中,只有選中“實施參照完整性”,才可以選擇“級聯(lián)更新關(guān)聯(lián)字段”和“級聯(lián)刪除關(guān)聯(lián)字段”。試解釋這三種復(fù)選項的控制意義。答:1)參照完整性。子表中添加或更新數(shù)據(jù)時,access將檢查子表新加入的與主鍵有關(guān)的外鍵值是否滿足參照完整性,如果外鍵值沒有與之對應(yīng)的主鍵值,access將拒絕添加或者更新數(shù)據(jù)。2)級聯(lián)更新關(guān)聯(lián)字段。當(dāng)父表修改主鍵值時,如果子表中有對應(yīng)值,外鍵的對應(yīng)值將自動級聯(lián)更新。3)級聯(lián)刪除相關(guān)記錄。當(dāng)父表刪除主鍵值的時候,如果子表中的外鍵中有對應(yīng)值,外鍵所在的記錄將子表中的若干級聯(lián)刪除。13.當(dāng)在輸入記錄時,如果發(fā)生主鍵字段重復(fù),會出現(xiàn)什么現(xiàn)象?如果輸入的外鍵值如專業(yè)表的“學(xué)院號”在“學(xué)院”中沒有對應(yīng)的值,會出現(xiàn)什么情況?答:1)顯示將在主鍵中創(chuàng)建重復(fù)值,對表的請求沒有成功。2)顯示14.定義表時,設(shè)置“有效性文本”字段屬性有何作用?有效性文本屬性允許用戶指定提示的文字。15.在定義“文本”型字段格式時,“@”符號與“&”符號作為占位符有何區(qū)別?在定義“數(shù)字”型字段格式時,“#”符號與“0”符號作為占位符有何區(qū)別?1)@用于顯示該位置顯示人亦可用字符或空格。&用于顯示該位置顯示人亦可用字符。如果沒有可用字符,access將忽略該占位符。2)#如果在這個位置沒有數(shù)字輸入,則access忽略該數(shù)字占位符。0如果在這個位置沒有數(shù)字輸入,則access顯示0。16.在本實驗的定義“日期/時間”型字段格式時,一個m或d與兩位的mm或dd在使用時有何區(qū)別?用“\\”符號的作用是什么?若設(shè)計格式為:dddddd[紅色],有何區(qū)別?1)把月份(日期)顯示成一位或者兩位數(shù)字。2)\\將其后跟隨的第一個字符原文照應(yīng)。3)用于顯示長日期格式。17.定義“輸入掩碼”屬性的實質(zhì)意義是什么?在定義“學(xué)號”字段的輸入掩碼時,不使用“0”而使用“9”或“#”有和區(qū)別?如果在“姓名”字段上必須定義10位輸入掩碼,那么應(yīng)該定義什么掩碼字符串?1)意義:定義數(shù)據(jù)的輸入格式,也可以定義輸入的數(shù)據(jù)的某一位上允許輸入的值的集合。2)9如果位置上沒有輸入任何數(shù)字或者空格,access將忽略該占位符。#數(shù)字、空格、+、-都可以輸入到該位置。如果沒有輸入任何數(shù)字,access認(rèn)為輸入的是空格。3)CCCCCCCCCC18.可以采用查閱方法輸入的字段類型有哪些?綁定查閱列表框控件進(jìn)行輸入,如果不點擊其中的值,而是輸入不同的值,是否可以輸入?如果一定要使輸入的值限定在列表框的值的范圍內(nèi),應(yīng)該如何實現(xiàn)?1)文本、是否、數(shù)字2)可以19.若在“課程”表刪除“數(shù)據(jù)庫及應(yīng)用”記錄,會發(fā)生什么現(xiàn)象?什么含義?答:20.在數(shù)據(jù)表瀏覽展開子表時,可以最多展開多少層子表?若要同時展開每條記錄的的子表,應(yīng)該如何操作?1)8層子表2)全選任意點擊一個五、分析討論+(根據(jù)實驗寫出一些心得或分析等)事實上,很多課堂上的理論很抽象,但是,一用到實驗報告上來就會覺得好容易理解。所以,我覺得,學(xué)習(xí)數(shù)據(jù)庫,必須與實驗報告的練習(xí)相互結(jié)合才可以更深層次地理解!六、教師評語1.按時完成實驗;2.實驗內(nèi)容和過程記錄完整;3.回答問題完整、正確;4.有實驗的心得或討論;5.實驗報告的撰寫認(rèn)真、格式符合要求,沒有抄襲行為。成績簽名:日期:201*.3本實驗的操作步驟如下。
1.給定如下數(shù)據(jù)分析,進(jìn)行概念設(shè)計與邏輯設(shè)計。即設(shè)計系統(tǒng)的E-R模型并轉(zhuǎn)換為關(guān)系模型。(數(shù)據(jù)參見附表)。
某學(xué)校設(shè)計學(xué)生教學(xué)管理系統(tǒng)。學(xué)生實體包括學(xué)號、姓名、性別、生日、民族、籍貫、簡歷、登記照,每名學(xué)生選擇一個主修專業(yè),專業(yè)包括專業(yè)編號和,一個專業(yè)屬于一個學(xué)院,一個學(xué)院可以有若干個專業(yè)。學(xué)院信息要存儲學(xué)院號、學(xué)院名、院長。教學(xué)管理還要管理課程表和學(xué)生成績。課程表包括課程號、課程名、學(xué)分,每門課程由一個學(xué)院開設(shè)。學(xué)生選修的每門課程獲得一個成績。
學(xué)號專業(yè)編號名稱姓名專業(yè)性別選修開設(shè)m11生日
學(xué)專業(yè)1民族生學(xué)院號籍貫學(xué)1院長院簡歷登記照、m專業(yè)選修制定m1成績課程學(xué)分課程名課程號
關(guān)系模型:
學(xué)生實體屬性:學(xué)號、姓名、性別、生日、民族、籍貫、簡歷、登記照、專業(yè)學(xué)院實體屬性:學(xué)院號、學(xué)院名、院長課程實體屬性:課程號、課程名、學(xué)分成績實體屬性:課程號、學(xué)號、成績專業(yè)實體屬性:專業(yè)編號、專業(yè)名稱
2.數(shù)據(jù)庫結(jié)構(gòu)設(shè)計
1)在E盤上建立“教學(xué)管理”文件夾。
2)啟動Access,單擊“新建”按鈕圖標(biāo),出現(xiàn)“任務(wù)窗格”。在任務(wù)窗格中單擊,
出現(xiàn)文件新建數(shù)據(jù)庫對話框,在對話框種找到文件夾,然后再文件名下拉列表框中輸入教學(xué)管理,單擊創(chuàng)建按鈕,創(chuàng)建完畢。
3定義數(shù)據(jù)庫中的列表
1)在數(shù)據(jù)庫窗口中選擇表對象欄。在表對象窗口中雙擊計窗口,在設(shè)計器中設(shè)計各表。
選項,彈出表設(shè)
2)定義字段名及其屬性
2)定義字段名,以及屬性(僅以學(xué)號為例)
其他表屬性同理。5.定義表之間的關(guān)系
1)單擊Access菜單欄上的“工具”在下拉列表中選擇關(guān)系。對表中的關(guān)系進(jìn)行定義
2)將兩相聯(lián)系的表的主鍵與另外表的外鍵拖曳,出現(xiàn)關(guān)系編輯窗口,以成績表與課程表的關(guān)系為例如下類推?傻孟乱粋關(guān)系總窗口
6.輸入表記錄
雙擊各表,按照下圖中的數(shù)據(jù)輸入,使編號由降序到升序排序
課程表同理
(二)Access數(shù)據(jù)庫窗口基本操作
1.設(shè)置教學(xué)管理數(shù)據(jù)庫窗口中表對象列表窗口的顯示格式為“詳細(xì)信息”
在Access中打開教學(xué)管理數(shù)據(jù)庫,在對象欄中選擇表,然后單擊命令欄中的詳細(xì)信息按鈕圖標(biāo)。2.隱藏和重新顯示教學(xué)管理數(shù)據(jù)庫窗口
1)選擇菜單欄中的“工具-啟動”按鈕,彈出啟動窗口,取消“顯示數(shù)據(jù)庫窗口”復(fù)選框的選擇
2)想要重新顯示數(shù)據(jù)庫窗口邊,在打開數(shù)據(jù)庫后按F11鍵。然后再啟動對話框中選中顯示數(shù)據(jù)庫窗口復(fù)選框。這樣以后再打開數(shù)據(jù)庫時會重新顯示數(shù)據(jù)庫窗口。
3.定義一個“學(xué)生與成績”組,將“學(xué)生”、“成績”表放置到該組中
在數(shù)據(jù)庫管理數(shù)據(jù)庫窗口中,選擇編輯組新組命令。在新組名稱文本框中輸入組名稱學(xué)生與成績,單擊確定按鈕,則在數(shù)據(jù)庫窗口中創(chuàng)建了一個組,顯示在對象標(biāo)簽欄的收藏夾下面。
將學(xué)生表放入組:選擇表對象,然后選中學(xué)生表單擊右鍵,從彈出的快捷菜單中選擇添加到組學(xué)生與成績命令。
(三)創(chuàng)建表時的完整性設(shè)置
1)定義主鍵,實現(xiàn)實體完整性的操作
每個表都可以定義主鍵。在Access中為教學(xué)管理數(shù)據(jù)庫的各表定義主鍵。
當(dāng)一個表沒有合適的字段作為主鍵時,一般會增加一個“id”字段。試在“成績”表中增加一個“成績id”字段,并定義為“自動編號”型,然后定義其為主鍵。
2)進(jìn)行設(shè)置參照完整性的操作
在定義的有關(guān)系的表上,為關(guān)系設(shè)置參照完整性。
3)通過不同方式實現(xiàn)用戶定義的完整性的操作
用戶定義的完整性,是指由用戶規(guī)定的對于表中數(shù)據(jù)取值的約束。在Access表定義時,除定義主鍵和關(guān)系外,通過多種方式設(shè)置用戶定義完整性。
(四)字段屬性定義與應(yīng)用
1.字段顯示格式設(shè)置
①使“學(xué)生”表中的“民族”字段以黃色顯示。
在學(xué)生表的設(shè)計視圖中選中民族字段,然后設(shè)置格式字段屬性值為:
②使“學(xué)生”的生日以中文方式、紅色顯示。
在學(xué)生表的設(shè)計視圖中選中生日字段,然后設(shè)置格式字段屬性值為:
③使“成績”表中成績的顯示為3位整數(shù)和一位小數(shù),藍(lán)色。在成績表的設(shè)計視圖中選中成績字段,然后設(shè)置格式字段屬性值為:
2.字段輸入掩碼設(shè)置
在定義“學(xué)生”表時,由于“學(xué)號”是8位文本,且每位都由0~9組成,因此,要在定義“學(xué)號”字段時規(guī)定每一位的輸入都必須是數(shù)字。
在學(xué)生表設(shè)計圖中選中學(xué)號字段,定義輸入掩碼字段屬性的值為其他如課程表的“課程號”字段、專業(yè)表的“專業(yè)號”字段等都可以定義類似的輸入掩碼。
3.定義字段查閱方法1)“查閱”控件與字段綁定,可以提示字段的輸入。為“專業(yè)”表的“專業(yè)類別”定義查閱控件綁定。
進(jìn)入專業(yè)表的設(shè)計視圖,選中專業(yè)類別字段,選擇查閱選項卡,在顯示控件文本框中選擇列表框,在行來源類型文本框中選擇值列表,在行來源下拉列表框中輸入“人文;經(jīng)濟(jì)學(xué);法學(xué);管理學(xué);工學(xué);”
2)為“專業(yè)”表的“學(xué)院號”字段設(shè)計“查閱”控件。數(shù)據(jù)從“學(xué)院”表中來,顯示“學(xué)院號”和“學(xué)院名”兩列數(shù)據(jù),采用列表框。
(五)數(shù)據(jù)表視圖下數(shù)據(jù)記錄的顯示與操作
1.輸入操作
利用數(shù)據(jù)表視圖進(jìn)行輸入操作,輸入的數(shù)據(jù)應(yīng)該滿足完整性的要求。而如果是有關(guān)系的表中的子表,外鍵輸入時還要與主鍵值對應(yīng)。
為專業(yè)表增加新的專業(yè)記錄。進(jìn)入專業(yè)表的數(shù)據(jù)表視圖,分別輸入專業(yè)號,專業(yè),從類表中選擇專業(yè)類別,然后輸入學(xué)院號,輸入完畢后關(guān)閉。
2.修改和刪除操作修改“課程”表,將“運籌學(xué)”所在記錄的學(xué)分增加1分,將開設(shè)學(xué)院變?yōu)椤肮ど坦芾韺W(xué)院(05)”。進(jìn)入課程表的數(shù)據(jù)表視圖,完成直接修改數(shù)據(jù)的操作。
刪除“課程”表中“美術(shù)設(shè)計”課程。
在數(shù)據(jù)表視圖中單擊美術(shù)設(shè)計所在記錄左邊的記錄選定器,選中該記錄,單擊右鍵,在彈出的快捷菜單中選擇刪除記錄命令。
3.數(shù)據(jù)表視圖中的設(shè)置
數(shù)據(jù)表視圖是瀏覽表中數(shù)據(jù)的界面,可以做不同的設(shè)置,以獲得不同的效果。①數(shù)據(jù)表視圖中父子表的展開。
進(jìn)入學(xué)院表的數(shù)據(jù)視圖,若需要展開信息學(xué)院記錄的子表,單擊記錄左端的+。由于學(xué)院表的字表有兩個,因此會彈出插入子數(shù)據(jù)表對話框。在其中選中課程表,由于課程表有成績的字表,可以進(jìn)一步單擊有關(guān)課程的子表展開其+,這樣又展開了下一層子表。②按照指定的字段排序瀏覽。
在“成績”數(shù)據(jù)表視圖中,按照成績的大小排列,選中成績字段,然后單擊工具欄中的降序排列按鈕,數(shù)據(jù)即重新排列顯示。
②在學(xué)生表中只顯示女生數(shù)據(jù)記錄。
在學(xué)生表的數(shù)據(jù)表視圖中,選擇記錄篩選按窗體篩選命令,這時數(shù)據(jù)表視圖變成按窗體篩選窗口,選擇性別字段,從列表中選擇女。
友情提示:本文中關(guān)于《access實驗報告(五)》給出的范例僅供您參考拓展思維使用,access實驗報告(五):該篇文章建議您自主創(chuàng)作。
來源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問題,請聯(lián)系我們及時刪除。