第一篇:vb成績判斷程序
Private Sub Form_Click()
score = Val(InputBox(“請輸入成績:”))If score >= 60 Then
If score >= 90 Then
Level = “優”
Else
If score >= 80 Then
Level = “良”
Else
If score >= 70 Then
Level = “中”
Else
Level = “及格”
End If
End If
End If
Else
Level = “不及格”
End If
Print Level
End Sub
第二篇:學生成績管理系統VB程序
登陸
登陸
Private Sub cmdLogin_Click()If txtUser.Text = “" Then
MsgBox(”請輸入用戶名!“)
txtUser.SetFocus Else Call openconn sql = ”select * from login where username='“ & Trim(txtUser.Text)& ”' and password='“ & Trim(txtPwd.Text)& ”'“ rs.Open sql, conn, adOpenDynamic, adLockOptimistic If rs.EOF Then
MsgBox ”用戶不存在!“
Else
Unload Me
frmMain.Show End If End If End Sub
退出
Private Sub cmdRegister_Click()Unload Me End Sub
功能選擇
選課管理
Private Sub cmdChoice_Click()frmChoice.Show Unload Me End Sub 退出
Private Sub cmdExit_Click()End End Sub 查詢
Private Sub cmdFind_Click()frmFind.Show Unload Me End Sub 成績管理
Private Sub cmdGrade_Click()frmGrade.Show Unload Me End Sub 學生管理
Private Sub cmdStu_Click()frmStu.Show Unload Me End Sub
學生管理
添加
Private Sub cmdAdd_Click()frmAddStu.Show Unload Me End Sub 刪除
Private Sub cmdDel_Click()rs.Delete MsgBox(”刪除成功!“)End Sub 編輯
Private Sub cmdEdit_Click()frmEditStu.Show Unload Me End Sub 查找
Private Sub cmdFind_Click()'查詢功能 If cboFind.Text = ”學號“ Then
If txtInput.Text = ”“ Then
MsgBox(”學號輸入不能為空!“)
txtInput.SetFocus
Else
Dim sql1 As String
Set rs1 = New ADODB.Recordset
sql1 = ”select * from stuInfo where ID='“ & txtInput.Text & ”'“
rs1.CursorLocation = adUseClient
rs1.Open sql1, conn, adOpenDynamic, adLockOptimistic, adCmdText
If rs.EOF Then
MsgBox(”查不到相關信息“)
txtInput.SetFocus
Else
Set DataGrid1.DataSource = rs1
DataGrid1.Refresh
End If
End If Else
If txtInput.Text = ”“ Then
MsgBox(”姓名輸入不能為空!“)
txtInput.SetFocus
Else
Dim sql2 As String
Set rs2 = New ADODB.Recordset
sql2 = ”select * from stuInfo where name='“ & txtInput.Text & ”'“
rs2.CursorLocation = adUseClient
rs2.Open sql2, conn, adOpenDynamic, adLockOptimistic, adCmdText
If rs.EOF Then
MsgBox(”查不到相關信息“)
txtInput.SetFocus
Else
Set DataGrid1.DataSource = rs2
DataGrid1.Refresh
End If
End If End If End Sub 返回
Private Sub cmdReturn_Click()frmMain.Show Unload Me End Sub 輸出窗口
Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
' txtInput.Text = DataGrid1.Columns.Item(4)''獲取選中行的第5列數據
End Sub 窗體
Private Sub Form_Load()
Dim sql As String
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
Call openconn
sql = ”select * from stuInfo“
rs.CursorLocation = adUseClient
rs.Open sql, conn, adOpenDynamic, adLockOptimistic, adCmdText
Set DataGrid1.DataSource = rs 'datagrid綁定數據源 End Sub
成績查詢
返回 Private Sub cmdReturn_Click()frmMain.Show Unload Me End Sub 確定
Private Sub Command1_Click()
lblGrade.Caption = Trim(cboCourse.Text)+ ”課程成績“
Dim sql1 As String
Set rs1 = New ADODB.Recordset
sql1 = ”select score.ID,score.Num,score.score from score, course where name='“ & cboCourse.Text & ”' and score.Num=course.Num“
'sql1 = ”select * from course“
rs1.CursorLocation = adUseClient
rs1.Open sql1, conn, adOpenDynamic, adLockOptimistic, adCmdText
Set DataGrid1.DataSource = rs1 End Sub 窗體
Private Sub Form_Load()
Dim sql As String
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
Call openconn
sql = ”select * from course“
rs.Open sql, conn, adOpenDynamic, adLockOptimistic
Do Until rs.EOF
cboCourse.AddItem rs(”name“)
rs.MoveNext
Loop End Sub
選課管理
返回
Private Sub cmdReturn_Click()frmMain.Show Unload Me End Sub 提交
Private Sub cmdSubmit_Click()If txtID = ”“ Then
MsgBox(”請輸入學號!“)
txtID.SetFocus ElseIf lstCourse.Text = ”“ Then
MsgBox(”請選擇課程!“)Else
Dim sql1 As String
Dim sql2, name As String
Set rs2 = New ADODB.Recordset
Set rs1 = New ADODB.Recordset
sql1 = ”select score.ID, score.Num from score , course where ID='“ & txtID.Text & ”' and name='“ & lstCourse.Text & ”' and score.Num=course.Num“
name = lstCourse.Text
sql2 = ”select Num from course where name='“ & name & ” '“
rs1.Open sql1, conn, adOpenDynamic, adLockOptimistic
rs2.Open sql2, conn, adOpenDynamic, adLockOptimistic
If rs1.EOF Then
rs1.AddNew
rs1(”ID“)= txtID.Text
rs1(”Num“)= rs2(”Num“)
rs1.Update
MsgBox(”選課成功!“)
rs1.Close
Else
MsgBox(”已選過該課!“)
End If End If End Sub 窗體
Private Sub Form_Load()
Dim sql As String
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
sql = ”select * from course“
Call openconn
rs.Open sql, conn, adOpenDynamic, adLockOptimistic
Do Until rs.EOF 'listbox控件利用循環讀取課程表中的課程名
lstCourse.AddItem rs(”name“)
rs.MoveNext
Loop End Sub
查詢
確定
Private Sub cmdOK_Click()If txtID = ”“ Then
MsgBox(”學號不能為空!“)
txtID.SetFocus Else
Dim sql As String
Dim sum1, sum2 As Single
Dim n As Integer
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
Call openconn
sql = ”select course.name , score.score , course.credit from score , course where score.ID='“ & txtID.Text & ”' and score.Num=course.Num“
rs.CursorLocation = adUseClient
rs.Open sql, conn, adOpenDynamic, adLockOptimistic, adCmdText
Set DataGrid1.DataSource = rs
sum1 = 0
sum2 = 0
n = 0
Do While Not rs.EOF
sum1 = sum1 + Val(rs(”score“))
sum2 = sum2 + Val(rs(”credit“))
n = n + 1
rs.MoveNext
Loop
lblAvg.Caption = Format(sum1 / n, ”0.0“)
lblCredit.Caption = sum2 End If End Sub 返回
Private Sub cmdReturn_Click()frmMain.Show Unload Me End Sub
修改學生信息
返回
Private Sub cmdReturn_Click()frmStu.Show Unload Me End Sub 提交
Private Sub cmdSubmit_Click()If txtID.Text = ”“ Then
MsgBox(”學號不能為空!“)
txtID.SetFocus ElseIf txtName.Text = ”“ Then
MsgBox(”姓名不能為空!“)
txtName.SetFocus ElseIf txtSex.Text = ”“ Then
MsgBox(”學分不能為空!“)
txtSex.SetFocus ElseIf txtAge.Text = ”“ Then
MsgBox(”年齡不能為空!“)
txtAge.SetFocus Else
Dim sql As String
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
Call openconn
sql = ”select * from stuInfo where ID='“ & txtID.Text & ”'“
rs.Open sql, conn, adOpenDynamic, adLockOptimistic
If Not rs.EOF Then
'判斷學號是否存在 rs(”name“)= txtName.Text
rs(”sex“)= txtSex.Text
rs(”age“)= txtAge.Text
rs(”pro“)= cboPro.Text
rs.Update
MsgBox(”修改成功!“)
Else
MsgBox(”學號不存在!“)
End If End If End Sub 窗體
Private Sub Form_Load()txtID = rs(”ID“)txtName = rs(”name“)txtSex = rs(”sex“)txtAge = rs(”age“)cboPro.Text = rs(”pro“)End Sub
添加學生
返回
Private Sub cmdReset_Click()frmStu.Show Unload Me End Sub 提交
Private Sub cmdSubmit_Click()If txtID.Text = ”“ Then
MsgBox(”學號不能為空!“)
txtID.SetFocus ElseIf txtName.Text = ”“ Then
MsgBox(”請輸入姓名!“)
txtName.SetFocus ElseIf txtSex.Text = ”“ Then
MsgBox(”請輸入性別!“)
txtSex.SetFocus ElseIf txtAge.Text = ”“ Then
MsgBox(”年齡不能為空!“)
txtAge.SetFocus Else
Dim sql As String
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
Call openconn
sql = ”select * from stuInfo where ID='“ & txtID.Text & ”'“
rs.Open sql, conn, adOpenDynamic, adLockOptimistic
If rs.EOF Then
'判斷學號是否存在 rs.AddNew
rs(”ID“)= txtID.Text
rs(”name“)= txtName.Text
rs(”sex“)= txtSex.Text
rs(”age“)= txtAge.Text
rs(”pro“)= cboPro.Text
rs.Update
MsgBox(”添加成功!“)
frmStu.Show
Unload Me
Else
MsgBox(”學號已存在!")
End If End If End Sub
第三篇:論文VB程序
《教務信息管理系統VB程序設計》的教學思路(2010年高職單招計算機專業技能測試題)
福安市民族職業中學———馮建鋒
摘要:針對2010年高職單招計算機專業技能測試題,結合我省高職單招VB程序設計教學考綱要求進行分析。針對我校學生實際情況寫出《教務信息管理系統VB程序設計》的教學思路(要求)
關鍵詞:信息管理系統,VB程序設計,教學思路 程序思路,需要完成一個教務信息管理系統。
1:完成頁面的設計。首先創建一個工程,工程中自動生成一個Form,也就是我們常說的頁面,并給這個頁面的名稱設置成Form1,用以區分系統中其他的頁面。通過編輯欄中的,Label工具,在頁面中間插入一段文字,為“教務管理系統”。因為完成一個教務管理系統,需要完成的內容有學生信息的錄入,學生信息的修改,學生信息刪除以及學生信息的查詢。于是在該頁面使用Button工具,放置四個按鈕并將四個按鈕的Caption分別設置成“學生錄入”,“學生修改”,“學生刪除”和“信息統計”。且名稱分別設置成Command1,Command2,Command3,Command4。依據程序要求我們可以知道,需要完成學生錄入,學生修改,學生刪除,和信息統計的各個功能,就必須存在有四個排版各不相同的頁面,來滿足各個功能的需求,于是在工程的樹形菜單下選擇窗體,再選擇新建窗體。重復操作四次,成功建立了四個Form。分別命名為Form2,Form3,Form4,Form5用來區分和其他的Form。上面提到過的設置了四個按鈕,作為按鈕則是拿來點擊的,而按照我們的思路,四個按鈕分別代表了要完成的四項功能,那么可以得出每點擊一個按鈕,就應該要彈出相對應的頁面來提供給用戶恰當的服務。于是雙擊按鈕,將自動生成代碼如下: Private Sub Command1_Click()····· End Sub 其中Command1是代表按鈕的名稱整個函數就是代表了某一個按鈕被點擊之后應該執行的內容。End表示此函數結束。那么就應該寫入對應的內容。完成之后的代碼如下: Private Sub Command1_Click()
Form2.Show End Sub Private Sub Command2_Click()
Form4.Show End Sub Private Sub Command3_Click()
Form3.Show End Sub Private Sub Command4_Click()Form5.Show End Sub 分別代表了不同的按鈕點擊之后不同的執行的位置。其中Form.Show則代表對于某一個頁面進行顯示的功能。以上第一段表示了點擊按鈕1顯示頁面2。其他意思同上就不贅述。這樣就完成了主頁面:
我們可以知道的是還需要完成四個功能,學生錄入,學生修改,學生刪除和信息統計。完成學生錄入的設計:使用工具欄中的Label,Text,和button以及Adodc進行頁面的設計。即可。完成頁面如下:。
其中Adodc原本工具欄中并沒有,需要添加控件。按ctrl+T或者在菜單“工程”-“組件”里選擇
Microsoft ADO Data Control 6.0(SP6)(OLEDB)選中之后,就可以在工具欄中選擇該控件進行拖拽。其中Adodc中基本連接方法: Adodc1.ConnectionString = “Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=” + App.Path + “hkmdckdb1.mdb”//字符串的連接。Adodc直接雙擊,可以在欄目中選定數據庫的路徑也就是Access文件的路徑。就會自動生成ConnectionString。本頁面的程序代碼如下:
Private Sub Command1_Click()//點擊按鈕觸發函數。
If Trim(Text1.Text)<> “" And Trim(Text2.Text)<> ”“ And Trim(Text3.Text)<> ”“ And Trim(Text4.Text)<> ”“ And Trim(Text5.Text)<> ”“ And Trim(Text6.Text)<> ”“ Then
Adodc1.RecordSource = ”select * from stuInfo“
Adodc1.Refresh
Adodc1.Recordset.AddNew
Adodc1.Recordset.Fields(”stuNo“)= Trim(Text1.Text)
Adodc1.Recordset.Fields(”stuName“)= Trim(Text2.Text)
Adodc1.Recordset.Fields(”sex“)= Trim(Text6.Text)
Adodc1.Recordset.Fields(”age“)= Trim(Text3.Text)
Adodc1.Recordset.Fields(”tel“)= Trim(Text4.Text)
Adodc1.Recordset.Fields(”score“)= Val(Trim(Text5.Text))
Adodc1.Recordset.Update
Adodc1.Recordset.Requery
Adodc1.Refresh
Text1.Text = ”“
Text2.Text = ”“
Text3.Text = ”“
Text4.Text = ”“
Text5.Text = ”“
Text6.Text = ”“
MsgBox ”添加成功“, vbOKOnly, ”系統提示“ Else: MsgBox ”信息未填寫完整“, vbOKOnly, ”系統提示“ End If End Sub
對于以上解析如下:對于這個頁面在業務上我們可以知道,需要點擊錄入按鈕,那么就將各個Text中的內容寫入數據庫中,那么在數據庫中就會生成一條記錄,也就是某一個學生的信息情況,那么就完成了學生信息的錄入。首先文件進行了一個IF判斷:
If Trim(Text1.Text)<> ”“ And Trim(Text2.Text)<> ”“ And Trim(Text3.Text)<> ”“ And Trim(Text4.Text)<> ”“ And Trim(Text5.Text)<> ”“ And Trim(Text6.Text)<> ”“ Then “中間內容先省略”
Else: MsgBox ”信息未填寫完整“, vbOKOnly, ”系統提示“ End If End Sub
如果Text1至Text6的內容不等于(<>代表不等于)空字符串。也就是各個內容都輸入了的。就執行省略的了中間內容。如果有一個為空,也就是信息未填寫全。就執行Else:中的內容 也就是MsgBox ”信息未填寫完整“, vbOKOnly, ”系統提示“。這個代表了彈出一個對話框,其中文字寫了“信息未填寫完整”,按鈕上面顯示 vbOKOnly。之后結束IF語句,并退出函數。現在對于省略部分的函數進行解析: Adodc1.RecordSource = ”select * from stuInfo“//從stuInfo表格中做一個查詢
Adodc1.Refresh
Adodc1.Recordset.AddNew//新增信息
//表格也就是提供的Access的數據庫中提供給了stuNo,stuName等字段名,以下就是在記錄集中將Text1中的字段寫入到stuNo的記錄集里,并以此類推,完成該記錄集的填充。
Adodc1.Recordset.Fields(”stuNo“)= Trim(Text1.Text)
Adodc1.Recordset.Fields(”stuName“)= Trim(Text2.Text)
Adodc1.Recordset.Fields(”sex“)= Trim(Text6.Text)
Adodc1.Recordset.Fields(”age“)= Trim(Text3.Text)
Adodc1.Recordset.Fields(”tel“)= Trim(Text4.Text)
Adodc1.Recordset.Fields(”score“)= Val(Trim(Text5.Text))
//到這里就成功的完成了記錄集的填寫
Adodc1.Recordset.Update//將字段更新到數據庫中
Adodc1.Recordset.Requery Adodc1.Refresh //將頁面中的Text的內容填寫為空
Text1.Text = ”“
Text2.Text = ”“
Text3.Text = ”“
Text4.Text = ”“
Text5.Text = ”“
Text6.Text = ”“ MsgBox ”添加成功“, vbOKOnly, ”系統提示“ //彈出方框,表示數據填寫成功。
到此數據全部填寫完成。并寫入數據庫。也完成了這個頁面的功能。之后的幾個頁面的內容類似。其中重點在于DataGrid和Adodc的綁定。對于DataGrid和Adodc的綁定在這里舉一個小小的例子如下: 1.ADODC1是數據庫連接部件
2.Datagrid1是顯示數據表中內容的表格
ADODC1需要設置它連接的是哪個數據表.(Adodc1.RecordSource = ”select * from 表名“)Datagrid1需要設置的是它的數據源來自ADODC1.(Set DataGrid1.DataSource = Adodc1)然后2個部件都要刷新!Refresh
Adodc1.ConnectionString = ”Provider=Microsoft.Jet.OLEDB.4.0;Data Source=“ & App.Path & ”1.mdb;Persist Security Info=False“ Adodc1.CommandType = adCmdText Adodc1.RecordSource = ”select * from table“ Adodc1.Refresh Set DataGrid1.DataSource = Adodc1 DataGrid1.Refresh
這個之后,Datagrid1就可以顯示1.mdb中table表的內容。
以下是本程序中修改頁面的代碼如下: Private Sub Command2_Click()
Dim str As String//定義str
Dim stuNo As String
Dim sql As String
stuNo = Text1.Text//獲得學號
If stuNo <> ”“ Then
Adodc1.Recordset.Filter = ”stuNo = '“ + stuNo + ”'“//通過學號機型查詢
str = Adodc1.Recordset.Fields(”sex“)
If str <> ”男“ Then//如果查詢出來的sex不等于男
Adodc1.Recordset.Fields(”sex“)= ”男“
Adodc1.Recordset.Update//將sex字段設置為男,并進行更新
Else
Adodc1.Recordset.Fields(”sex“)= ”女“
Adodc1.Recordset.Update//否則就將字段設置為女,并進行更新
End If
Else:
MsgBox ”學號未輸入“, vbOKOnly, ”系統信息“
End If
Adodc1.Recordset.Update//結束IF之后,更新一下Adodc
DataGrid1.Refresh//因為Adodc更新了,而DataGrid和Adodc進行了一次綁定,所以也需要對其進行更新。
End Sub
Private Sub Form_Load()//這個函數是頁面載入的時候執行的函數,因為頁面載入的時候本身就需要對表格的內容進行填充,將表格的內容填充為數據庫中的內容。所以進行頁面載入的時候,首先對DataGrid進行更新。
DataGrid1.Refresh End Sub
刪除的代碼和修改的代碼類似,其中的區別在于邏輯判斷的區別了最終執行的區別,一個是update一個則是delete。代碼如下: Private Sub Command2_Click()
Dim str As String
Dim stuNo As String
Dim sql As String
stuNo = Text1.Text
If stuNo <> ”“ Then//如果學號不為空,也就是該學生信息存在,也只有存在才可以刪除
Adodc1.Recordset.Filter = ”stuNo = '“ + stuNo + ”'“
Adodc1.Recordset.Delete//刪除操作
Else:
MsgBox ”學號未輸入“, vbOKOnly, ”系統信息“
End If
Adodc1.Recordset.Update//同更新類似不做贅述
DataGrid1.Refresh End Sub Private Sub Form_Load()DataGrid1.Refresh End Sub
最后是查詢的頁面,這個頁面稍稍有一點麻煩,因為對于其他頁面邏輯較為復雜。代碼如下: Private Sub Command1_Click()//點擊按鈕,執行一下函數
//對字符串進行定義
Dim stuNo As String
Dim StuName As String
Dim ScoreLow As Double
Dim ScoreHigh As Double
Dim sql As String
stuNo = Text1.Text
StuName = Text2.Text //因為查詢信息,是根據多個條件進行查詢的,在這里進行了一個定義,查詢條件主要有一下幾項,既是學生學號,學生姓名,學生成績,學生年齡,以及學生性別。
If stuNo <> ”“ Then//如果學號不為空,就將SQL語句變成之下的語句,用于查詢學生學號。
sql = ”select * from stuInfo where stuNo = '“ + Trim(stuNo)+ ”'“
End If
If StuName <> ”“ Then//如果姓名不為空,就將SQL語句變成之下的語句,用于查詢學生姓名。
sql = ”select * from stuInfo where stuName = '“ + Trim(StuName)+ ”'“
Text1.Text = ”“
End If
If Text3.Text <> ”“ And Text4.Text <> ”“ Then//這里是分數
ScoreLow = Text3.Text
ScoreHigh = Text4.Text
sql = ”select * from stuInfo where score >= “ + Trim$(ScoreLow)+ ” and score <= “ + Trim$(ScoreHigh)
Text1.Text = ”“
Text2.Text = ”“
End If
If Text5.Text <> ”“ And Text6.Text <> ”“ Then//年齡
sql = ”select * from stuInfo where age >= “ + Trim$(Text5.Text)+ ” and age <= “ + Trim$(Text6.Text)
End If
If Text7.Text <> ”“ Then//性別
sql = ”select * from stuInfo where sex = '“ + Trim$(Text7.Text)+ ”'“
End If
Adodc1.RecordSource = sql
Adodc1.Refresh//更新數據集
Label7.Caption = ”滿足條件的一共有 “ + Trim$(Adodc1.Recordset.RecordCount)+ ” 人"
DataGrid1.Refresh//更新顯示信息
End Sub
典型案例:2010屆我校計算機專業36名考生參加高職單招,80分以上達27人。其中羅幼鳳同學得滿分100分。被福建師大本科計算機網絡專業錄取。
心得體會:
請按以上要求補充審改。而后發表。
第四篇:VB學生成績管理系統任務書
河北聯合大學
《軟件設計基礎-VB》課程設計任務書
學院班級設計人成績
一、題目:學生成績管理系統
二、目的與要求:
1.目的:
培養學生綜合利用VisualBasic6.0語言進行程序設計的能力,主要培養學生使用ACCESS數據庫和ADO控件設計信息管理類軟件。
2.基本要求:
① 要求用ACCESS搭建數據庫。
② 使用ADO控件實現與數據庫的連接。
③ 使用MSChart圖表控件繪制各種類型的圖表;使用MSFlexGrid表格控件顯示數據信息。④ 程序界面美觀,運行無差錯
3.創新要求:
在基本要求達到后,進行創新設計:
(1)允許更改密碼。
(2)增加排名次的功能。
(3)可以按院系、專業和年級計算平均成績并繪制圖表。
(4)用戶可以添加新的院系和專業名稱。
三、設計方法和基本原理:
1.功能要求:
設計一個“學生成績管理系統”程序,實現對學生成績的添加、修改、刪除、查詢和圖表繪制,具體如下:
(1)運行程序先進入“登錄”界面,要求輸入數據庫密碼,如果密碼錯誤,給出提示。
(2)經過密碼檢驗后,顯示主界面,以表格形式顯示數據庫中所有學生的成績信息。
(3)“添加”:其中院系、專業和年級使用組合框進行選擇。
(4)“修改”:只允許修改學生成績,不允許修改姓名、院系、專業和年級。
(5)“刪除”:可以刪除學生信息,刪除前進行確認。
(6)“查詢”:可以根據院系、專業和年級進行查詢。
(7)“圖表繪制”:分別以二維條形圖、二維圓餅圖和三維條形圖的形式顯示學生成績中優、良、中、及格和不及格的分布情況。
2.問題的解決方案:
40-1
根據問題描述,可以將問題解決分為以下幾個方面:
① 進行需求分析確定數據庫的結構,建立相應的數據表。
② 利用ADO控件與數據庫連接。
③ 設計主界面,要求有菜單、工具欄和狀態欄,具體內容按功能要求自行設計。
④ 其他界面自行設計,滿足基本功能要求即可。
四、難點與提示:
(1)本題目中數據庫文件的設計是關鍵,可按如下方法:
創建一個數據庫文件scores.mdb,包含三個數據表:院系、專業和成績。“院系”表中保存院系代號和名稱;“專業”表中保存專業代號和名稱,以及所屬院系的代號;“成績”表中保存學生姓名、院系代號、專業代號、年級和各科成績。
(2)ADO控件和數據庫的連接代碼:
provider = “provider=Microsoft.jet.oledb.4.0”
datasource = “data source=” & App.Path & “scores.mdb”
With Adodc1
.Mode = adModeReadWrite
.ConnectionString = provider & “;” & datasource
.CommandType = adCmdTable
.RecordSource = “yx”
.Refresh
End With
五、課程設計時間:2012年5月10日至2012年7月1日
六、課程設計進行地點:學校機房
七、書寫設計報告的要求:
設計報告中包含以下幾個方面:
1.設計題目
2.設計思路
①劃分功能模塊
②確定各模塊的算法
3.用圖示的方式給出過程或函數之間的調用關系
4.列出程序清單,并加以必要的注釋
5.對該設計題目有何更完善的方案
6.通過本次設計,有何收獲及心得體會
八、課程設計的考核方式及評分方法
40-2
1.考核方式
課程設計結束時,學生要提交課程設計報告(A4紙打印),并將電子文檔和源程序上傳至課程設計服務器中:
ftp://210.31.197.23
找到自已指導教師的文件夾后,進入班級文件夾,再找到自己的文件夾,然后將文檔復制到該文件夾中即可。
2.評分方法
(1)出勤率
(2)課程設計準備工作
(3)課程設計期間紀律
(4)課程設計運行結果
(5)課程設計報告
(6)答辯情況
指導教師: 系主任簽字:日期:40-3 年月日
第五篇:Vb課程設計-期末成績處理
期末成績處理課程設計報告(VB)編號:28
期末成績處理設計報告
一、設計思路
1.要達到的目的
①培養學生綜合利用VB語言進行程序設計的能力,主要是通過使用VB的標準控件,加深對控件的多個屬性的認識及如何使用屬性進行程序設計
2.關鍵問題的解決
① 設計一個具有兩個窗口的期末成績統計的小程序 ②其中第一個窗口完成:
學生人數和4門課成績的錄入,4門課的名稱及學生人數由用戶輸入。每錄入完一個學生成績后,將各門課成績寫入Excel表格中。
打開Excel表格查看寫入的數據是否
② 第二個窗口用來繪制描述各科目平均成績的柱形圖,界面中還應包含坐標系、圖表名稱、各科成績的平均分值、課程名稱及色塊
③ 對窗口1的4個文本框要求:在輸入成績之前,焦點要在第一個文本框中,且文本為可編輯狀態;當第一個文本框中輸入2位數據后,焦點自動移入下一個文本框中,且文本狀態和第一個相同 文本框中只允許輸入數字0、1、2、3、4、5、6、7、8、9及小數點“.”;文本框中文本的位數最大為2位 輸入學生成績時窗口上要提示輸入的是第幾個學生成績,并要求輸入最后一個學生成績后“寫入數組”控件隱藏
④ 全部學生成績輸入完成后,單擊“寫入Excel文件”控件,把學生成績全部放在Excel表格中,要求有字段名內容。
⑤ 單擊“打開Excel文件”控件,將打開剛剛生成的Excel表。
⑥ 單擊“繪制柱形圖”控件,打開第二個窗口,并顯示以課程平均分為依據的柱狀圖。
⑦ 要想結束程序,應單擊“退出”按鈕。
三、部分程序關鍵源代碼及注釋
Private Sub Command2_Click()'★創建EXCEL對象
Set XlApp = CreateObject(“Excel.Application”)'★打開已經存在的EXCEL工件簿文件
Set XlBook = XlApp.Workbooks.Open(App.Path & “book.xls”)'★設置EXCEL對象可見(或不可見)'XlApp.Visible = True '★設置活動工作表, sheet1表示表名,可以使用字符型變量代替。Set XlSheet = XlBook.Worksheets(“Sheet1”)XlSheet.Range(“A1:IV65536”).Clear '★給EXCEL對象中的表的單元格附值? '★保存 EXCEL 文件 XlBook.Save '★另存為
'XlBook.SaveAs(“文件名”)
期末成績處理課程設計報告(VB)編號:28
'★關閉工作簿
XlBook.Close(True)'★結束 EXCEL 對象 'xlExcel.Quit '★釋放xlApp對象 Set XlApp = Nothing MsgBox “寫入Excle成功” End Sub Private Sub Command3_Click()'★創建EXCEL對象
Set XlApp = CreateObject(“Excel.Application”)'★打開已經存在的EXCEL工件簿文件
Set XlBook = XlApp.Workbooks.Open(App.Path & “book.xls”)'★設置EXCEL對象可見(或不可見)XlApp.Visible = True End Sub
四、設計方案的完善及目前存在的問題
1.設計方案要完善的地方 ① 操作有點繁瑣 2.目前存在的問題
① 開始時出現錯誤,但不影響使用
五、本次設計的收獲及心得體會
加強了對VB的理解,讓我更加明白VB的實際作用。
六、對該題目和VB設計的意見和建議
1.對該題目的意見和建議
不要單個輸入,應該直接輸入多個同學的成績。2.對本次設計的意見和建議 難度應該降低點。