人一定要靠自己

人一定要靠自己

《人一定要靠自己》是一部起點中文網連載的網路都市小說。

基本信息

–––––––––––––––––摘 要–––––––––––––––––
學生信息管理系統是典型的信息管理系統 (MIS),其開發主要包括後台資料庫的建立和維護以及前端應用程式的開發兩個方面。對於前者要求建立起數據一致性和完整性強、數據安全性好的庫。而對於後者則要求應用程式功能完備,易使用等特點。
經過分析,我們使用MICROSOFT公司的VISUAL BASIC開發工具,利用其提供的各種面向對象的開發工具,尤其是數據視窗這一能方便而簡潔操縱資料庫的智慧型化對象,首先在短時間內建立系統套用原型,然後,對初始原型系統進行需求疊代,不斷修正和改進,直到形成用戶滿意的可行系統。
關鍵字:控制項、窗體、域、資料庫。
––––––––––––––––– –––––––––––––––––
隨著學校的規模不斷擴大,學生數量急劇增加,有關學生的各種信息量也成倍增長。面對龐大的信息量需要有學生管理系統來提高學生管理工作的效率。通過這樣的系統可以做到信息的規範管理、科學統計和快速查詢、修改、增加、刪除等,從而減少管理方面的工作量。
本系統主要用於學校學生信息管理,總體任務是實現學生信息關係的系統化、規範化和自動化,其主要任務是用計算機對學生各種信息進行日常管理,如查詢、修改 、增加、刪除,另外還考慮到學生選課,針對這些要求設計了學生信息管理系統本系統主要用於學校學生信息管理,總體任務是實現學生信息關係的系統化、規範化和自動化,其主要任務是用計算機對學生各種信息進行日常管理,如查詢、修改 、增加、刪除,另外還考慮到學生選課,針對這些要求設計了學生信息管理系統。
本系統主要包括學生信息查詢、教務信息維護和學生選課三部分。其功能主要有:
⒈有關學籍等信息的輸入,包括輸入學生基本信息、所在班級、所學課程和成績等。
⒉學生信息的查詢,包括查詢學生基本信息、所在班級、已學課程和成績等。
⒊學生信息的修改。
⒋班級管理信息的輸入,包括輸入班級設定、年級信息等。
⒌班級管理信息的查詢。
⒍班級管理信息的修改。
⒎學生課程的設定和修改。

前言
第一章 Visual Basic 概述
1.1 Visual Basic 語言的特點
1.2 Visual Basic 系統幾個程式套用中的常用名詞
第二章 Windows 下的Visual Basic 編程環境簡介
2.1 面對對象的編程
2.2 實現選單選項
2.3 實現工具列
第三章 怎樣開發一個學生信息管理系統的查詢模組
3.1 學生信息系統的設計分析
3.2 編程環境的選擇
3.3 關係型資料庫的實現
3.4 二者的結合(DBA)
第四章 使用access2000 創建資料庫
4.1 資料庫的概念
4.2 新建一個資料庫
4.3 修改已建的資料庫
第五章 可行性分析
第六章 系統總體規劃
6.1 系統功能
6.2 系統流程圖
第七章 系統具體實現
7.1 各功能的實現
7.1.1 課程管理
7.1.2 列印統計
結束語
後記
主要參考文獻
第一章 Visual Basic 概述
1.1 Visual Basic 語言的特點
Visual Basic 語言用其設計應用程式時具有兩個基本特點:可視化設計和事件驅動編程
(1) 可視化設計:表現在VB在設計套用於程式界面時有“所見即所得”的處理功能。
(2) 事件驅動編程:在設計應用程式時,把對象添加到窗體中,在用戶與程式進行互動時,用戶基本上是通過滑鼠、鍵盤與應用程式進行互動的,那些對象就必須對滑鼠和鍵盤操作所引發的事件做出回響,來執行一段應用程式。
1.2 Visual Basic 系統幾個在程式套用中的常用名詞
Visual Basic 系統除了一般高級語言所具有的一些名詞術語外,還有幾個系統常用的名詞。其基本含義如下:
(1) 視窗(Form
視窗是進行人機互動的界面或接口,也叫窗體。VB系統的人機互動界面或接口,無論是在設計時或是在運行時,都是Windows 系統的標準視窗。
(2) 對象(Object)
對象是VB系統內部提供給設計者可以直接使用的處理輸出的控制工具。本程式所套用到的對象類型有標籤框 (Label Box),文本框 (Text Box),命令按扭 (Command Button),格線 (Data Grid),ADO控制項 (Adodc1)等。當把這些工具放置到用戶界面對應的窗體上時,被稱為對象或控制項。用戶可以通過設定對象的“屬性”和“方法”,便於對象適應自己所設計應用程式的輸入輸出內容,對象的生成過程及結構都被封裝起來。正確使用對象可以減少程式和開發時間,提高程式設計者的工作效率。
(3) 屬性(Properties)
屬性是VB系統提供的有關對象的參數或數據接口。用戶通過適當地設定或改變對象的屬性來確定對象的外觀及性能特徵,從而有效地使用系統提供的對象。比如,對象的名稱、在螢幕上顯示的位置、大小、顏色、接收或容納的數據內容及數據的表現格式等。
(4) 事件(Events)
事件是指用戶或操作者對計算機進行的某一操作(如擊鍵、單擊或移動滑鼠等)的行為或系統狀態發生的變化。VB系統常用事件來引導計算機執行一段程式。程式所用的鍵盤事件有KeyPress(按鍵)事件,KeyDown事件和KeyUp事件;滑鼠事件有Click(單擊滑鼠)事件,DbDlicd(雙擊滑鼠)。
(5) 方法(Method)
方法主要是指對一個對象使用某種作用的過程。它是在程式執行的過程中要計算機執行的某種操作。其程式的方法有Show(顯示)方法,Hide(隱藏)方法,Refresh(刷新)方法。
(6) 過程(Procedure)
過程是指經過定義或說明的,或基於某一對象對應的事件所引發的程式段。
(7) 模組(Module)
模組是指一些運算量或過程進行聲明或定義的一個集合。系統程式大體可分成四個模組:數據輸入、根據查詢、數據列印和通訊。
第二章 Windows下的Visual Basic 編程環境簡介
2.1 面對對象的編程
面向對象的設計方法 (OOP, Objected Programming) 從套用領域內的問題著手,以直觀自然的方式描述客觀世界的實體。Visual Basic 作為一種面向對象的編程方法,把程式和數據封裝起來作為一個對象,並為每個對象賦予相應的屬性。在設計對象時,不必編寫建立和描述每個對象的程式代碼,而是用工具畫在界面上,由 Visual Basic 自動生成對象的程式代碼並封裝起來。Visual Basic 應用程式基本的構建塊是用戶所創建的對象,每一個對象都具有一些特性和行為(屬性、事件和方法)。開發人員可以最有效利用所創建的每一個對象。使用應用程式具有可通用性可說擴展性和強有力的功能。
Visual Basic 套用由一系列對象組成,包括有函式、選單、函式、結構和數據視窗、用戶對象、用戶事件等等,對象中又包含若干控制項如命令按鈕、單行編輯器等這些對象和控制項都可在許多套用中重複使用。
2.2 實現選單選項
選單是程式最重要的特性之一,大多數程式都依賴一個定義良好的選單使程式易於使用和維護,Visual Basic 也提供了強大的創建選單功能是程式更加標準。
本系統使用 Visual Basic 的選單編輯器建立選單或者修改已經存在的選單,您也可以使用Visual Basic 的Application Wizard 來操作。
2.3 實現工具列
CoolBar控制項與Office2000 中看到的CoolBar是類似的。CoolBar就是一個可以在窗體上浮動的工具,同時也是其他ActiveX的容器。通過在CoolBar中遷入其他空間你也可以向用戶提供更好的靈活性和義用性。
選擇“工程”下拉選單中的“部件”選項,顯示“部件”對話框。在“控制項”選項卡列表中選擇“Microsoft Windows Common Controls 6.0”後工具相中增加改控制項。
本系統就用了Cool工具中的Statubar控制項,在系統這一界面中,添加了狀態欄,在第一個欄中,在樣式這一欄中選擇了文本,在第二個欄中,選擇了系統日期,第三個欄中選擇了系統時間,這樣,任何時候操作本系統,都可以看到當前的時間和日期。
第三章 怎樣開發一個學生信息管理系統的查詢模組?
3.1查詢模組的設計分析
根據實際情況,我們使用原型法(Rapid Prototyping) 即以少量代價快速地構造一個可執行的軟體模型。使用戶可以較快地確定需求,然後採用循環進化的開發方式,對系統模型作連續的精化,將系統需具備的性質逐漸增加上去,直到所有的性質全部滿足。此時模組也發展成為最終產品了。
3.2編程環境的選擇
微軟公司的Visual Basic 6.0是Windows應用程式開發工具,使目前最為廣泛的、易學易用的面向對象的開發工具。Visual Basic提供了大量的控制項,這些控制項可用於設計界面和實現各種功能,減少了編程人員的工作量,也簡化了界面設計過程,從而有效的提高了應
用程式的運行效率和可靠性。故而,實現本系統VB是一個相對較好的選擇。
3.3關係型資料庫的實現
Access2000就是關係資料庫開發工具,資料庫能匯集各種信息以供查詢、存儲和檢索。Access的優點在於它能使用數據表示圖或自定義窗體收集信息。數據表示圖提供了一種類似於Excel的電子表格,可以使資料庫一目了然。另外,Access允許創建自定義報表用於列印或輸出資料庫中的信息。Access也提供了數據存儲庫,可以使用桌面資料庫檔案把資料庫檔案置於網路檔案伺服器,與其他用戶共享資料庫。Access 是一種關係資料庫工具,關係資料庫是已開發的最通用的資料庫之一。如上所述,Access作為關係資料庫開發具備了許多優點,可以在一個數據包同時擁有桌面資料庫的便利和關係資料庫的強大功能。
3.4二者的結合(DBA)
微軟的JET資料庫引擎提供了與資料庫打交道的途徑,我們是通過它以及Visual Basic來訪問資料庫並對其進行各種操作。Visual Basic、Access以及其他微軟的軟體產品都是通過共用JET資料庫引擎,從而給用戶提供了豐富的數據類型。
ADODC控制項在資料庫中的信息與將信息顯示給用戶看的Visual Basic 程式之間架起了一座橋樑。我們可以設定ADODC控制項的各個屬性,告訴它要調用那個資料庫的哪個部分。預設情況下,ADODC控制項根據資料庫中的一個或多個資料庫表建立一個dynaset-type(動態集合)類型的記錄集合。一個記錄集合是動態的也就意味著,當原來的數據表中的容改變了以後,該記錄集合中的記錄也會隨之改變。將ADODC控制項放置在窗體中之後,我們還必須在該控制項與要處理的資料庫之間建立聯繫。
第四章 使用Access2000創建資料庫
4.1資料庫的概念
資料庫是一種存儲數據並對數據進行操作的工具。資料庫的作用在於組織和表達信息,簡而言之,資料庫就是信息的集合。計算機的資料庫可以分為兩類:非關係資料庫(flat-file)和關係資料庫(relational)。關係資料庫中包含了多個數據表的信息,資料庫含有各個不同部分的術語,象記錄、域等。
4.2新建一個資料庫
創建任何一個資料庫的第一步是仔細的規劃資料庫,設計必須是靈活的、有邏輯的。創建一個資料庫結構的過程被認為是數據模型設計。
1. 標識需要的數據;
2. 收集被子標識的欄位到表中;
3. 標識主關鍵字欄位;
4. 規範數據;
5. 標識指定欄位的信息;
4.3修改已建的資料庫
資料庫的修改分為;添加、編輯和刪除記錄。這三種操作均可由Visual Basic創建的程式來完成,下面的章節將詳細描述實現的具體方法。
第五章 可行性分析
學生信息,作為一個學校,就有一定的工作量存在,而學生信息,它的工作量可能是其它信息工作量的幾倍,班級的增加、班級的查找、班級的修改;學生檔案;課程管理;成績管理;繳費管理;統計等等,每個信息的數據都在不斷地變化著,如果採用人工的方式進行操作,那么,一天的工作量,足以讓人覺得比較繁瑣,吃不消。針對這樣的情況,採用讓數據的查詢變得簡單化,數據變的更讓每個人都在任何時刻都可以了解到。
學生信息管理系統是為本校開發的,本系統所採用的語言是Visual Basic,用Microsoft Access 2000資料庫完成。該系統總體有四部分組成,包括學生信息查詢、教務信息維護、學生選課及用戶管理。通過本系統,把本校內部查詢學生信息、教務信息、學生選課各個環節進行有效地計畫、組織和控制。通過本校內部的信息,依據統一數據信息進行管理,把任何一塊信息所產生的數據變動及時地反映給其它相關信息,做到數據共享。
本系統主要信息流程為:教務信息維護接受學生的信息,學生信息查詢根據教務信息維護的學生信息做出對所接收的信息合理性進行判斷,並交於信息維護進行相應的修改,再把信息存入資料庫中。學生選課是對學生進行相應選擇自己相關的課程。最後進行列印。
採用本系統,能夠使整個系統內部所有信息的工作簡化,提高工作效益。由於採用統一的數據信息,使相關資料能夠快速地查詢所需的數據、資料及其它信息的,使信息快速高效運行。
本系統中使用到的數據表主要有班級表、成績表、繳費表、課程表、學生檔案、用戶資料,由這六個表,組成了名為信息的資料庫(如圖一)。其中學生檔案是本系統主要的
(圖一)
一張表,所有信息都是根據這張學生檔案進行有關的操作,主要的欄位有:學號、姓名、年級、專業、性別、出生年月、民族、籍貫、政治面貌、家庭地址、郵政編碼、聯繫電話、入學時間、備註。其中日期的數據類型為日期/時間天型,其它的數據類型為文本型;成績表中欄位為:學號、姓名、年級、專業、學期、考試時間、考試科目、考試地點、課程性質、科目分數、違紀類型、備註;課程表中欄位為:專業、年級、學期、課程名稱、教材、任課老師、課時、上課地點、課程性質、考試性質;用戶資料中的欄位包括:用戶名、密碼、身份。
資料庫與VB的連線:本系統的數據連結採用的是ADO方法,打開控制臺,打開ODBC數據源圖示,選擇“系統DSN”標籤,點擊“添加”按鈕,在彈出的“創建新數據源”對話框中選擇名稱為“Microsoft Access Drive(*.mdb)”,點擊“完成”按鈕,在ODBC Microsoft Access 安裝對話框中在數據源名中輸入信息,在資料庫這個框中, 單擊“選擇”按鈕,在彈出的選擇資料庫這一對話框架中,在驅動器下拉列表框中選擇本系統資料庫所在驅動器,在目錄中選擇庫所在的資料夾,在檔案類型中選擇選“Access資料庫(*.mdb)”,在資料庫名中選擇本系統的資料庫,點擊“確定”按鈕即完成數據連結。
在VB中,用ADODC連結資料庫,用DataGrid或DATA將庫中的數據在界面中顯示出來,本系統採用DataGrid。在界面上右擊Adodc控制,在彈出的快捷選單中選擇屬性,在屬性對話框中,在“屬性”這一標籤中, 選中單選框“Use ODBC data source Name”,並在下拉文本框中選擇已經配置好的數據源名信息,再在“RecordSoure”標籤中,在Commard Text(SQL)文本框中輸入查詢語句,如:select * from 學生檔案。同時,將桌面的DataGrid控制項選中,在屬性框中,將它的Datasoure設為Adodc。
我們可以設定DataGrid控制項的外觀:選中該控制項,右擊,在彈出的快捷選單中選擇“檢索欄位”,在彈出的對話框中單擊“確定”,這時,表格中出現了表的欄位。然後再右擊,同樣,在彈出的快捷選單中選擇“編輯”,我們就可以所在的表格的寬度進行調整。
第六章 系統(查詢模組)總體規劃
6.1系統功能(查詢模組)
1. 查詢信息的情況;
2. 判斷信息是否符合要求;
3. 將符合條件的信息進行列印;
6.2流程圖
學生註冊
基本信息輸入
學籍信息管理
班級管理
班級課程設定
課程基本信息
班級課程管理
成績信息輸入
成績信息管理
班級設定

第七章 系統具體實現
7.1各功能的實現
7.1.1課程管理:課程設定(如:界面如圖二)
(圖二)
運行程式後,進入課程管理模組,課程管理模組的第一塊是課程設定,在這模組中可以把專業、年級、學期、課程名稱、教材、任課老師、課時、上課地點、課程性質和考試性質等信息輸入,以便使用。
下面為其代碼:
Private Sub Command1_Click()
Dim myCon As New ADODB.Connection
Dim myRs As New ADODB.Recordset
Dim ZhuanYe, NianJi, XueQi, KeCheng, JiaoCai, RenKLS, KeShi, ShangKeDD, KeChengXZ, KaoShiXZ As String
ZhuanYe = Text1.Text
NianJi = text2.Text
XueQi = DTPicker1.Value
KeCheng = Text4.Text
JiaoCai = Text5.Text
RenKLS = Text6.Text
KeShi = Text7.Text
ShangKeDD = Text8.Text
KeChengXZ = Combo1.Text
KaoShiXZ = Combo2.Text
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 "請填寫要修改課程資料的內容!"
Combo1.Text = ""
Combo2.Text = ""
Exit Sub
End If
myCon.Open "dsn=信息"
myRs.Open "select * from 課程表 where 專業="" & Text1.Text & """, myCon, 3, 2
myRs!年級 = Text2.Text
myRs!學期 = DTPicker1.Value
myRs!課程名稱 = Text4.Text
myRs!教材 = Text5.Text
myRs!任課老師 = Text6.Text
myRs!課時 = Text7.Text
myRs!上課地點 = Text8.Text
myRs!課程性質 = Combo1.Text
myRs!考試性質 = Combo2.Text
myRs.Update
myRs.Close
myCon.Close
MsgBox "您確定要修改嗎?", vbYesNo, "提示"
Frm_UpdateGrean.Adodc1.Refresh
Frm_UpdateGrean.DataGrid1.Refresh
Text1.Text = ""
Text2.Text = ""
'Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""
Text7.Text = ""
Text8.Text = ""
Combo1.Text = ""
Combo2.Text = ""
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
Private Sub Command3_Click()
Unload Me
Frm_FindGrean.Show 1
End Sub
Private Sub DataGrid1_Click()
'Frm_UpdateGrean.Adodc1.RecordSource = "select * from 課程表 where 專業 = '" & Trim(DataGrid1.Row) & "'"
'Text1.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields("專業")
'Text2.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields("年級")
'Text3.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields("學期")
'Text4.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields("課程名稱")
'Text5.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields("教材")
'Text6.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields("任課老師")
'Text7.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields("課時")
'Text8.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields("上課地點")
'Combo1.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields("課程性質")
'Combo2.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields("考試性質")
End Sub
Private Sub DTPicker1_CallbackKeyDown(ByVal KeyCode As Integer, ByVal Shift As Integer, ByVal CallbackField As String, CallbackDate As Date)
End Sub
Private Sub Form_Activate()
Frm_FindGrean.Adodc1.RecordSource = strTiaoJian
Frm_FindGrean.Adodc1.Refresh
Set DataGrid1.DataSource = Frm_FindGrean.Adodc1
End Sub
Private Sub Form_Load()
Combo1.AddItem ("必修")
Combo1.AddItem ("選修")
Combo1.AddItem ("自開")
Combo2.AddItem ("考試")
Combo2.AddItem ("查考")
Text1.Text = ""
Text2.Text = ""
'Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""
Text7.Text = ""
Text8.Text = ""
Combo1.Text = ""
Combo2.Text = ""
End Sub
Private Sub Text1_Change()
End Sub
Private Sub Text2_Change()
End Sub
Private Sub Text8_Change()
End Sub
課程管理:課程查詢(如:界面如圖三)
(圖三)
當輸入查詢類別、運算符和條件後可以查找到所需要的課程設定,或按查詢時間來查詢,輸入所要查找的時間段,就可查到所要的課程設定。
代碼如下:
Dim sqlstr As String
Private Sub Combo1_Change()
End Sub
Private Sub Combo2_Change()
End Sub
Private Sub Combo4_Change()
End Sub
Private Sub Combo5_Change()
End Sub
Private Sub Combo7_Change()
End Sub
Private Sub Command1_Click()
Dim a As String
Dim KCCX1 As String
Dim KCCX2 As String
Dim str1 As String
Dim str2 As String
If Option3.Value = True Then
a = Trim(Combo2)
Select Case a
Case "="
KCCX1 = "" & Combo1.Text & " " & Combo2.Text & " '" & Trim(Text1) & "'"
Case "like"
KCCX1 = "instr(1," & Combo1.Text & ",'" & Trim(Text1.Text) & "')<>0 "
End Select
a = Trim(Combo4)
Select Case a
Case "="
KCCX2 = "" & Combo3.Text & " " & Combo4.Text & " '" & Trim(Text2) & "'"
Case "like"
KCCX2 = "Instr(1," & Combo3.Text & ",'" & Trim(Text2.Text) & "')<>0 "
End Select
If Option1.Value = True Then
If KCCX1 = "" Then
strTiaoJian = "select * from 課程表 where " & KCCX2
ElseIf KCCX2 = "" Then
strTiaoJian = "select * from 課程表 where " & KCCX1
Else
strTiaoJian = "select * from 課程表 where " & KCCX1 & "and " & KCCX2
End If
ElseIf Option2.Value = True Then
If KCCX1 = "" Then
strTiaoJian = "select * from 課程表 where " & KCCX2
ElseIf KCCX2 = "" Then
strTiaoJian = "select * from 課程表 where " & KCCX1
Else
strTiaoJian = "select * from 課程表 where " & KCCX1 & "or " & KCCX2
End If
Else
If KCCX1 = "" Then
strTiaoJian = "select * from 課程表 where " & KCCX2
ElseIf KCCX2 = "" Then
strTiaoJian = "select * from 課程表 where " & KCCX1
Else
MsgBox "請選擇連線方式!", vbOKOnly, "警告"
Exit Sub
End If
End If
If (KCCX1 & KCCX2) = "" Then
MsgBox "請輸入查詢類別!", vbOKOnly, "警告"
Exit Sub
Else
Unload Me
Frm_UpdateGrean.Show 1
End If
End If
If Option4.Value = True Then
If Val(Combo6) > Val(Combo9) Then
MsgBox "請正確選擇年份!", vbOKOnly + vbExclamation, "信息提示"
Combo6.SetFocus
Exit Sub
Else
If Val(Combo6) = Val(Combo9) Then
If Val(Combo7) > Val(Combo10) Then
MsgBox "請正確選擇月份!", vbOKOnly + vbExclamation, "信息提示"
Combo7.SetFocus
Exit Sub
Else
If Val(Combo7) = Val(Combo10) Then
If Val(Combo8) > Val(Combo11) Then
MsgBox "請正確選擇日期!", vbOKOnly + vbExclamation, "信息提示"
Combo8.SetFocus
Exit Sub
End If
End If
End If
End If
End If
If Combo6.Text = "" Or Combo7.Text = "" Or Combo8.Text = "" Or Combo9.Text = "" Or Combo10.Text = "" Or Combo11.Text = "" Then
MsgBox "請輸入完整的日期", vbOKOnly, "警告"
Exit Sub
End If
str1 = Trim(Combo6) & "-" & Trim(Combo7) & "-" & Trim(Combo8)
str2 = Trim(Combo9) & "-" & Trim(Combo10) & "-" & Trim(Combo11)
str1 = Format(str1, "yyyy-mm-dd")
str2 = Format(str2, "yyyy-mm-dd")
If sqlstr = "" Then
sqlstr = "" & Trim(Combo5.Text) & ">=#" & Format(str1, "yyyy-mm-dd") & "# and " & Trim(Combo5.Text) & "<= #" & Format(str2, "yyyy-mm-dd") & "#"
Else
sqlstr = sqlstr & " and " & Trim(Combo5.Text) & ">=#" & Format(str1, "yyyy-mm-dd") & "# and " & Trim(Combo5.Text) & "<= #" & Format(str2, "yyyy-mm-dd") & "#"
End If
If sqlstr = "" Then
MsgBox "請先輸入查找時間!"
Exit Sub
End If
strTiaoJian = "select 專業,年級,學期,課程名稱,教材,任課老師,課時,上課地點,課程性質,考試性質 from 課程表 where " & sqlstr
Unload Me
Frm_UpdateGrean.Show 1
End If
If Option3.Value <> True And Option4.Value <> True Then
MsgBox "請選擇查詢方式!", vbOKOnly, "警告"
Exit Sub
End If
End Sub
Private Sub Command3_Click()
Unload Me
End Sub
Private Sub Form_Load()
Dim i, j As Integer
For i = 1999 To 2010
Combo6.AddItem i
Combo9.AddItem i
Next i
Combo6.ListIndex = 0
Combo9.ListIndex = 0
For i = 1 To 12
Combo7.AddItem i
Combo10.AddItem i
Next i
Combo7.ListIndex = 0
Combo10.ListIndex = 0
For i = 1 To 31
Combo8.AddItem i
Combo11.AddItem i
Next i
Combo8.ListIndex = 0
Combo11.ListIndex = 0
Combo1.AddItem ("專業")
Combo1.AddItem ("年級")
Combo1.AddItem ("課程名稱")
Combo1.AddItem ("教材")
Combo1.AddItem ("任課老師")
'Combo1.AddItem ("課時")
Combo1.AddItem ("課程性質")
Combo1.AddItem ("考試性質")
Combo2.AddItem ("=")
Combo3.AddItem ("專業")
Combo3.AddItem ("年級")
Combo3.AddItem ("課程名稱")
Combo3.AddItem ("教材")
Combo3.AddItem ("任課老師")
'Combo3.AddItem ("課時")
Combo3.AddItem ("課程性質")
Combo3.AddItem ("考試性質")
Combo4.AddItem ("=")
Combo5.AddItem ("學期")
Combo1.Text = ""
Combo2.Text = ""
Text1.Text = ""
Combo3.Text = ""
Combo4.Text = ""
Text2.Text = ""
Combo5.Text = ""
Combo6.Text = ""
Combo7.Text = ""
Combo8.Text = ""
Combo9.Text = ""
Combo10.Text = ""
Combo11.Text = ""
End Sub
7.1.2 列印統計
運行列印統計後可以按條件把符合條件的各種信息以報表形式羅列出來,各種信息還可以以列印出來或以報表形式保存。列印統計包括班級統計分析、檔案統計分析、課程統計分析、成績統計分析和交費統計分析五類。
班級統計分析(如:界面如圖四)
(圖四)
代碼如下:
Private Sub Command1_Click()
Dim SQLoriginal As String
Dim SQLadd As String
Dim SQLorder As String
Dim strSql As String
SQLoriginal = "SELECT 年級,專業,人數,輔導員,備註 FROM 班級表 "
SQLadd = "WHERE 年級=年級 AND 專業=專業 "
SQLorder = ""
If Check1.Value = 1 And IsNumeric(Text1) Then
SQLadd = SQLadd + "and 年級="" + Text1 + """
End If
If Check2.Value = 1 And Not IsNull(Text2) Then
SQLadd = SQLadd + "and 專業="" + Text2 + """
End If
If Check3.Value = 1 And IsNumeric(Text3) Then
SQLadd = SQLadd + "and 人數="" + Text3 + """
End If
If Check4.Value = 1 And Not IsNull(Text4) Then
SQLadd = SQLadd + "and 輔導員="" + Text4 + """
End If
strSql = SQLoriginal + SQLadd + SQLorde
If Dat_Main.rsDat_Class.State = 1 Then
Dat_Main.rsDat_Class.Close
End If
Dat_Main.rsDat_Class.Open strSql
Dat_Class.Show vbModal
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
Private Sub Form_Load()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
End Sub
Private Sub Text1_Change()
End Sub
Private Sub Text3_Change()
End Sub
檔案分析統計(如:界面如圖五)
(圖五)
代碼如下:
Private Sub Command1_Click()
Dim SQLoriginal As String
Dim SQLadd As String
Dim SQLorder As String
Dim strSql As String
On Error Resume Next
SQLoriginal = "SELECT * FROM 學生檔案 "
SQLadd = "WHERE 學號=學號 AND 姓名=姓名 "
SQLorder = ""
If Check1.Value = 1 And IsNumeric(Text1) Then
SQLadd = SQLadd + "and 學號="" + Text1 + """
End If
If Check2.Value = 1 And Not IsNull(Text2) Then
SQLadd = SQLadd + "and 姓名="" + Text2 + """
End If
If Check3.Value = 1 And Not IsNull(Text3) Then
SQLadd = SQLadd + "and 專業="" + Text3 + """
End If
If Check4.Value = 1 And isdate(DTPicker1) Then
SQLadd = SQLadd + " and 出生年月= # " & DTPicker1.Value & "#"
End If
strSql = SQLoriginal + SQLadd + SQLorde
If Dat_Main.rsDat_Strudent.State = 1 Then
Dat_Main.rsDat_Strudent.Close
End If
Dat_Main.rsDat_Strudent.Open strSql
Dat_Strudent.Show vbModal
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
End Sub
Private Sub Command2_Click()
Unload Me

相關詞條

熱門詞條

聯絡我們