【正文】
導(dǎo)計(jì)算機(jī)執(zhí)行一段程序。(5) 方法 (Method)方法主要是指對(duì)一個(gè)對(duì)象使用某種作用的過(guò)程。其程序的方法有Show(顯示)方法,Hide(隱藏)方法,Refresh(刷新)方法。(7) 模塊 (Module)模塊是指一些運(yùn)算量或過(guò)程進(jìn)行聲明或定義的一個(gè)集合。 第二章 Windows下的Visual Basic 編程環(huán)境簡(jiǎn)介 面對(duì)對(duì)象的編程面向?qū)ο蟮脑O(shè)計(jì)方法 (OOP, Objected Programming) 從應(yīng)用領(lǐng)域內(nèi)的問(wèn)題著手,以直觀自然的方式描述客觀世界的實(shí)體。在設(shè)計(jì)對(duì)象時(shí),不必編寫建立和描述每個(gè)對(duì)象的程序代碼,而是用工具畫在界面上,由 Visual Basic 自動(dòng)生成對(duì)象的程序代碼并封裝起來(lái)。開(kāi)發(fā)人員可以最有效利用所創(chuàng)建的每一個(gè)對(duì)象。Visual Basic 應(yīng)用由一系列對(duì)象組成,包括有函數(shù)、菜單、函數(shù)、結(jié)構(gòu)和數(shù)據(jù)窗口、用戶對(duì)象、用戶事件等等,對(duì)象中又包含若干控件如命令按鈕、單行編輯器等這些對(duì)象和控件都可在許多應(yīng)用中重復(fù)使用。本系統(tǒng)使用 Visual Basic 的菜單編輯器建立菜單或者修改已經(jīng)存在的菜單,您也可以使用Visual Basic 的Application Wizard 來(lái)操作。CoolBar就是一個(gè)可以在窗體上浮動(dòng)的工具,同時(shí)也是其他ActiveX的容器。選擇“工程”下拉菜單中的“部件”選項(xiàng),顯示“部件”對(duì)話框。本系統(tǒng)就用了Cool工具中的Statubar控件,在系統(tǒng)這一界面中,添加了狀態(tài)欄,在第一個(gè)欄中,在樣式這一欄中選擇了文本,在第二個(gè)欄中,選擇了系統(tǒng)日期,第三個(gè)欄中選擇了系統(tǒng)時(shí)間,這樣,任何時(shí)候操作本系統(tǒng),都可以看到當(dāng)前的時(shí)間和日期。使用戶可以較快地確定需求,然后采用循環(huán)進(jìn)化的開(kāi)發(fā)方式,對(duì)系統(tǒng)模型作連續(xù)的精化,將系統(tǒng)需具備的性質(zhì)逐漸增加上去,直到所有的性質(zhì)全部滿足。微軟公司的Visual Basic ,使目前最為廣泛的、易學(xué)易用的面向?qū)ο蟮拈_(kāi)發(fā)工具。故而,實(shí)現(xiàn)本系統(tǒng)VB是一個(gè)相對(duì)較好的選擇。Access的優(yōu)點(diǎn)在于它能使用數(shù)據(jù)表示圖或自定義窗體收集信息。另外,Access允許創(chuàng)建自定義報(bào)表用于打印或輸出數(shù)據(jù)庫(kù)中的信息。Access 是一種關(guān)系數(shù)據(jù)庫(kù)工具,關(guān)系數(shù)據(jù)庫(kù)是已開(kāi)發(fā)的最通用的數(shù)據(jù)庫(kù)之一。(DBA)微軟的JET數(shù)據(jù)庫(kù)引擎提供了與數(shù)據(jù)庫(kù)打交道的途徑,我們是通過(guò)它以及Visual Basic來(lái)訪問(wèn)數(shù)據(jù)庫(kù)并對(duì)其進(jìn)行各種操作。ADODC控件在數(shù)據(jù)庫(kù)中的信息與將信息顯示給用戶看的Visual Basic 程序之間架起了一座橋梁。缺省情況下,ADODC控件根據(jù)數(shù)據(jù)庫(kù)中的一個(gè)或多個(gè)數(shù)據(jù)庫(kù)表建立一個(gè)dynasettype(動(dòng)態(tài)集合)類型的記錄集合。將ADODC控件放置在窗體中之后,我們還必須在該控件與要處理的數(shù)據(jù)庫(kù)之間建立聯(lián)系。數(shù)據(jù)庫(kù)的作用在于組織和表達(dá)信息,簡(jiǎn)而言之,數(shù)據(jù)庫(kù)就是信息的集合。關(guān)系數(shù)據(jù)庫(kù)中包含了多個(gè)數(shù)據(jù)表的信息,數(shù)據(jù)庫(kù)含有各個(gè)不同部分的術(shù)語(yǔ),象記錄、域等。創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)結(jié)構(gòu)的過(guò)程被認(rèn)為是數(shù)據(jù)模型設(shè)計(jì)。這三種操作均可由Visual Basic創(chuàng)建的程序來(lái)完成,下面的章節(jié)將詳細(xì)描述實(shí)現(xiàn)的具體方法。針對(duì)這樣的情況,采用讓數(shù)據(jù)的查詢變得簡(jiǎn)單化,數(shù)據(jù)變的更讓每個(gè)人都在任何時(shí)刻都可以了解到。該系統(tǒng)總體有四部分組成,包括學(xué)生信息查詢、教務(wù)信息維護(hù)、學(xué)生選課及用戶管理。通過(guò)本校內(nèi)部的信息,依據(jù)統(tǒng)一數(shù)據(jù)信息進(jìn)行管理,把任何一塊信息所產(chǎn)生的數(shù)據(jù)變動(dòng)及時(shí)地反映給其它相關(guān)信息,做到數(shù)據(jù)共享。學(xué)生選課是對(duì)學(xué)生進(jìn)行相應(yīng)選擇自己相關(guān)的課程。采用本系統(tǒng),能夠使整個(gè)系統(tǒng)內(nèi)部所有信息的工作簡(jiǎn)化,提高工作效益。本系統(tǒng)中使用到的數(shù)據(jù)表主要有班級(jí)表、成績(jī)表、繳費(fèi)表、課程表、學(xué)生檔案、用戶資料,由這六個(gè)表,組成了名為信息的數(shù)據(jù)庫(kù)(如圖一)。其中日期的數(shù)據(jù)類型為日期/時(shí)間天型,其它的數(shù)據(jù)類型為文本型;成績(jī)表中字段為:學(xué)號(hào)、姓名、年級(jí)、專業(yè)、學(xué)期、考試時(shí)間、考試科目、考試地點(diǎn)、課程性質(zhì)、科目分?jǐn)?shù)、違紀(jì)類型、備注;課程表中字段為:專業(yè)、年級(jí)、學(xué)期、課程名稱、教材、任課老師、課時(shí)、上課地點(diǎn)、課程性質(zhì)、考試性質(zhì);用戶資料中的字段包括:用戶名、密碼、身份。 在VB中,用ADODC鏈接數(shù)據(jù)庫(kù),用DataGrid或DATA將庫(kù)中的數(shù)據(jù)在界面中顯示出來(lái),本系統(tǒng)采用DataGrid。同時(shí),將桌面的DataGrid控件選中,在屬性框中,將它的Datasoure設(shè)為Adodc。然后再右擊,同樣,在彈出的快捷菜單中選擇“編輯”,我們就可以所在的表格的寬度進(jìn)行調(diào)整。下面為其代碼:Private Sub Command1_Click()Dim myCon As New Dim myRs As New Dim ZhuanYe, NianJi, XueQi, KeCheng, JiaoCai, RenKLS, KeShi, ShangKeDD, KeChengXZ, KaoShiXZ As StringZhuanYe = NianJi = XueQi = KeCheng = JiaoCai = RenKLS = KeShi = ShangKeDD = KeChengXZ = KaoShiXZ = If Trim(ZhuanYe) = Or Trim(NianJi) = Or Trim(XueQi) = Or Trim(KeCheng) = Or Trim(JiaoCai) = Or Trim(RenKLS) = Or Trim(KeShi) = Or Trim(ShangKeDD) = Or Trim(KeChengXZ) = Or Trim(KaoShiXZ) = Then MsgBox 請(qǐng)?zhí)顚懸薷恼n程資料的內(nèi)容! = = Exit SubEnd If dsn=信息 select * from 課程表 where 專業(yè)=39。 amp。, myCon, 3, 2 myRs!年級(jí) = myRs!學(xué)期 = myRs!課程名稱 = myRs!教材 = myRs!任課老師 = myRs!課時(shí) = myRs!上課地點(diǎn) = myRs!課程性質(zhì) = myRs!考試性質(zhì) = MsgBox 您確定要修改嗎?, vbYesNo, 提示 = = 39。 = select * from 課程表 where 專業(yè) = 39。 Trim() amp。39。 = (年級(jí))39。 = (課程名稱)39。 = (任課老師)39。 = (上課地點(diǎn))39。 = (考試性質(zhì))End SubPrivate Sub DTPicker1_CallbackKeyDown(ByVal KeyCode As Integer, ByVal Shift As Integer, ByVal CallbackField As String, CallbackDate As Date)End SubPrivate Sub Form_Activate() = strTiaoJianSet = End SubPrivate Sub Form_Load() (必修) (選修) (自開(kāi)) (考試) (查考) = = 39。代碼如下:Dim sqlstr As StringPrivate Sub Combo1_Change()End SubPrivate Sub Combo2_Change()End SubPrivate Sub Combo4_Change()End SubPrivate Sub Combo5_Change()End SubPrivate Sub Combo7_Change()End SubPrivate Sub Command1_Click()Dim a As StringDim KCCX1 As StringDim KCCX2 As StringDim str1 As StringDim str2 As StringIf = True Thena = Trim(Combo2)Select Case a Case = KCCX1 = amp。 amp。 39。 Trim(Text1) amp。 Case like KCCX1 = Instr(1, amp。 ,39。 Trim() amp。)0 End Select a = Trim(Combo4)Select Case a Case = KCCX2 = amp。 amp。 39。 Trim(Text2) amp。 Case like KCCX2 = Instr(1, amp。 ,39。 Trim() amp。)0 End Select If = True Then If KCCX1 = Then strTiaoJian = select * from 課程表 where amp。 KCCX1 Else strTiaoJian = select * from 課程表 where amp。 and amp。 KCCX2 ElseIf KCCX2 = Then strTiaoJian = select * from 課程表 where amp。 KCCX1 amp。 KCCX2 End IfElse If KCCX1 = Then strTiaoJian = select * from 課程表 where amp。 KCCX1 Else MsgBox 請(qǐng)選擇連接方式!, vbOKOnly, 警告 Exit Sub End IfEnd If If (KCCX1 amp。 amp。 amp。 amp。 amp。 Trim() amp。 Format(str1, yyyymmdd) amp。 Trim() amp。 Format(str2, yyyymmdd) amp。 and amp。 = amp。 and amp。 = amp。 End If If sqlstr = Then MsgBox 請(qǐng)先輸入查找時(shí)間! Exit Sub End If strTiaoJian = select 專業(yè),年級(jí),學(xué)期,課程名稱,教材,任課老師,課時(shí),上課地點(diǎn),課程性質(zhì),考試性質(zhì) from 課程表 where amp。 (課時(shí)) (課程性質(zhì)) (考試性質(zhì)) (=) (專業(yè)) (年級(jí)) (課程名稱) (教材) (任課老師)39。打印統(tǒng)計(jì)包括班級(jí)統(tǒng)計(jì)分析、檔案統(tǒng)計(jì)分析、課程統(tǒng)計(jì)分析、成績(jī)統(tǒng)計(jì)分析和交費(fèi)統(tǒng)計(jì)分析五類。 + Text1 + 39。 + Text2 + 39。 + Text3 + 39。 + Text4 + 39。 + Text1 + 39。 + Text2 + 39。 + Text3 + 39。 amp。 (男)39。 + Text1 + 39。 + Combo1 + 39。If = 1 And Not IsNumeric(Text2) Then 39。 + Text2 + 39。End IfIf = 1 And Not IsNull(Text3) Then SQLadd = SQLadd + and 課程名稱=39。End IfstrSql = SQLoriginal + SQLadd + SQLordeIf = 1 Then End If strSql vbModal = = 39。 = =