版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、PAGE 第PAGE 63頁/共47頁北*學(xué)課程設(shè)計(jì)報(bào)告課程名稱: VB程序設(shè)計(jì)課設(shè) 項(xiàng)目名稱: 學(xué)籍管理系統(tǒng) 學(xué) 院: 管理學(xué)院 專 業(yè): 信息管理與信息系統(tǒng) 姓 名: 學(xué) 號(hào): 指導(dǎo)教師: 成 績(jī): 2010年6月 22 日目 錄 TOC o 1-2 h z HYPERLINK l _Toc296542260 第1部分 實(shí)訓(xùn)題目與要求 PAGEREF _Toc296542260 h 1 HYPERLINK l _Toc296542261 1問題提出 PAGEREF _Toc296542261 h 1 HYPERLINK l _Toc296542262 2功能要求 PAGEREF _Toc2
2、96542262 h 1 HYPERLINK l _Toc296542263 第2部分 設(shè)計(jì)實(shí)訓(xùn)題目功能 PAGEREF _Toc296542263 h 8 HYPERLINK l _Toc296542264 1算法設(shè)計(jì) PAGEREF _Toc296542264 h 8 HYPERLINK l _Toc296542265 2流程圖設(shè)計(jì) PAGEREF _Toc296542265 h 11 HYPERLINK l _Toc296542266 3數(shù)據(jù)結(jié)構(gòu) PAGEREF _Toc296542266 h 15 HYPERLINK l _Toc296542267 4程序代碼設(shè)計(jì) PAGEREF _T
3、oc296542267 h 15 HYPERLINK l _Toc296542268 5測(cè)試與調(diào)試 PAGEREF _Toc296542268 h 18 HYPERLINK l _Toc296542269 第3部分 實(shí)訓(xùn)總結(jié) PAGEREF _Toc296542269 h 19 HYPERLINK l _Toc296542270 1個(gè)人總結(jié) PAGEREF _Toc296542270 h 19 HYPERLINK l _Toc296542271 2結(jié)束語 PAGEREF _Toc296542271 h 20 HYPERLINK l _Toc296542272 附錄 程序清單 PAGEREF _
4、Toc296542272 h 21 HYPERLINK l _Toc296542273 附錄 用戶使用說明書 PAGEREF _Toc296542273 h 46 HYPERLINK l _Toc296542274 參考文獻(xiàn) PAGEREF _Toc296542274 h 47第1部分 實(shí)訓(xùn)題目與要求問題提出“學(xué)籍管理系統(tǒng)”一款主要是對(duì)學(xué)生的基本信息、課程信息以及成績(jī)信息等進(jìn)行管理的系統(tǒng)軟件。該系統(tǒng)軟件能夠?qū)崿F(xiàn)對(duì)學(xué)生基本信息的添加、修改、刪除和查詢等,能對(duì)課程信息進(jìn)行添加、修改、刪除和查詢等功能,同時(shí)能對(duì)學(xué)生的課程成績(jī)進(jìn)行添加、修改、刪除和查詢的功能。另外,系統(tǒng)還提供了對(duì)學(xué)生課程成績(jī)的排名和統(tǒng)
5、計(jì)等功能。圖:系統(tǒng)結(jié)構(gòu)圖功能要求“學(xué)籍管理系統(tǒng)”主要是對(duì)學(xué)生的基本信息、課程信息以及成績(jī)信息等進(jìn)行管理。工程包括“加載展示窗體”、“登錄窗體”、“系統(tǒng)主窗體”、“學(xué)生信息編輯窗體”、“課程信息編輯窗體”、“成績(jī)編輯窗體”、“學(xué)生信息查詢窗體”、“成績(jī)查詢窗體”、“成績(jī)排名窗體”、“更改密碼窗體”和“關(guān)于窗體”。各窗體功能如下:(1)加載展示窗體創(chuàng)新功能程序啟動(dòng)時(shí),首先出現(xiàn)的是程序加載展示窗體,顯示本實(shí)訓(xùn)的實(shí)訓(xùn)題目、小組成員姓名、完成時(shí)間、指導(dǎo)老師等信息。同時(shí)進(jìn)度條加載,待加載至滿后,進(jìn)入登錄窗體。圖:加載展示窗體(2)登錄窗體提高功能該窗體在系統(tǒng)展示窗體加載完之后顯示,用于驗(yàn)證用戶信息和權(quán)限,
6、用戶需要選擇用戶是普通用戶或管理員,并輸入賬號(hào)和密碼進(jìn)入系統(tǒng)。如果用戶賬號(hào)或密碼輸入出錯(cuò)達(dá)到3次,為保護(hù)系統(tǒng)賬號(hào)等信息的安全,系統(tǒng)會(huì)自動(dòng)退出。圖:登錄窗體(3)系統(tǒng)主窗體創(chuàng)新功能用戶輸入正常的賬號(hào)密碼后,便進(jìn)入了系統(tǒng)主窗體,用戶可以系統(tǒng)主窗體 中選擇要進(jìn)行操作的功能,并進(jìn)入相應(yīng)的窗體。圖:系統(tǒng)主窗體(4)學(xué)生信息編輯窗體用戶在此窗體中可以對(duì)學(xué)生的基本信息進(jìn)行相應(yīng)的操作,如添加、搜索、修改和刪除學(xué)生的基本信息。圖:學(xué)生信息編輯窗體(5)課程信息編輯窗體用戶在此窗體中可以對(duì)課程的信息對(duì)行相應(yīng)的操作,如添加、搜索、修改和刪除課程的信息。圖:課程信息編輯窗體(6)成績(jī)編輯窗體用戶在此窗體 中可以對(duì)學(xué)生
7、的每一個(gè)課程成績(jī)進(jìn)行添加、修改和刪除等功能操作。圖:成績(jī)編輯窗體(7)學(xué)生信息查詢窗體用戶在此窗體中可以通過查詢條件查詢學(xué)生的基本信息。圖:學(xué)生信息查詢窗體(8)成績(jī)查詢窗體用戶在此窗體中可以通過查詢條件查詢學(xué)生的課程成績(jī)。圖:成績(jī)查詢窗體(9)成績(jī)排名窗體創(chuàng)新功能用戶在此窗體中可以通過選擇條件查看院系、專業(yè)、班級(jí)、課程等學(xué)生的成績(jī)排名。圖:成績(jī)排名窗體(10)更改密碼窗體提高功能用戶可以在此窗體中修改該用戶的密碼。圖:更改密碼窗體(11)關(guān)于窗體創(chuàng)新功能用戶在此窗體中可以查看系統(tǒng)程序作者的相關(guān)信息。圖:關(guān)于窗體本系統(tǒng)軟件由北京聯(lián)合大學(xué)管理學(xué)院0911030201班A和B共同完成。其中B負(fù)責(zé)學(xué)
8、生信息編輯窗體(Frm_Edit_xs窗體)和課程信息編輯窗體(Frm_Edit_kc窗體),其余部分由A完成。第2部分 設(shè)計(jì)實(shí)訓(xùn)題目功能算法設(shè)計(jì)(1)基礎(chǔ)功能Frm_Edit_Xs窗體中添加過程(Command1_Click)的添加及保存算法第一步:判斷Command1控件此時(shí)caption屬性值是“添加”還是“保存”。If Command1.Caption = 添加 Then添加算法,執(zhí)行第二步;Else保存算法,執(zhí)行第四步;End If第二步:判斷Adodc_xs中是否有記錄,沒有就直接添加記錄,跳到第三步;否則判斷輸入的學(xué)號(hào)是否為空,不為空時(shí),在Adodc_xs記錄中查找條件為“學(xué)號(hào)=
9、s”的記錄。并置于循環(huán)過程中,直至輸入學(xué)號(hào)與Adodc_xs記錄中學(xué)號(hào)不重復(fù)。If Adodc_xs.Recordset.RecordCount 0 ThenDos = InputBox(請(qǐng)輸入學(xué)號(hào), 輸入)If s = Then Exit SubAdodc_xs.Recordset.MoveFirstAdodc_xs.Recordset.Find 學(xué)號(hào)= & s & If Adodc_xs.Recordset.EOF = False ThenMsgBox 學(xué)號(hào)重復(fù),請(qǐng)重新輸入End IfLoop While Adodc_xs.Recordset.EOF = FalseEnd If執(zhí)行第三步。
10、第三步:將Adodc_xs指針移到新的空記錄上,并置Command1控件Caption屬性值為“保存”,Text1(0).Text = s,同時(shí)置Command2,Command3,.,Command6的Enabled屬性為False?!咎砑印窟^程結(jié)束!Command1.Caption = 保存Command2.Enabled = FalseCommand3.Enabled = FalseCommand4.Enabled = FalseCommand5.Enabled = FalseCommand6.Enabled = FalseAdodc_xs.Recordset.AddNewText1(0
11、).Text = s因?yàn)門ext1(i)控件已經(jīng)與Adodc_xs綁定,此時(shí)可以直接在Text1(i)控件中直接輸入數(shù)據(jù),添加記錄。第四步:此時(shí)Text1(i)控件已經(jīng)輸入了數(shù)據(jù)。置Command1的Caption值為“添加”,同時(shí)更新保存Adodc_xs。同時(shí)置Command2,Command3,.,Command6的Enabled屬性為True,并彈出消息框,提示“保存成功”。Command1.Caption = 添加Command2.Enabled = TrueCommand3.Enabled = TrueCommand4.Enabled = TrueCommand5.Enabled =
12、 TrueCommand6.Enabled = TrueAdodc_xs.Recordset.UpdateMsgBox 保存成功, , 保存(2)提高功能Frm_Login窗體中登錄過程(cmddl_Click)的驗(yàn)證密碼算法第一步:在Adodc_user中查找條件為“賬號(hào)=Text1.Text”的記錄,并將該記錄中的賬號(hào)字段、管理員字段值賦給username和glqx。如果沒找到,彈出消息框提示,同時(shí)退出過程。Adodc_user.Recordset.MoveFirstAdodc_user.Recordset.Find 賬號(hào)= & Text1.Text & If Adodc_user.Rec
13、ordset.EOF = True ThenMsgBox 用戶賬號(hào)錯(cuò)誤,請(qǐng)重新輸入!, vbCritical, 錯(cuò)誤Exit SubEnd Ifusername = Adodc_user.Recordset!賬號(hào)glqx = Adodc_user.Recordset!管理員第二步:判斷該賬號(hào)在Adodc_user中相對(duì)應(yīng)的管理員類型與用戶登錄時(shí)所選的賬號(hào)類型是否一致。不一致時(shí),跳到Cuowu。If glqx = True ThenIf Option2.Value = False ThenGoTo CuowuExit Sub End IfElseIf Option1.Value = False
14、ThenGoTo CuowuExit SubEnd IfEnd If第三步:判斷該賬號(hào)的密碼與Adodc_user中對(duì)應(yīng)的密碼字段是否一致,一致時(shí),關(guān)閉本窗體同時(shí)顯示系統(tǒng)主窗體。否則,跳Cuowu。If .Recordset!密碼 Text2.Text ThenGoTo CuowuExit SubEnd IfFrm_Main.ShowUnload Me(3)創(chuàng)新功能Frm_ChengjiPaiming窗體中Command1_Click的排序算法第一步:找出i個(gè)數(shù)據(jù)(stu(1).avestu(i).ave)的最大值,并與第一個(gè)數(shù)據(jù)交換。第二步:在剩下的i-1個(gè)數(shù)據(jù)(stu(2).avestu(
15、i).ave)在找到最大值,并與第二個(gè)數(shù)據(jù)交換。第n步:在剩下的i-n+1個(gè)數(shù)據(jù)(stu(n).avestu(i).ave)在找到最大值,并與第n個(gè)數(shù)據(jù)交換。第i-1步:在剩下的兩個(gè)數(shù)據(jù)(stu(i-1).ave)和(stu(i).ave)中找出最大值,并與第i-1個(gè)數(shù)據(jù)(stu(i-1).ave)交換。此時(shí),剩下的第i個(gè)數(shù)據(jù)一定是最小值,排序結(jié)束。整個(gè)過程可以概括如下:For n=1 To i-1找出stu(n).ave到stu(i).ave中的最大值將最大值與第n個(gè)數(shù)據(jù)stu(n).ave交換Next n詳細(xì)代碼如下:For n = 1 To ik = nFor j = n + 1 To
16、iIf stu(j).ave stu(k).ave Thenk = jEnd IfNext jIf k n Thentemp = stu(n)stu(n) = stu(k)stu(k) = tempEnd IfNext n流程圖設(shè)計(jì)(1)Frm_Login窗體中的登錄事件的流程圖:(2)Frm_Caxun_Cj窗體中的查詢事件的流程圖:(3)Frm_Caxun_Xs窗體中的查詢事件的流程圖:(4)Frm_ChengjiPaiming窗體中的確定事件的流程圖:數(shù)據(jù)結(jié)構(gòu)Type xuesheng 自定義學(xué)生總分成績(jī)數(shù)據(jù)結(jié)構(gòu)體 num As String 學(xué)號(hào) name As String 姓名 s
17、um As Integer 總分 ave As Double 平均分 xjqk As String 學(xué)籍情況 End TypeType xuesheng2 自定義學(xué)生課程成績(jī)數(shù)據(jù)結(jié)構(gòu)體 num As String 學(xué)號(hào) name As String 姓名 kcmq As String 課程名稱 kcfs As interger 課程分?jǐn)?shù) xjqk As String 及格情況 End TypeDim i as Integer 定義i為動(dòng)態(tài)、窗體級(jí)、數(shù)值型的簡(jiǎn)單變量Dim n as Integer 定義n為動(dòng)態(tài)、窗體級(jí)、數(shù)值型的簡(jiǎn)單變量Dim s as String 定義s為動(dòng)態(tài)、過程級(jí)、字符型
18、的簡(jiǎn)單變量Public username As String 定義username為動(dòng)態(tài)、程序級(jí)、字符型的簡(jiǎn)單變量Public glqx As Boolean 定義glqx為動(dòng)態(tài)、程序級(jí)、布爾型的簡(jiǎn)單變量Dim stu(1 To 1000) As xuesheng 定義stu為動(dòng)態(tài)、過程級(jí)、xuesheng型的數(shù)組變量Dim stu2(1 To 1000) As xuesheng2 定義stu2為動(dòng)態(tài)、過程級(jí)、xuesheng2型的數(shù)組變量程序代碼設(shè)計(jì)(1)基礎(chǔ)功能Frm_Edit_Kc窗體中的Command1_Click過程先判斷Command1控件此時(shí)caption屬性值是“添加”還是“保
19、存”。如果是則判斷Adodc_xs中是否有記錄,沒有就直接添加記錄;否則判斷輸入的學(xué)號(hào)是否為空,不為空時(shí),在Adodc_xs記錄中查找條件為“學(xué)號(hào)=s”的記錄。并置于循環(huán)過程中,直至輸入學(xué)號(hào)與Adodc_xs記錄中學(xué)號(hào)不重復(fù)。將Adodc_xs指針移到新的空記錄上,并置Command1控件Caption屬性值為“保存”。置Command1的Caption值為“添加”,同時(shí)更新保存Adodc_xs。具體代碼如下Dim s As StringIf Command1.Caption = 添加 Then With Adodc_kc If .Recordset.RecordCount 0 Then Do
20、 s = InputBox(請(qǐng)輸入課程號(hào), 輸入) If s = Then Exit Sub .Recordset.MoveFirst .Recordset.Find 課程號(hào)= & s & If .Recordset.EOF = False Then MsgBox 課程號(hào)重復(fù),請(qǐng)重新輸入 End If Loop While .Recordset.EOF = False End If Command1.Caption = 保存 Command2.Enabled = False Command3.Enabled = False Command4.Enabled = False Command5.E
21、nabled = False Command6.Enabled = False .Recordset.AddNew Text1.Text = s End With Else Command1.Caption = 添加 Command2.Enabled = True Command3.Enabled = True Command4.Enabled = True Command5.Enabled = True Command6.Enabled = True Adodc_kc.Recordset.Update MsgBox 保存成功, , 保存 End If(2)提高功能Frm_User窗體中的Co
22、mmand1_Click過程先找到該賬號(hào)在數(shù)據(jù)庫(kù)中的位置,并判斷Text1.Text與數(shù)據(jù)庫(kù)中的密碼是否一致,然后再判斷新的密碼與確認(rèn)密碼是否一致。都一致,剛修改成功。With Adodc1 .Recordset.MoveFirst .Recordset.Find 賬號(hào)= & username & If .Recordset!密碼 Text1.Text Then MsgBox 原密碼錯(cuò)誤!, vbCritical, 錯(cuò)誤 Exit Sub End If If Text2.Text Text3.Text Then MsgBox 新的密碼與確認(rèn)密碼不致,請(qǐng)重新輸入!, vbCritical, 錯(cuò)誤
23、 Exit Sub End If .Recordset!密碼 = Text2.Text .Recordset.Update End With MsgBox 密碼修改成功!, vbInformation, 成功 Unload Me(3)創(chuàng)新功能Frm_ChengjiPaiming窗體中的Command1_Click過程定義stu(1 To 1000)為xuesheng類型數(shù)組數(shù)據(jù),用于儲(chǔ)存所查找到的學(xué)生的信息及成績(jī)。首先在學(xué)生數(shù)據(jù)表中一個(gè)一個(gè)的向stu(1 To 1000)寫入學(xué)生的信息,同時(shí),再向成績(jī)表中查詢?cè)搶W(xué)生的所有課程的總分及平均分,并寫入stu(1 To 1000)。然后,再利用排序算
24、法對(duì)stu(1 To 1000)進(jìn)行排序,然后輸入到List1。Dim stu(1 To 1000) As xuesheng, temp As xueshengWith Adodc1 .Refresh .Recordset.MoveFirst i = 1 Do stu(i).num = .Recordset!學(xué)號(hào) stu(i).name = .Recordset!姓名 With Adodc2 .Refresh .Recordset.Filter = (學(xué)號(hào)= & stu(i).num & ) k = 0 .Recordset.MoveFirst Do stu(i).sum = stu(i).s
25、um + .Recordset!成績(jī) .Recordset.MoveNext k = k + 1 Loop While .Recordset.EOF = False stu(i).ave = stu(i).sum / k If stu(i).ave = 60 Then stu(i).xjqk = 正常 Else stu(i).xjqk = 留級(jí) End If End With i = i + 1 .Recordset.MoveNext Loop While .Recordset.EOF = False End With完整程序請(qǐng)見附錄。測(cè)試與調(diào)試Frm_Edit_xs窗體中添加新學(xué)生信息的測(cè)試
26、與調(diào)試。表1:數(shù)據(jù)測(cè)試測(cè)試數(shù)據(jù)類型測(cè)試數(shù)據(jù)預(yù)期結(jié)果實(shí)測(cè)結(jié)果合法數(shù)據(jù)200911030213420091103021342009110302134091103020109110302010911030201AAA非法數(shù)據(jù)學(xué)號(hào)201120105201120105學(xué)號(hào)重復(fù),請(qǐng)重新輸入出生日期1231212112312121實(shí)時(shí)錯(cuò)誤-2147217887第3部分 實(shí)訓(xùn)總結(jié)個(gè)人總結(jié)(1)A總結(jié)忙碌了一個(gè)多星期,我們總算將程序設(shè)計(jì)出來,同時(shí)還將報(bào)告寫完了,這真是一個(gè)堅(jiān)苦而又漫長(zhǎng)的過程啊,在我們學(xué)了半年了VB語言之后編寫這么大的程序啊,看著我們自己做的程序,自己的勞動(dòng)成果,覺得特別有成就感和自豪感。我很榮幸
27、成為我們組的組長(zhǎng),因?yàn)槲覀兘M組員的水平參差不齊,所以做為組長(zhǎng),我需要根據(jù)組員的具體情況合理地為他們分配任務(wù),由于B同學(xué)在此方面比較弱,所以我給他們分配比較簡(jiǎn)單的任務(wù),而自己則負(fù)責(zé)比較復(fù)雜的任務(wù)。通過此次VB語言程序設(shè)計(jì)實(shí)踐,我覺得受益非淺,學(xué)到了很多東西,也得到了很大的煅燒。剛開始的時(shí)候,最主要的就是構(gòu)思,所以一開始的時(shí)候,進(jìn)展并不是很順利,結(jié)果,一個(gè)上午時(shí)間內(nèi),沒做多少東西。在整個(gè)程序的構(gòu)思和數(shù)據(jù)庫(kù)基本完成之后,終于慢慢的,就有了一些眉目了,后來慢慢的也就把整個(gè)程序都做出來的,我們組興奮不已。雖然整個(gè)程序都做出來了,但是我們發(fā)現(xiàn)了很多的問題,我們慢慢的細(xì)心的仔細(xì)尋找問題出錯(cuò)的原因,最后,在我
28、們的努力下,將錯(cuò)誤都解決了。為了找出問題的所在,也為了能讓程序更完美,我查閱了很多的資料,每一次程序成功的運(yùn)行,都讓我們感到由衷的歡喜。也曾經(jīng)因?yàn)樽隽税胩斓臇|西,結(jié)果VB死機(jī),而要重新做。通過這次實(shí)訓(xùn),我學(xué)到了很多東西,也讓我對(duì)VB語言程序有了一個(gè)更深層次的了解和認(rèn)識(shí),它不僅讓我對(duì)過去一學(xué)期所學(xué)的知識(shí)得到了鞏固,也讓我認(rèn)識(shí)到自己的不足,它讓我知道了分工合作的快樂和意義,讓我們的知識(shí)有了更一步的拓展,這次的實(shí)訓(xùn)就像是人生中的一次磨煉,讓我成熟了很多。在今后,我還會(huì)再努力。路漫漫其修遠(yuǎn)兮,吾將上下而求索。(2)B總結(jié)通過本次實(shí)訓(xùn)對(duì)VB學(xué)科的學(xué)習(xí),我掌握了許多有關(guān)VB學(xué)科的知識(shí)。在本次實(shí)訓(xùn)中,我的V
29、B學(xué)科知識(shí)更加豐富了,比如,對(duì)代碼和窗體的調(diào)用有了更深一部的了解,但是還是發(fā)現(xiàn)有些知識(shí)點(diǎn)掌握不是很牢,所以我會(huì)努力學(xué)習(xí),掌握所學(xué)知識(shí)。在這次實(shí)訓(xùn)中還鍛煉了我其他方面的能力,提高了我的綜合素質(zhì)。首先,它鍛煉了我做項(xiàng)目的能力,提高了自己獨(dú)立思考問題、自己動(dòng)手操作的能力,在編寫調(diào)試運(yùn)行程序的過程中,我掌握了很多應(yīng)用知識(shí)的技巧。其次,實(shí)訓(xùn)中的項(xiàng)目作業(yè)也使我更加有團(tuán)隊(duì)精神,我們小組每個(gè)人都有自己分配到的任務(wù),但我們又是一個(gè)聯(lián)系在一起的整體,需要大家共同的合作,在以后的工作學(xué)習(xí)中我會(huì)更加努力培養(yǎng)自己的團(tuán)隊(duì)精神。在實(shí)訓(xùn)中,我發(fā)現(xiàn)其實(shí)錯(cuò)誤并不可怕,而且他是通往成功的必經(jīng)之路,我在剛開始編寫程序時(shí),剛編完一小部
30、分,試著運(yùn)行試試竟然漏洞百出,當(dāng)時(shí)我就不值所措了,還好我組同學(xué)積極幫助我,給我講解,幫我改正錯(cuò)誤。就這樣,我在同組同學(xué)的幫助下順利完成了我的編程工作,所以我意識(shí)到團(tuán)隊(duì)的合作也是非常重要的,我們有了堅(jiān)定的團(tuán)隊(duì)理念,我們有著同樣的勇氣,因此我們也選擇了更大的挑戰(zhàn)。只有團(tuán)隊(duì)的合作好了,小組的水平才能得到最大的發(fā)揮,讓每一個(gè)人的到最大的提高。工欲善其事必先利其器。在項(xiàng)目開發(fā)中,我們團(tuán)隊(duì)也出現(xiàn)了一些意見不和,但是我們的團(tuán)隊(duì)的理念告訴我們:集思廣益,海納百川。正是由于我們對(duì)問題有著不同的想法,這樣才能真正的集思廣益,通過大家的不斷溝通,很多問題我們都解決了,這是對(duì)我們自己的鼓舞,也是對(duì)我們溝通能力和理解能
31、力的提升。山高人為峰,我們真正了解到了這句話的含義。困難像彈簧,你強(qiáng)它就弱。你弱它就強(qiáng)。當(dāng)我們不畏困難時(shí),勇于挑戰(zhàn)困難,挑戰(zhàn)自己時(shí),我們才發(fā)現(xiàn)我們又成長(zhǎng)了。我認(rèn)為學(xué)校組織實(shí)訓(xùn)的目的有兩個(gè),第一是讓我們更好的掌握所學(xué)的知識(shí),因?yàn)橹髮?shí)踐才能更好的讓我們把所學(xué)的東西記住,之后達(dá)到掌握。第二是增強(qiáng)團(tuán)隊(duì)意識(shí),學(xué)會(huì)與人合作,團(tuán)隊(duì)合作是一件非常重要的事情,一個(gè)團(tuán)隊(duì)的人要學(xué)會(huì)如何發(fā)揮每一個(gè)隊(duì)員的長(zhǎng)處,每一個(gè)人的力量是微薄的,但是一個(gè)團(tuán)隊(duì)的人的力量合起來就很大,不論是現(xiàn)在的學(xué)習(xí)還是今后走向社會(huì),團(tuán)隊(duì)合作意識(shí)是不可缺少的,個(gè)人之后完美的融入團(tuán)隊(duì)才能發(fā)揮出個(gè)人的最大力量??梢哉f這次實(shí)訓(xùn)不僅使我學(xué)到了知識(shí),也幫助我
32、縮小了實(shí)踐和理論的差距,這次實(shí)訓(xùn)將會(huì)有利于我更好的適應(yīng)以后的工作。我會(huì)把握和珍惜實(shí)訓(xùn)的機(jī)會(huì),在未來的工作中我會(huì)把學(xué)到的理論知識(shí)和實(shí)踐經(jīng)驗(yàn)不斷的應(yīng)用到實(shí)際工作中,為實(shí)現(xiàn)理想而努力。以上就是我在這次實(shí)訓(xùn)中學(xué)到的東西,今后我還會(huì)繼續(xù)努力學(xué)習(xí)。結(jié)束語在兩個(gè)星期的學(xué)習(xí)過程中,我們學(xué)習(xí)到了很多,在我們?cè)O(shè)計(jì)程序的時(shí)候,我們的輔導(dǎo)老師張利霞老師給了我們很大的幫助和支持;同時(shí),在此也向我們的學(xué)校北京聯(lián)合大學(xué)表示感謝,感謝學(xué)校為我們提供一個(gè)可以煅燒的機(jī)會(huì)的平臺(tái)。在此特向他們表示真摯的感謝。附錄 程序清單(1)Module_XJGL模塊代碼Type xuesheng 自定義學(xué)生部分成績(jī)數(shù)據(jù)結(jié)構(gòu)體 num As St
33、ring 學(xué)號(hào) name As String 姓名 sum As Integer 總分 ave As Double 平均分 xjqk As String 學(xué)籍情況End TypeType xuesheng2 自定義學(xué)生課程成績(jī)數(shù)據(jù)結(jié)構(gòu)體 num As String 學(xué)號(hào) name As String 姓名 kcmq As String 課程名稱 kcfs As Integer 課程分?jǐn)?shù) jgqk As String 及格情況End TypePublic username As String 用戶名Public glqx As Boolean 判斷用戶是否是管理員Sub main() Frm_S
34、tart.ShowEnd Sub(2)Frm_Start窗體代碼Private Sub Form_Load() 初始化進(jìn)度條 ProgressBar1.Min = 0 ProgressBar1.Max = 1000 ProgressBar1.Value = 0End SubPrivate Sub Timer1_Timer() 計(jì)時(shí)器 ProgressBar1.Value = ProgressBar1.Value + 100 If ProgressBar1.Value = 1000 Then Unload Me Frm_Login.Show End IfEnd Sub(3)Frm_Login窗體
35、代碼Dim n As IntegerPrivate Sub cmddl_Click() 【登錄事件】 If Text1.Text = Then MsgBox 請(qǐng)輸入用戶名!, vbCritical, 錯(cuò)誤 Exit Sub End If With Adodc_user .Recordset.MoveFirst .Recordset.Find 賬號(hào)= & Text1.Text & If .Recordset.EOF = True Then MsgBox 用戶賬號(hào)錯(cuò)誤,請(qǐng)重新輸入!, vbCritical, 錯(cuò)誤 Exit Sub End If username = .Recordset!賬號(hào) g
36、lqx = .Recordset!管理員 If glqx = True Then If Option2.Value = False Then GoTo Cuowu Exit Sub End If Else If Option1.Value = False Then GoTo Cuowu Exit Sub End If End If If .Recordset!密碼 Text2.Text Then GoTo Cuowu Exit Sub End If End With Frm_Main.Show Unload Me Exit SubCuowu: 密碼錯(cuò)誤情況 n = n + 1 MsgBox 密
37、碼錯(cuò)誤,請(qǐng)重新輸入!, vbCritical, 錯(cuò)誤 Text2.Text = If n = 3 Then MsgBox 您輸入錯(cuò)誤達(dá)到3次,為了保護(hù)賬號(hào)安全,系統(tǒng)將自動(dòng)退出, vbCritical, 系統(tǒng)將自動(dòng)退出 End End IfEnd SubPrivate Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then cmddl_ClickEnd SubPrivate Sub cmdexit_Click() 【退出事件】 EndEnd SubPrivate Sub Text2_KeyPress(KeyAscii As In
38、teger) If KeyAscii = 13 Then cmddl_ClickEnd SubPrivate Sub Form_Activate() Text1.SetFocusEnd Sub(4)Frm_Main窗體代碼Private Sub cjpm_Click() 【打開成績(jī)排名窗體】 Frm_ChengjiPaiming.Show vbModal, MeEnd SubPrivate Sub cx_cj_Click() 【打開查詢成績(jī)窗體】 Frm_Caxun_Cj.Show vbModal, MeEnd SubPrivate Sub cx_xs_Click() 【打開查詢學(xué)生窗體】 F
39、rm_Caxun_Xs.Show vbModal, MeEnd SubPrivate Sub edit_cj_Click() 【打開編輯成績(jī)窗體】 If glqx = False Then MsgBox 您沒有相應(yīng)的權(quán)限, vbCritical, 錯(cuò)誤 Exit Sub End If Frm_Edit_Cj.Show vbModal, MeEnd SubPrivate Sub edit_kc_Click() 【打開編輯課程信息窗體】 If glqx = False Then MsgBox 您沒有相應(yīng)的權(quán)限, vbCritical, 錯(cuò)誤 Exit Sub End If Frm_Edit_Kc.
40、Show vbModal, MeEnd SubPrivate Sub edit_xs_Click() 【打開編輯學(xué)生信息窗體】 If glqx = False Then MsgBox 您沒有相應(yīng)的權(quán)限, vbCritical, 錯(cuò)誤 Exit Sub End If Frm_Edit_Xs.Show vbModal, MeEnd SubPrivate Sub Form_Load() If glqx = True Then Label1.Caption = 學(xué)籍管理-管理員 Else Label1.Caption = 學(xué)籍管理-普通用戶 End If StatusBar1.Panels(1) =
41、您好! & usernameEnd SubPrivate Sub ggmm_Click() 【打開設(shè)置密碼窗體】 Frm_User.Show vbModal, MeEnd SubPrivate Sub guanyu_Click() 【打開關(guān)于窗體】 Frm_About.Show vbModal, MeEnd SubPrivate Sub Timer1_Timer() StatusBar1.Panels(2) = & TimeEnd SubPrivate Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) 【圖標(biāo)欄】 Sele
42、ct Case Button.Key Case tu1 If glqx = False Then MsgBox 您沒有相應(yīng)的權(quán)限, vbCritical, 錯(cuò)誤 Exit Sub End If Frm_Edit_Xs.Show vbModal, Me Case tu2 If glqx = False Then MsgBox 您沒有相應(yīng)的權(quán)限, vbCritical, 錯(cuò)誤 Exit Sub End If Frm_Edit_Kc.Show vbModal, Me Case tu3 If glqx = False Then MsgBox 您沒有相應(yīng)的權(quán)限, vbCritical, 錯(cuò)誤 Exit
43、Sub End If Frm_Edit_Cj.Show vbModal, Me Case tu4 Frm_Caxun_Xs.Show vbModal, Me Case tu5 Frm_Caxun_Cj.Show vbModal, Me Case tu6 Frm_ChengjiPaiming.Show vbModal, Me End SelectEnd SubPrivate Sub tuichu_Click() 【退出】 EndEnd SubPrivate Sub zhuxiao_Click() 【更改用戶】 Unload Me Frm_Login.ShowEnd Sub(5)Frm_User窗
44、體代碼Private Sub Command1_Click() 【修改密碼】With Adodc1 .Recordset.MoveFirst .Recordset.Find 賬號(hào)= & username & If .Recordset!密碼 Text1.Text Then MsgBox 原密碼錯(cuò)誤!, vbCritical, 錯(cuò)誤 Exit Sub End If If Text2.Text Text3.Text Then MsgBox 新的密碼與確認(rèn)密碼不致,請(qǐng)重新輸入!, vbCritical, 錯(cuò)誤 Exit Sub End If .Recordset!密碼 = Text2.Text .R
45、ecordset.Update End With MsgBox 密碼修改成功!, vbInformation, 成功 Unload MeEnd SubPrivate Sub Command2_Click() 【取消】 Unload MeEnd SubPrivate Sub Form_Load() With Adodc1 .Recordset.MoveFirst .Recordset.Find 賬號(hào)= & username & If .Recordset!密碼 = Then Label1.Visible = False Text1.Visible = False End If End WithE
46、nd Sub(6)Frm_Edit_Xs窗體代碼Private Sub Command1_Click() 【添加】Dim s As StringIf Command1.Caption = 添加 Then With Adodc_xs If .Recordset.RecordCount 0 Then Do s = InputBox(請(qǐng)輸入學(xué)號(hào), 輸入) If s = Then Exit Sub .Recordset.MoveFirst .Recordset.Find 學(xué)號(hào)= & s & If .Recordset.EOF = False Then MsgBox 學(xué)號(hào)重復(fù),請(qǐng)重新輸入 End If
47、Loop While .Recordset.EOF = False End If Command1.Caption = 保存 Command2.Enabled = False Command3.Enabled = False Command4.Enabled = False Command5.Enabled = False Command6.Enabled = False .Recordset.AddNew Text1(0).Text = s End With Else Command1.Caption = 添加 Command2.Enabled = True Command3.Enabled
48、 = True Command4.Enabled = True Command5.Enabled = True Command6.Enabled = True Adodc_xs.Recordset.Update MsgBox 保存成功, , 保存 End IfEnd SubPrivate Sub Command2_Click() 【上一條】 With Adodc_xs .Recordset.MovePrevious If .Recordset.BOF = True Then .Recordset.MoveFirst Command2.Enabled = False MsgBox 已經(jīng)是第一條記
49、錄 Else Command3.Enabled = True Command2.Enabled = True End If End WithEnd SubPrivate Sub Command3_Click() 【下一條】 With Adodc_xs .Recordset.MoveNext If .Recordset.EOF = True Then .Recordset.MoveLast Command3.Enabled = False MsgBox 已經(jīng) 是最后一條記錄 Else Command3.Enabled = True Command2.Enabled = True End If E
50、nd WithEnd SubPrivate Sub Command4_Click() 【搜索】 Dim s As String With Adodc_xs s = InputBox(請(qǐng)輸入要查詢的學(xué)號(hào)) If s = Then Exit Sub .Recordset.MoveFirst .Recordset.Find 學(xué)號(hào)= & s & If .Recordset.EOF = True Then .Recordset.MoveFirst MsgBox 沒有找到! End If End WithEnd SubPrivate Sub Command5_Click() 【修改】 With Adodc
51、_xs If Command5.Caption = 修改 Then Command5.Caption = 保存 Command1.Enabled = False Command2.Enabled = False Command3.Enabled = False Command4.Enabled = False Command6.Enabled = False Else Command5.Caption = 修改 .Recordset.Update Command1.Enabled = True Command2.Enabled = True Command3.Enabled = True Co
52、mmand4.Enabled = True Command6.Enabled = True End If End WithEnd SubPrivate Sub Command6_Click() 【刪除】 With Adodc_xs If MsgBox(您確定要?jiǎng)h除該記錄嗎?, vbYesNo + vbQuestion, 確定) = vbYes Then If .Recordset.EOF = False Then .Recordset.Delete .Recordset.Update .Recordset.MoveFirst Else MsgBox 沒有記錄! End If End If En
53、d WithEnd SubPrivate Sub Command7_Click() 【返回】 Unload MeEnd Sub(7)Frm_Edit_Kc窗體代碼Private Sub Command1_Click() 【添加】Dim s As StringIf Command1.Caption = 添加 Then With Adodc_kc If .Recordset.RecordCount 0 Then Do s = InputBox(請(qǐng)輸入課程號(hào), 輸入) If s = Then Exit Sub .Recordset.MoveFirst .Recordset.Find 課程號(hào)= & s
54、 & If .Recordset.EOF = False Then MsgBox 課程號(hào)重復(fù),重新輸入, vbCritical, 錯(cuò)誤 End If Loop While .Recordset.EOF = False End If Command1.Caption = 保存 Command2.Enabled = False Command3.Enabled = False Command4.Enabled = False Command5.Enabled = False Command6.Enabled = False .Recordset.AddNew Text1.Text = s End
55、With Else Command1.Caption = 添加 Command2.Enabled = True Command3.Enabled = True Command4.Enabled = True Command5.Enabled = True Command6.Enabled = True Adodc_kc.Recordset.Update MsgBox 保存成功, , 保存 End IfEnd SubPrivate Sub Command2_Click() 【修改】 With Adodc_kc If Command2.Caption = 修改 Then Command2.Capt
56、ion = 保存 Command1.Enabled = False Command5.Enabled = False Command3.Enabled = False Command4.Enabled = False Command6.Enabled = False Else Command2.Caption = 修改 .Recordset.Update Command1.Enabled = True Command5.Enabled = True Command3.Enabled = True Command4.Enabled = True Command6.Enabled = True E
57、nd If End WithEnd SubPrivate Sub Command3_Click() 【上一條】 With Adodc_kc .Recordset.MovePrevious If .Recordset.BOF = True Then .Recordset.MoveFirst Command3.Enabled = False MsgBox 已經(jīng)是第一條記錄 Else Command3.Enabled = True Command4.Enabled = True End If End WithEnd SubPrivate Sub Command4_Click() 【下一條】 With
58、 Adodc_kc .Recordset.MoveNext If .Recordset.EOF = True Then .Recordset.MoveLast Command4.Enabled = False MsgBox 已經(jīng)是最后一條記錄 Else Command4.Enabled = True Command3.Enabled = True End If End WithEnd SubPrivate Sub Command5_Click() 【搜索】 Dim s As String With Adodc_kc s = InputBox(請(qǐng)輸入要查詢的課程號(hào)) If s = Then Ex
59、it Sub .Recordset.MoveFirst .Recordset.Find 課程號(hào)= & s & If .Recordset.EOF = True Then .Recordset.MoveFirst MsgBox 沒有找到記錄!, vbCritical, 錯(cuò)誤 End If End WithEnd SubPrivate Sub Command6_Click() 【刪除】 With Adodc_kc If MsgBox(您確定要?jiǎng)h除該記錄嗎?, vbYesNo + vbQuestion, 確定) = vbYes Then If .Recordset.EOF = False Then
60、.Recordset.Delete .Recordset.Update .Recordset.MoveFirst Else MsgBox 沒有記錄!, vbCritical, 錯(cuò)誤 End If End If End WithEnd SubPrivate Sub Command7_Click() 【返回】 Unload MeEnd Sub(8)Frm_Edit_Cj窗體代碼Private Sub Command1_Click() 【添加】Dim s As String, kcmq As String, xuehao As StringIf Command1.Caption = 添加 Then
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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年度離婚協(xié)議書起草與跨國(guó)婚姻解除服務(wù)合同3篇
- 2024年船舶照明安裝協(xié)議3篇
- 2024年食品供應(yīng)鏈合作合同標(biāo)準(zhǔn)模板一
- 2024版?zhèn)€人借款協(xié)議含第三方擔(dān)保條款版B版
- 2025年度影視基地場(chǎng)地租賃及拍攝制作服務(wù)協(xié)議3篇
- 2024生物醫(yī)藥研發(fā)過程中數(shù)據(jù)共享協(xié)議
- 2024年金融衍生品期貨交易合同規(guī)范文本3篇
- 2024年虛擬展覽開發(fā)合同3篇
- 2024年綠色金融融資居間服務(wù)合同范本3篇
- 2024年集裝箱房屋買賣法律合同書樣本版B版
- 資產(chǎn)評(píng)估常用數(shù)據(jù)與參數(shù)手冊(cè)
- 分子影像學(xué)概論培訓(xùn)課件
- 小學(xué)四年級(jí)數(shù)學(xué)上冊(cè)促銷問題
- 血常規(guī)判讀專業(yè)知識(shí)講座培訓(xùn)課件
- 物業(yè)安全崗位職責(zé)
- 國(guó)內(nèi)外中學(xué)數(shù)學(xué)教學(xué)改革與發(fā)展
- 六年級(jí)上冊(cè)語文分層作業(yè)優(yōu)秀設(shè)計(jì)案例
- 商品拍攝與素材編輯-課程標(biāo)準(zhǔn)
- 中等職業(yè)學(xué)校班主任能力比賽幼兒保育專業(yè)班級(jí)建設(shè)方案
- 你來比劃我來猜詞語(超搞笑版)
- 施工總平面布置圖及說明及施工現(xiàn)場(chǎng)平面布置圖
評(píng)論
0/150
提交評(píng)論