




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 VB程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告 班 級(jí):*姓 名:*序 號(hào):*指導(dǎo)老師:* 目 錄1、課設(shè)的目的22、界面設(shè)計(jì)和功能設(shè)計(jì)23、系統(tǒng)功能實(shí)施114、總結(jié)30一、課設(shè)的目的 1.本次課程設(shè)計(jì)提高了我們的實(shí)踐動(dòng)手能力5.通過(guò)本次課程設(shè)計(jì),熟悉用戶界面的設(shè)計(jì)2.通過(guò)本次課程設(shè)計(jì),進(jìn)一步理解計(jì)算機(jī)程序設(shè)計(jì)的思路與方法3.本次課程設(shè)計(jì)之后,達(dá)到能熟練使用各種常見(jiàn)的VB控件,理解面向?qū)ο蟮乃枷?.經(jīng)過(guò)本次課程設(shè)計(jì),我們進(jìn)一步熟練運(yùn)用VB的語(yǔ)言元素和流程控制語(yǔ)句6.經(jīng)過(guò)本次課程設(shè)計(jì),熟悉數(shù)據(jù)訪問(wèn)控件ADO及相關(guān)對(duì)象的使用,能基于ADO控件實(shí)現(xiàn)Access的數(shù)據(jù)訪問(wèn)與操縱 二、界面設(shè)計(jì)和功能設(shè)計(jì) 1、下面的界面為用
2、戶登陸界面: 用戶名和密碼均已設(shè)定,用戶名為zgzy,密碼為11201,只有輸入正確,然后點(diǎn)擊“登陸“按鈕才能進(jìn)入主界面。如果用戶名或密碼三次輸入錯(cuò)誤,則系統(tǒng)自動(dòng)退出。 當(dāng)你點(diǎn)擊“退出“按鈕時(shí),彈出一個(gè)對(duì)話窗,界面如下:在對(duì)話框上點(diǎn)擊“是”按鈕,則退出系統(tǒng),如果點(diǎn)擊“否”,則該界面不變。2、當(dāng)用戶名和密碼均輸入正確,點(diǎn)擊“登陸”按鈕,進(jìn)入主界面“學(xué)生成績(jī)管理系統(tǒng)”界面,該界面是其他子界面的入口,界面如下:3、進(jìn)入主界面后,點(diǎn)擊“學(xué)生管理(刪除添加)”,進(jìn)入學(xué)生管理界面,界面如下該界面上有一個(gè)ADO控件,用于連接數(shù)據(jù)庫(kù),當(dāng)用戶在六個(gè)文本框中輸入數(shù)據(jù)時(shí),點(diǎn)擊“添加“按鈕,可以將數(shù)據(jù)錄入到數(shù)據(jù)庫(kù)中,
3、如果此時(shí)點(diǎn)擊”刪除“按鈕,則剛才輸入的數(shù)據(jù)就會(huì)被刪除,點(diǎn)擊”保存“按鈕時(shí),輸入的數(shù)據(jù)就會(huì)自動(dòng)保存在數(shù)據(jù)庫(kù)里,點(diǎn)擊”返回主窗體“按鈕,該窗體消失,主窗體出現(xiàn)。4、在主界面點(diǎn)擊“各科成績(jī)查詢“按鈕,出現(xiàn)如下界面:該界面有一個(gè)ADO控件,用來(lái)連接數(shù)據(jù)庫(kù),還有一個(gè)DataGrid控件,用來(lái)顯示學(xué)生成績(jī)的查詢結(jié)果,當(dāng)用戶選擇了要查詢的科目和條件后,點(diǎn)擊“查詢“按鈕,在DataGrid控件上就會(huì)顯示出所查詢的結(jié)果。下面為輸入條件后查詢的結(jié)果5、在主界面點(diǎn)擊“姓名查詢“按鈕后,會(huì)出現(xiàn)如下界面:該界面與上一界面相似,在文本框輸入要查詢的姓名后,點(diǎn)擊“查詢“按鈕,就會(huì)在DataGrid控件上顯示所要查詢的結(jié)果。
4、下面為輸入條件后查詢的結(jié)果5、在主界面點(diǎn)擊“班級(jí)查詢“按鈕后,會(huì)出現(xiàn)如下界面:在文版框中輸入所要查詢的班級(jí),DataGrid控件上就會(huì)顯示所要查詢的結(jié)果。下面為輸入條件后查詢的結(jié)果6、在主界面上點(diǎn)擊“各科成績(jī)段查詢“按鈕后,會(huì)出現(xiàn)如下界面:點(diǎn)擊“計(jì)算分?jǐn)?shù)段統(tǒng)計(jì)“按鈕后,就會(huì)出現(xiàn)所要查詢的結(jié)果。下面為查詢的結(jié)果7、在主界面點(diǎn)擊“計(jì)算總分“按鈕后,出現(xiàn)如下界面:點(diǎn)擊“清除總分”按鈕后,出現(xiàn)如下界面8、在主界面點(diǎn)擊“排名“按鈕后,出現(xiàn)如下界面:在該界面上點(diǎn)擊“排名“按鈕后,在DataGrid控件上會(huì)顯示出按成績(jī)高低排名的結(jié)果,點(diǎn)擊”清除排名“按鈕后,剛才結(jié)果消失,顯示原來(lái)結(jié)果。下面為所現(xiàn)實(shí)的結(jié)果9、
5、在主界面點(diǎn)擊“統(tǒng)計(jì)直方圖“按鈕后,出現(xiàn)如下界面:在該界面點(diǎn)擊各個(gè)按鈕后,就會(huì)出現(xiàn)與之相關(guān)科目的成績(jī)統(tǒng)計(jì)直方圖,下面為查詢的結(jié)果 10、在主界面點(diǎn)擊“優(yōu)等生“按鈕后,出現(xiàn)如下界面:點(diǎn)擊按鈕查詢后,結(jié)果就會(huì)在界面上顯示出來(lái)。下面為所查詢的結(jié)果三、系統(tǒng)功能實(shí)施以上展示的是系統(tǒng)的所有界面,怎樣才能讓這所有的功能實(shí)現(xiàn)呢?數(shù)據(jù)庫(kù)和ADO控件的使用便是其中的關(guān)鍵。 1、建立如下數(shù)據(jù)庫(kù)(學(xué)號(hào)、姓名、班級(jí)、英語(yǔ)、數(shù)學(xué)、VB、總分、排名)2、建立如下圖的所有界面: 3、ADO控件和DataGrid控件以及數(shù)據(jù)庫(kù)的連接步驟:(這一步在設(shè)計(jì)界面的同時(shí)完成)(1)、如何加載ADO控件:步驟1:步驟2:步驟3:各個(gè)界面的
6、ADO控件如何連接數(shù)據(jù)庫(kù)(分兩步):步驟1: 如下面界面中的5個(gè)步驟步驟2:選中ADO控件Adodc1,點(diǎn)擊鼠標(biāo)右鍵選擇屬性,然后界面設(shè)置如下:控件綁定數(shù)據(jù)庫(kù)的字段操作說(shuō)明:屬性設(shè)置說(shuō)明:下面以學(xué)號(hào)為例,姓名、班級(jí)等都可參考此。將學(xué)號(hào)對(duì)應(yīng)的文本框Text1連接Adodc1顯示數(shù)據(jù)庫(kù)中的學(xué)號(hào),需要設(shè)置DataSource和DataField兩個(gè)屬性,首先選中Text1文本框,并進(jìn)行下面的兩步操作,即可綁定數(shù)據(jù)庫(kù)的學(xué)號(hào)字段。設(shè)置DataSource:設(shè)置DataField:(2)、如何加載DataGrid控件控件DataGrid,可以實(shí)現(xiàn)數(shù)據(jù)的批量處理,該控件在控件庫(kù)Microsoft DataG
7、rid Control 6.0中。說(shuō)明:DataGrid控件屬性設(shè)置以下為各個(gè)界面所對(duì)應(yīng)的代碼 該界面代碼如下:Private Sub Command1_Click() If Text1.Text = "zgzy" And Text2.Text = "11201" Then Form1.Show Unload me Else MsgBox "用戶名或密碼錯(cuò)誤,請(qǐng)重新輸入", vbMsgBoxSetForeground, "系統(tǒng)提示!" End If Static t As Integer t = t + 1 If
8、t >= 3 Then EndEnd SubPrivate Sub Command2_Click()a = MsgBox("確定要退出本系統(tǒng)嗎?", 3 + 32 + 256, "系統(tǒng)提示!")If a = 6 ThenUnload MeEnd IfEnd Sub該界面代碼如下: Private Sub Command1_Click() xsglfrm.ShowEnd SubPrivate Sub Command10_Click() ydsfrm.ShowEnd SubPrivate Sub Command3_Click() jszffrm.Sho
9、wEnd SubPrivate Sub Command4_Click() pmfrm.ShowEnd SubPrivate Sub Command5_Click() zftjtfrm.ShowEnd SubPrivate Sub Command6_Click() cjcxfrm.ShowEnd SubPrivate Sub Command7_Click() xmcxfrm.ShowEnd SubPrivate Sub Command8_Click() bjcxfrm.ShowEnd SubPrivate Sub Command9_Click() gkcjfrm.ShowEnd Sub該界面代碼
10、如下:Private Sub Command1_Click() Me.Adodc1.Recordset.AddNewEnd SubPrivate Sub Command2_Click() If Me.Adodc1.Recordset.RecordCount = 0 Or Me.Adodc1.Recordset.EOF Then Exit SubEnd IfMe.Adodc1.Recordset.DeleteMe.Adodc1.Recordset.MoveNextIf Me.Adodc1.Recordset.RecordCount = 0 Then Exit SubEnd IfIf Me.Ado
11、dc1.Recordset.EOF Then Me.Adodc1.Recordset.MoveLastEnd SubPrivate Sub Command4_Click() Me.Adodc1.Recordset.SaveEnd SubPrivate Sub Command5_Click() Unload Me mainfrm.ShowEnd Sub該界面代碼如下:Dim kc_條件 As StringDim kc As StringPrivate Sub Command1_Click()kc_條件 = Me.Text1Me.Adodc1.RecordSource = "select
12、 * from stu where " + kc + " " + kc_條件Me.Adodc1.RefreshEnd SubPrivate Sub Form_Load()kc_條件 = ">=92"kc = "vb"End SubPrivate Sub Option1_Click()kc = "VB"End SubPrivate Sub Option2_Click()kc = "math"End SubPrivate Sub Option3_Click()kc = "E
13、nglish"End Sub該界面代碼如下:Dim kc_條件 As StringDim kc As StringPrivate Sub Command1_Click()kc_條件 = Me.Text1Me.Adodc1.RecordSource = "select * from stu where " + kc + "='" + kc_條件 + "'"Me.Adodc1.RefreshEnd SubPrivate Sub Form_Load()kc = "name"End Sub該界面代
14、碼如下:Dim kc_條件 As StringDim kc As StringPrivate Sub Command1_Click()kc_條件 = Me.Text1Me.Adodc1.RecordSource = "select * from stu where " + kc + "='" + kc_條件 + "'"Me.Adodc1.RefreshEnd SubPrivate Sub Form_Load()kc = "class"End Sub該界面代碼如下:Private Sub Comman
15、d1_Click() Dim vb_A As Integer Dim vb_B As Integer Dim vb_C As Integer Dim vb_D As Integer Dim vb_E As Integer Dim Math_A As Integer Dim Math_B As Integer Dim Math_C As Integer Dim Math_D As Integer Dim Math_E As Integer Dim English_A As Integer Dim English_B As Integer Dim English_C As Integer Dim
16、English_D As Integer Dim English_E As Integer Me.Adodc1.RecordSource = "select * from stu where vb>=90" Me.Adodc1.Refresh vb_A = Me.Adodc1.Recordset.RecordCount Me.Text1 = vb_A Me.Adodc1.RecordSource = "select * from stu where vb>=80 and vb<90" Me.Adodc1.Refresh vb_B = M
17、e.Adodc1.Recordset.RecordCount Me.Text2 = vb_B Me.Adodc1.RecordSource = "select * from stu where vb>=70 and vb<80" Me.Adodc1.Refresh vb_C = Me.Adodc1.Recordset.RecordCount Me.Text3 = vb_C Me.Adodc1.RecordSource = "select * from stu where vb>=60" Me.Adodc1.Refresh vb_D =
18、Me.Adodc1.Recordset.RecordCount Me.Text4 = vb_D Me.Adodc1.RecordSource = "select * from stu where vb<60" Me.Adodc1.Refresh vb_B = Me.Adodc1.Recordset.RecordCount Me.Text5 = vb_E Me.Adodc1.RecordSource = "select * from stu where math>=90" Me.Adodc1.Refresh Math_A = Me.Adodc1
19、.Recordset.RecordCount Me.Text6 = Math_A Me.Adodc1.RecordSource = "select * from stu where math>=80 and math<90" Me.Adodc1.Refresh Math_B = Me.Adodc1.Recordset.RecordCount Me.Text7 = Math_B Me.Adodc1.RecordSource = "select * from stu where math>=70 and math<80" Me.Ado
20、dc1.Refresh Math_C = Me.Adodc1.Recordset.RecordCount Me.Text8 = Math_C Me.Adodc1.RecordSource = "select * from stu where math>=60 " Me.Adodc1.Refresh Math_D = Me.Adodc1.Recordset.RecordCount Me.Text9 = Math_D Me.Adodc1.RecordSource = "select * from stu where math<60" Me.Ado
21、dc1.Refresh Math_E = Me.Adodc1.Recordset.RecordCount Me.Text10 = Math_E Me.Adodc1.RecordSource = "select * from stu where english>=90" Me.Adodc1.Refresh English_A = Me.Adodc1.Recordset.RecordCount Me.Text11 = English_A Me.Adodc1.RecordSource = "select * from stu where english>=8
22、0 and english<90" Me.Adodc1.Refresh English_B = Me.Adodc1.Recordset.RecordCount Me.Text12 = English_B Me.Adodc1.RecordSource = "select * from stu where english>=70 and english<80" Me.Adodc1.Refresh English_C = Me.Adodc1.Recordset.RecordCount Me.Text13 = English_C Me.Adodc1.Re
23、cordSource = "select * from stu where english>=60" Me.Adodc1.Refresh English_D = Me.Adodc1.Recordset.RecordCount Me.Text14 = English_D Me.Adodc1.RecordSource = "select * from stu where english<60" Me.Adodc1.Refresh English_E = Me.Adodc1.Recordset.RecordCount Me.Text15 = Eng
24、lish_EEnd SubPrivate Sub Form_Load() Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" Text5.Text = "" Text6.Text = "" Text7.Text = "" Text8.Text = "" Text10.Text = "" Text11.Text = "" T
25、ext12.Text = "" Text13.Text = "" Text14.Text = "" Text15.Text = ""End Sub 代碼如下Private Sub Command1_Click() '計(jì)算總分Dim vb As IntegerDim math As IntegerDim english As IntegerMe.Adodc1.Recordset.MoveFirstFor i = 1 To Me.Adodc1.Recordset.RecordCount vb = Me.Adod
26、c1.Recordset.Fields("vb").Value math = Me.Adodc1.Recordset.Fields("math").Value english = Me.Adodc1.Recordset.Fields("english").Value Me.Adodc1.Recordset.Fields("total").Value = vb + math + english Me.Adodc1.Recordset.Update Me.Adodc1.Recordset.MoveNextNext iE
27、nd SubPrivate Sub Command2_Click() '清除總分Me.Adodc1.Recordset.MoveFirstFor i = 1 To Me.Adodc1.Recordset.RecordCount Me.Adodc1.Recordset.Fields("total").Value = Null Me.Adodc1.Recordset.Update Me.Adodc1.Recordset.MoveNextNext iEnd Sub該界面代碼如下:Private Sub Command1_Click()Me.Adodc1.RecordSou
28、rce = "select * from stu order by total desc"Me.Adodc1.RefreshMe.Adodc1.Recordset.MoveFirstFor i = 1 To Me.Adodc1.Recordset.RecordCount Me.Adodc1.Recordset.Fields("mc").Value = i Me.Adodc1.Recordset.Update Me.Adodc1.Recordset.MoveNextNext iEnd SubPrivate Sub Command2_Click()Me.Ad
29、odc1.Recordset.MoveFirstFor i = 1 To Me.Adodc1.Recordset.RecordCount Me.Adodc1.Recordset.Fields("mc").Value = Null Me.Adodc1.Recordset.Update Me.Adodc1.Recordset.MoveNextNext iEnd Sub該界面代碼如下:Private Sub Command1_Click() Me.Adodc1.Refresh '填充表格數(shù)據(jù) MSChart1.RowCount = 1 MSChart1.ColumnCou
30、nt = Me.Adodc1.Recordset.RecordCount Me.Adodc1.Recordset.MoveFirst For lngI = 1 To Me.Adodc1.Recordset.RecordCount MSChart1.Column = lngI '用Data屬性向MSChart數(shù)據(jù)網(wǎng)格填充數(shù)據(jù) MSChart1.Data = Val(Adodc1.Recordset.Fields("vb").Value) MSChart1.ColumnLabel = Adodc1.Recordset.Fields("name").V
31、alue Adodc1.Recordset.MoveNext Next lngI MSChart1.RowLabel = "VB成績(jī)直方圖"End SubPrivate Sub Command2_Click() Me.Adodc1.Refresh '填充表格數(shù)據(jù) MSChart1.RowCount = 1 MSChart1.ColumnCount = Me.Adodc1.Recordset.RecordCount Me.Adodc1.Recordset.MoveFirst For lngI = 1 To Me.Adodc1.Recordset.RecordCount MSChart1.Column = lngI '用Data屬性向MSChart數(shù)據(jù)網(wǎng)格填充數(shù)據(jù) MSChart1.Data = Val(Adodc1.Recordset.Fields("math").Value) MSChart1.ColumnLabel = Adodc1.Recordset.Fields("name").Value Adodc1.Recordset.MoveNext Next lngI MSChart
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度知識(shí)產(chǎn)權(quán)贈(zèng)與及許可協(xié)議書范文
- 二零二五年度資料員招聘與知識(shí)產(chǎn)權(quán)保護(hù)與運(yùn)用協(xié)議
- 2025年度電力設(shè)備安裝與檢修服務(wù)合同
- 二零二五年度科研機(jī)構(gòu)實(shí)驗(yàn)室年租房合同
- 二零二五年度廣告公司兼職設(shè)計(jì)師合作協(xié)議
- 2025年度珠寶玉石進(jìn)出口貿(mào)易合同
- 網(wǎng)絡(luò)安全防御策略知識(shí)題庫(kù)
- 探索阿凡提的故事的寓言色彩
- 農(nóng)業(yè)環(huán)境保護(hù)工作要點(diǎn)
- 公司年度運(yùn)營(yíng)計(jì)劃與目標(biāo)分解書
- 2025浙江杭州地鐵運(yùn)營(yíng)分公司校園招聘665人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025四川省小金縣事業(yè)單位招聘362人歷年高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
- 2022泛海三江消防ZX900液晶手動(dòng)控制盤使用手冊(cè)
- 廣西壯族自治區(qū)柳州市2025年中考物理模擬考試卷三套附答案
- 第11課《山地回憶》說(shuō)課稿 2024-2025學(xué)年統(tǒng)編版語(yǔ)文七年級(jí)下冊(cè)
- 羅森運(yùn)營(yíng)部經(jīng)營(yíng)管理手冊(cè)
- 高標(biāo)準(zhǔn)農(nóng)田施工組織設(shè)計(jì)
- 老舊小區(qū)改造項(xiàng)目施工組織設(shè)計(jì)方案
- 【招商手冊(cè)】杭州ICON CENTER 社交娛樂(lè)中心年輕人潮流消費(fèi)創(chuàng)新實(shí)驗(yàn)
- 2025屆高考數(shù)學(xué)二輪復(fù)習(xí)備考策略和方向
- 2025年國(guó)家稅務(wù)總局遼寧省稅務(wù)局系統(tǒng)招聘事業(yè)單位工作人員管理單位筆試遴選500模擬題附帶答案詳解
評(píng)論
0/150
提交評(píng)論