第一篇:VB程序设计说明(写写帮整理)
选题介绍及意义,程序模块及功能,程序流程图,程序源码及注释,程序的后续完善及存在问题,设计程序的心得体会 一.选题说明及意义
用VB实现备忘录的基本功能,包括记事本,屏幕抓图,数字时钟和日历等功能,利用VB中的诸多控件,例如PictureBox,Label,CommendButton,Timer,CommendDialog,RichTextBox等,完成VB程序的诸多功能的实现,创建功能较为完善的记事本,并具有一定辅助功能,对于利用此软件的人能够具有一定的便利。二.程序模块及功能实现流程图
三.部分程序代码 1.屏幕截图部分
Private Declare Function GetDC Lib “user32”(ByVal hwnd As Long)As Long Private Declare Function StretchBlt Lib “gdi32”(ByVal hdc As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal dwRop As Long)As Long
Private Sub Command1_Click()Dim wScreen As Long Dim hScreen As Long Dim w As Long Dim h As Long Picture1.Cls wScreen = Screen.Width Screen.TwipsPerPixelX hScreen = Screen.Height Screen.TwipsPerPixelY ‘定义截屏的长度和宽度等于屏幕实际长宽 Picture1.ScaleMode = vbPixels w = Picture1.ScaleWidth h = Picture1.ScaleHeight hdcScreen = GetDC(0)r = StretchBlt(Picture1.hdc, 0, 0, w, h, hdcScreen, 0, 0, wScreen, hScreen, vbSrcCopy)‘StretchBlt,函数名。该函数从源矩形中复制一个位图到目标矩形,必要时按目标设备设置的模式进行图像的拉伸或压缩。
End Sub
Private Sub Command2_Click()‘另存为按键代码 Me.Picture = Me.Image CommonDialog1.Filter = “BMP文件(*.bmp)|*.bmp|JPG文件(*.jpg)|*.jpg” CommonDialog1.ShowSave CommonDialog1.Flags = &H2 + &H4 + &H8 ‘&H2使用长文件名 &H4 隐藏只读复选框。
&H8强制对话框将对话框打开时的目录置成当前目录
If CommonDialog1.FileName <> “" Then SavePicture Me.Picture, CommonDialog1.FileName End If End Sub
Private Sub Command3_Click()‘退出按键代码 Form3.Hide form6.Show End Sub 2.登陆部分
Option Explicit Dim Npass As Integer
Private Sub Command1_Click()If username.Text = ”111“ And password.Text = ”111“ And Npass < 3 Then Form5.Hide Form2.Show Else Npass = Npass + 1 If Npass = 3 Then MsgBox ”你没有机会了“ End Else MsgBox ”密码第“ & Npass & ”错误!请再试一次.“, 0, ”密码输入错误“ password.Text = ”“ ' password.SetFocus End If End If End Sub
Private Sub Command2_Click()username.Text = ”“ password.Text = ”“ End Sub 3.日记本部分代码
Dim sfind As String Dim FileType, FiType As String Private Sub copy_Click()‘复制按键 Clipboard.Clear On Error Resume Next Clipboard.SetText TxtDemo.SelText End Sub
Private Sub date_Click()‘日期按键 Text1.SelText = Now End Sub
Private Sub delete_Click()‘删除按键 RichTextBox1.SelText = ”“ End Sub
Private Sub edits_Click()‘编辑按键 RichTextBox1.SetFocus End Sub
Private Sub exit_Click()‘退出按键 Form2.Hide Form1.Show End Sub
Private Sub find_Click()‘查找按键 Dim sfind As Integer sfind = InputBox(”请输入要查找的词:“, ”查找内容“, sfind)RichTextBox1.find sfind If RichTextBox1.SelText <> sfind Then MsgBox ”找不到要查询的内容“, , ”查询结果报告“ End If End Sub Private Sub Form_Load()Me.Height = 6000 Me.Width = 9000
On Error Resume Next '出错处理 RichTextBox1.Top = 20 RichTextBox1.Left = 20 RichTextBox1.Height = ScaleHeight40 End Sub
Private Sub new_Click(Index As Integer)‘新建按键 RichTextBox1.Text = ”“ '清空文本框 FileName = ”未命名“ Me.Caption = FileName End Sub
Private Sub open_Click()‘打开部分
CommonDialog1.Filter = ”文本文档(*.txt)|*.txt|RTF文档(*.rtf)|*.rtf|所有文件(*.*)|*.*“ CommonDialog1.ShowOpen RichTextBox1.Text = ”“ '清空文本框 FileName = CommonDialog1.FileName RichTextBox1.LoadFile FileName Me.Caption = ”记事本:“ & FileName End Sub
Private Sub paste_Click()Clipboard.Clear On Error Resume Next Clipboard.SetText RichTextBox1.SelText RichTextBox1.SelText = ”“ End Sub
Private Sub riji_Click()‘帮助日记部分 MsgBox ”日记Ver1.0版权所有(C)网络“, vbOKOnly, ”关于“
End Sub
Private Sub save_Click()‘保存文件部分 CommonDialog1.Filter = ”文本文档(*.txt)|*.txt|RTF文档(*.rtf)|*.rtf|所有文件(*.*)|*.*“ CommonDialog1.ShowSave FileType = CommonDialog1.FileTitle FiType = LCase(Right(FileType, 3))FileName = CommonDialog1.FileName Select Case FiType Case ”txt“ RichTextBox1.SaveFile FileName, rtfText Case ”rtf“ RichTextBox1.SaveFile FileName, rtfRTF Case ”*.*“ RichTextBox1.SaveFile FileName End Select Me.Caption = ”记事本:“ & FileName End Sub
Private Sub selectall_Click()‘全选部分 RichTextBox1.SelStart = 0 RichTextBox1.SelLength = Len(RichTextBox1.Text)End Sub
Private Sub tie_Click()‘剪切部分 On Error Resume Next RichTextBox1.SelText = Clipboard.GetText RichTextBox1.SelText = ”" End Sub 4.数字时钟部分代码
Private LastMinute As Integer Private LastHour As Integer Private Lastx As Integer Private Lasty As Integer
Private Sub Form_Load()Lastx = 999 End Sub
Private Sub Timer1_Timer()Const pi = 3.141592653 ‘定义圆周率 Dim T Dim X As Integer Dim Y As Integer T = Now SEC = Second(T)Min = Minute(T)HR = Hour(T)frmClock.Scale(-16, 16)-(16,-16)If Min <> lastMin Or HR <> LastHour Then LastMinute = Min LastHour = HR frmClock.Cls Lastx = 999 frmClock.DrawWidth = 2 frmClock.DrawMode = 13 h = HR + pi / 60 X = 5 * Sin(h * pi / 6)Y = 5 * Cos(h * pi / 6)frmClock.Line(0, 0)-(X, Y)X = 8 * Sin(Min * pi / 30)Y = 8 * Cos(Min * pi / 30)frmClock.Line(0, 0)-(X, Y)frmClock.DrawWidth = 1 End If frmClock.DrawMode = 10 RED = RGB(255, 0, 0)X = 10 * Sin(SEC * pi / 30)Y = 10 * Cos(SEC * pi / 30)If Lastx <> 999 Then frmClock.Line(0, 0)-(Lastx, Lasty), RED End If frmClock.Line(0, 0)-(X, Y), RED Lastx = X Lasty = Y End Sub
Private Sub NoUse_Click()Unload Me End Sub 四.程序后续完善及存在问题
目前程序功能较为简单,对于备忘录部分只能实现简单的文字输入和截屏,日历,数字时钟的功能,在以后陆续的开发中会实现更多更复杂的功能,例如定时提醒,连接数据库,Excel表格等功能,程序在设计之初与最后成品稍有 不同,对于程序设计中部分功能未能实现,十分遗憾,在以后的学习中会加强程序设计部分知识,逐渐完善程序功能。五.设计程序的心得体会
通过此次程序设计,我对于VB程序语言和VB各类控件有了更深入的了解,对于综合VB各项函数等也有了更深入的学习,完成一个综合的作品对于学习编程语言来说是进阶必不可少的一部分,通过完成自己的作品也激发了我的创造思维和创作能力。在以后的学习中,我也会继续学习和深入了解编程语言,为更好的做学术研究打基础。
第二篇:论文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成绩判断程序
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 教学目标及要求:
知识目标:了解什么是程序设计语言和计算机程序以及语言的分类; 能力目标:培养学生的阅读总结和自主探索能力;
情感态度与价值观:通过学生利用所学的知识解决实际问题,激发学生的学习兴趣。教学重难点:
1.了解什么是程序设计语言。2.启发学生创新思维要求:
3.以任务为驱动,激发学生创新思维
教法及学法:讲授法谈话法讨论法、任务驱动和分组合作相结合 教学过程:
创设情境,导入新课:
教师运行游戏小程序,引起学生的兴趣,并打开程序的源代码说明编程并不很神秘。
试运行游戏小程序,激发学生的学习兴趣。教师讲授: 程序设计语言
教师活动:语言是人类交流思想、沟通感情最重要的工具。那么语言不通的人如何交流呢? 学生活动:请一个语言翻译或自己学会他人的语言 教师活动:计算机所做的事情均为人向机器下达的命令,那么操作者又是通过什么语言同计算机进行沟通的呢?
程序设计语言的分类及特点(1)、机器语言
教师活动:①计算机能听懂的语言(机器语言)②机器语言的实质(二进制语言)③二进制语言的特点。强调计算机内部只认识二进制 学生活动:谈对二进制语言的感受
教师小结:机器语言的特点(二进制、计算机直接能懂、难以理解,与人类语言差距较大)(2)汇编语言:用助记符表示面向机器的程序设计语言。使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言。适合编写直接控制机器操作的程序,不容易使用。(3)、高级语言
高级语言最接近人的自然语言,即简单易学,它所编制的程序计算机执行时需要“翻译”,执行速度比二进制程序慢。计算机程序
教师提出问题一:什么是程序?
日常所说的“程序”是指事情的先后顺序。问题二:什么是计算机程序?
教师展示游戏程序部分的源代码语句,学生观察游戏程序的源代码。思考什么是计算机程序?
计算机程序是用程序设计语言编写好的一组指令,用来指示计算机的每一步动作。VB程序设计语言:
1、VB简介:
vb是Visual Basic的简称,是由美国微软公司于1991年开发的一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发 Windows 环境下的各类应用程序。它简单易学、效率高,且功能强大。
2、认识VB窗口:
教师活动:打开准备好的VB程序----世博口号.exe 学生活动:新建标准工程进入VB环境
教师活动:指认VB环境中菜单栏、工具栏、工具箱、属性窗口、窗体、控件等的位置。工具箱:许多用于程序设计的控件 窗体编辑器:设计应用程序界面
工程资源管理器:帮助用户管理工程中的每一个文件 属性窗口:设置对象的特征
3、相关概念: ①对象的概念 教师活动:讲解所谓“对象”就是个可操作实体如窗体、窗体中命令按钮、标签、文本框等。② 控件的概念
教师活动:讲解控件的概念。(窗体界面中可供用户操作的元素)学生活动:认识范例窗体中有哪些是控件 教师活动:在工具栏中指认相应控件 学生活动:向窗体中添加相应控件 ③ 属性的概念
教师活动:讲解属性的概念。(控件的内部和外部特征)学生活动:尝试在属性窗口中找到某控件的相应属性 ④ 事件和代码的概念
师生活动:运行程序---点击按钮---请学生观察窗体变化
师生活动:结束运行状态---双击按钮进入代码窗口:观察点击按钮程序发生变化的原因(代码)---学生观察、教师讲解(代码改变控件属性方法:控件名.属性名=属性值)---学生尝试用此方式改变窗体中其他控件的属性(如Label1.Caption=”better city,better life”)教师演示:
1、教师演示设计运行程序“奔跑的小汽车”,学生认真观察。
2、教师将素材发送到学生机,布置任务: 依照教师演示编写程序“奔跑的小汽车”。学生体验:
1、学生编写程序“奔跑的小汽车”,教师巡回指导。
2、试修改程序,让汽车倒车、速度变慢。
五、教学评价:
1、教师点评 教师通过巡视,把部分学生修改的结果进行点评,指出典型的错误。
2、学生进行自评: 评价内容描述
对我的学习
满意 还可以
还需 努力
了解程序设计语言和计算机程序
初步认识VB窗口的组成和工作环境
对程序设计学习的兴趣
六、课后小结:
这节课,我们体验了用VB设计程序,了解程序有关知识。(回顾本节知识)希望同学们继续努力。