VBA數(shù)據(jù)庫訪問技術(shù) 1.要求:顯示“學(xué)生”表第一條記錄的“姓名”字段值 操作步驟: 在 “教學(xué)管理.accdb”數(shù)據(jù)庫中,,新建一個(gè)標(biāo)準(zhǔn)模塊,打開VBE窗口,,輸入以下代碼: Private Sub DemoField() ‘聲明并實(shí)例化Recordset對象和Field對象 Dim rst As ADODB.Recordset Dim fld As ADODB.Field Set rst = New ADODB.Recordset rst.ActiveConnection =CurrentProject.Connection rst.Open 'select * from 學(xué)生' Set fld = rst('姓名') Debug.print fld.value End Sub 保存模塊,,模塊名為“M4”,運(yùn)行過程DemoField,打開立即窗口,,觀察運(yùn)行結(jié)果,。 2.增加記錄 要求:通過如圖6-6所示的窗體向“學(xué)生”表中添加學(xué)生記錄,對應(yīng)“學(xué)號”,、“姓名”,、“性別”和“年齡”的四個(gè)文本框的名稱分別為tNo,、tName、tSex和tAge,。當(dāng)單擊窗體中的“添加”命令按鈕(名稱為Command1)時(shí),,首先判斷學(xué)號是否重復(fù),如果不重復(fù),,則向“學(xué)生”表中添加學(xué)生記錄,;如果學(xué)號重復(fù),則給出提示信息,。 操作步驟:
(2)打開屬性窗口,,將四個(gè)文本框中“標(biāo)題”屬性分別設(shè)置為tNo,、tName、tSex和tAge,;第一個(gè)命令按鈕“名稱”屬性設(shè)置為“CmdAdd”,,“標(biāo)題”屬性設(shè)置為“添加”,第二命令按鈕“名稱”屬性設(shè)置為“CmdExit”,,“標(biāo)題”屬性設(shè)置為“退出”,;將窗體對象的“標(biāo)題”屬性設(shè)置為“添加記錄”,將“導(dǎo)航按鈕”屬性設(shè)置為“否”,,“記錄選擇器”屬性設(shè)置為“否”,。 (3)打開代碼窗口,輸入并補(bǔ)充完整以下代碼: Option Compare Database Dim ADOcn As New ADODB.Connection Private Sub Form_Load() ' 打開窗口時(shí),,連接Access數(shù)據(jù)庫 Set ADOcn =CurrentProject.Connection End Sub Private Sub CmdAdd_Click() ' 增加學(xué)生記錄 Dim strSQL As String Dim ADOrs As New ADODB.Recordset Set ADOrs.ActiveConnection = ADOcn ADOrs.Open 'Select 學(xué)生編號 From 學(xué)生 Where 學(xué)生編號='' tNo ''' Age = Val(tAge) If NotADOrs._______ Then ' 如果該學(xué)號的學(xué)生記錄已經(jīng)存在,,則顯示提示信息 MsgBox '你輸入的學(xué)號已存在,不能增加,!' Else ' 增加新學(xué)生的記錄 strSQL = 'Insert Into 學(xué)生(學(xué)生編號,姓名,性別,年齡) ' ADOcn.Execute ________ MsgBox '添加成功,,請繼續(xù)!' End If ADOrs.Close Set ADOrs =Nothing End Sub Private Sub CmdExit_Click() DoCmd.Close End Sub (4)保存窗體,,窗體名稱為“Form7_5”,,切換至窗體視圖,在相應(yīng)的文本框中輸入新的學(xué)生信息,,包括學(xué)號,、姓名、性別、年齡(學(xué)號在學(xué)生表中不存在,,其它不能空),,單擊“添加”按鈕,打開學(xué)生表,,觀察程序的運(yùn)行結(jié)果,,再輸入一個(gè)已有的學(xué)生信息(學(xué)號在學(xué)生表中已存在),單擊“添加”按鈕,,觀察程序的運(yùn)行結(jié)果。 3.修改記錄 要求:對工資表不同職稱的職工增加工資,,規(guī)定教授職稱增加15%,,副教授職稱增加10%,其他人員增加5%,。編寫程序調(diào)整每位職工的工資,,并顯示所漲工資的總和。 操作步驟: (1)將“工資管理.accdb”數(shù)據(jù)庫中的“工資表 ”導(dǎo)入到 “教學(xué)管理.accdb”數(shù)據(jù)庫中,,在 “教學(xué)管理.accdb” 數(shù)據(jù)庫窗口中選“表”對象,,選擇“文件”→“獲取外部數(shù)據(jù)”→“導(dǎo)入”菜單命令,導(dǎo)入“工資”表,。 (2)引用DAO對象 新建模塊,,打開VBE窗口,選“工具”→“引用”菜單命令,,滾動列表,,直到找到“Microsoft DAO 3.6 Object Library”,勾選,,單擊“確定”按鈕,,返回Access。 (3)新建窗體,在窗體的主體節(jié)區(qū)中添加一個(gè)命令按鈕,,將命令按鈕的“名稱”屬性設(shè)置為“CmdAlter”,,“標(biāo)題”屬性設(shè)為“修改”,單擊“代碼”按鈕,,切換至VBE窗口中,,輸入并補(bǔ)充完整以下代碼: Private Sub CmdAlter_Click() Dim ws asDAO.Workspace Dim db asDAO.Database Dim rs asDAO.Recordset Dim gz asDAO.Field Dim zc asDAO.Field Dim sum asCurrency Dim rate asSingle Set db = CurrentDb() Set rs =db.OpenRecordset('工資表') Set gz =rs.Fields('工資') Set zc =rs.Fields('職稱') sum = 0 Do While Not______ rs.Edit Select Case zc Case Is = '教授' rate = 0.15 Case Is = '副教授' rate = 0.1 Case else rate = 0.05 End Select sum = sum gz * rate gz = gz gz * rate _______________ rs.MoveNext Loop rs.Close db.Close set rs = Nothing set db =Nothing MsgBox '漲工資總計(jì):' & sum End Sub 保存窗體,窗體名稱為“Form7_6”,,切換至窗體視圖,,單擊“修改”按鈕,觀察程序的運(yùn)行結(jié)果,。 |
|