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