社区
VB基础类
帖子详情
VB中text控件的visible属性和setfocus方法出现矛盾,怎么办
crazymanonly
2012-03-21 05:11:13
把text控件的visible属性设置成false
也就是让它看不见
然后再写 text1.setfocus
运行时候就会报错
怎么办
我又想让界面上有个文本框接收我输入的信息
又想不被人看见 把这个文本框隐藏起来
又要让这个文本框永远setfocus
怎么办啊
...全文
282
11
打赏
收藏
VB中text控件的visible属性和setfocus方法出现矛盾,怎么办
把text控件的visible属性设置成false 也就是让它看不见 然后再写 text1.setfocus 运行时候就会报错 怎么办 我又想让界面上有个文本框接收我输入的信息 又想不被人看见 把这个文本框隐藏起来 又要让这个文本框永远setfocus 怎么办啊
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lihonkui
2012-03-26
打赏
举报
回复
xz c
王二.麻子
2012-03-26
打赏
举报
回复
textbox都可以不要的.
把窗体的keypreview属性设置为true,这样即使窗体上没有任何可以输入焦点控件,甚至根本就没有控件,这个时候窗体的key相关事件(keypress,keydown,keyup)都会触发.
程晨c
2012-03-26
打赏
举报
回复
不要用文本框,用键盘事件!
舉杯邀明月
2012-03-23
打赏
举报
回复
你那个 TextBox 只要一个小框框就行了。
画到窗体内后,在属性列表中把它的 Top 属性设置成负的,一劳永逸。
比如你画的 Text1 的Height = 375, 把 Top 改成-500、-1000等。
worldy
2012-03-23
打赏
举报
回复
if text1.visible then
text1.setfocus
end if
MMNStar
2012-03-23
打赏
举报
回复
[Quote=引用 3 楼 dopodw 的回复:]
正如楼上所说,setfocuse只对可见控件有效,要想达到目的,首先不能用visible=false,
FORM_LOAD事件中,将Text1.Top = Screen.Height + 500,这样就看不到text1了
并且还可以接受setfocuse
[/Quote]
如上方法的话,用户可能在拖窗体大小时候会看到
建议在Form_Resize事件添加如上代码
无·法
2012-03-22
打赏
举报
回复
其实你可以用窗体的keypress事件来接收用户输入的信息
crazymanonly
2012-03-22
打赏
举报
回复
好的 我试一下
dopodw
2012-03-21
打赏
举报
回复
正如楼上所说,setfocuse只对可见控件有效,要想达到目的,首先不能用visible=false,
FORM_LOAD事件中,将Text1.Top = Screen.Height + 500,这样就看不到text1了
并且还可以接受setfocuse
贝隆
2012-03-21
打赏
举报
回复
Setfocus只能对可见的控件有效。
ttsffgg
2012-03-21
打赏
举报
回复
把它放到显示区域外的地方
比如 text1.move -100,-100
VB
6 系统托盘
控件
VB
6.0将窗体最小化到系统托盘区
控件
法,才是最适合最方便的。使用已被微软封装好的
控件
:csystray1(名称可自定)。 可直接使用 SysTray.ocx
控件
。也可用
VB
打开工程,做必要的话可作些改进(如更换图标、添加功能等),然后编译成ocx
控件
,可以随意命名。 注册
控件
方法
: 32位系统的
方法
, 将ocx文件复制到c:\windows\system32下面, 运行命令regsvr32.exe Systray.ocx win7 64位系统的
方法
: 将ocx文件复制到c:\windows\syswow64下面, 运行命令c:\windows\syswow64\regsvr32.exe Systray.ocx 即可.
vb
中
添加
控件
----------------------------------------------------------------------------------------------------------
控件
的
属性
和事件浅析: 该
控件
的InTray
属性
是用来设置是否显示在托盘
中
,True为显示在托盘,False为不显示; 该
控件
的TrayIcon
属性
是在托盘
中
显示的图标式样; 该
控件
的TrayTip
属性
是鼠标移动到该
控件
上面时,显示的提示文字; 该
控件
的重要事件是几个我们常用的鼠标事件:按下、放开、移动、双击,编程时就是利用这些事件达到在任务栏
中
控制程序的目的。 ------------------------------------------------------------------------------------------------------- 源代码如下: '使程序最小化时显示到系统托盘 Private Sub Form_Resize() If Me.WindowState = 1 Then '如程序为最小化则—— cSysTray1.InTray = True '隐藏到任务栏 Me.
Visible
= False '让程序界面不可见 End If End Sub '点击托盘图标后,让程序窗体显示出来 Private Sub CsysTray1_MouseDown(Button As Integer, Id As Long) Me.WindowState = 0 '程序回复到Normal状态 Me.
Visible
= True '从任务栏
中
清除图标 cSysTray1.InTray = False '令程序界面可见 Me.
set
focus
End Sub
托盘图标
控件
用法(
VB
SYSTRAY.OCX)
SysTray
控件
用法详解
VB
SYSTRAY 托盘图标 用
VB
6自带的systray.ocx
控件
实现托盘图标程序 : 补充: 然后在自己的
VB
程序
中
添加改
控件
(工程-部件-浏览)。 最好把这个ocx放到C:\WINDOWS\system32。 改
控件
的
属性
InTray
属性
用来设置是否显示在托盘
中
,True为显示在托盘,False为不显示。TrayIcon
属性
是在托盘
中
显示的图标式样。TrayTip
属性
是鼠标移到改
控件
上面显示的提示文字。如果要使程序最小化时显示到托盘,如下: Private Sub Form_Resize() If Me.WindowState =
vb
Minimized Then cSysTray1.InTray = True Me.
Visible
= False End If End Sub 点击托盘图标后让程序显示出来,如下: Private Sub cSysTray1_MouseDown(Button As Integer, Id As Long) Me.WindowState =
vb
Normal Me.
Visible
= True cSysTray1.InTray = False Me.
Set
Focus
End Sub '单击关闭不退出程序 Private Sub Form_Unload(Cancel As Integer) 主程序.Hide Cancel = False End Sub '单击关闭不退出程序 Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) Cancel = 1 主程序.Hide End Sub ’tui为窗体菜单-退出选项名称 Private Sub tui_Click()’快捷键设ALT+F1 End End Sub '注:"主程序"代表一个窗体(Form),窗体菜单-退出选项需设置快捷键ALT+F1 '这个
控件
有一个小小的问题,如果托盘菜单有退出选项,不能直接用"End 语句",否则在编译后运行期间用户选择退出后,操作系统会报错,以上使用发送按键
方法
避免出错 ,当然还有其他避免出错
方法
。
VB
程序设计复习题(归类).doc
《
VB
程序设计》综合复习资料 一、填空题:(第一章 Visual Basic程序设计概述) 1、Visual Basic是一种面向_对象_的可视化程序设计语言,采取了__事件驱动__的编程机制。 2、在
VB
中
工程文件的扩展名是_
Vb
p ,窗体文件的扩展名是frm _,标准模块文件的扩展名是_ bas _。 3、执行"工程"菜单下的部件命令,可选择并添加ActiveX
控件
。 4、Visual Basic 6.0用于开发_ WINDOWS环境下的应用程序。 第二章 简单的
VB
程序设计1、设置是否可以用Tab键来选取命令按钮,应该用_ Tabstop ___
属性
。 2、一个
控件
在窗体的位置由__ Left ___和_ top ___
属性
决定,其大小由__ height _和_ width _
属性
决定。 3、利用对象的
属性
set
focus
可获得焦点,对于一个对象,只有其
visible
属性
和_ enabled __
属性
为true,才能接受焦点。 4、设置
控件
背景颜色的
属性
名称是_ backcolor __。 5、所有
控件
都具有的共同
属性
是__ name __
属性
。 6、一般情况下,
控件
有两个属
vb
学生成绩管理系统
课程设计题目 学生成绩管理系统 课程设计的目的 理解面向对象的软件设计基本理论,学习
VB
软件设计的基本
方法
,熟悉一般软件项目开发的基本步骤,培养运用
VB
解决实际问题的能力和技巧。 课程设计的主要内容和要求(包括原始数据、技术参数、设计要求、工作量要求等) 四、工作进度安排 2011-2012学年第19周。 五、主要参考文献 Visual Basic程序设计教程 审核批准意见 系主任(签字) 年 月 日 指导教师评语及成绩 指 导 教 师 评 语 成 绩 导师签字: 年 月 日 设计思路及其创建过程 一、任务概述 简易学生成绩管理系统主要完成学生成绩的管理,包括: 1)、添加信息模块:主要完成学生记录、课程记录、学生成绩和用户记录的添加工作。 2)、删除信息模块:主要完成学生记录、课程记录、学生成绩和用户记录的删除工作。 3)、修改成绩模块:主要完成学生成绩的修改工作。 4)、查询模块:主要完成学生成绩的查询工作。 1.进行数据库设计 要编写一个实用的数据库程序,必须系统地学习过数据库原理的知识,并首先设计出符合用户业务需求的数据库体系,然后才能利用某种语言,开发出针对这个数据库的交互程序:数据库应用程序。 2. 程序的主要功能 利用SQL语句完成对学生成绩表的插入、修改、删除和查询操作。比如: (1)插入记录: Insert Into 学生成绩表(学号,课程号,成绩) Values(‘001’,’001’,85) (2)删除记录 Delete From 学生成绩表 Where 学号=‘001’ And 课程号=‘001’ (3)修改记录 Update 学生成绩表
set
成绩 =90 Where 学号=‘001’ And 课程号=‘001’ (4)按学号查询 Select * From 学生成绩表 Where 学号=‘001’ 二、界面设计 1.创建工程 新建一“标准EXE”工程.工程名为“成绩查询”. 2.创建主窗体(frmMain)-MDI主窗体 设计菜单: 增加 删除 修改 查询 退出 增加学生记录 删除学生记录 修改成绩 增加课程记录 删除课程记录 增加成绩 删除成绩记录 增加用户 删除用户 3.创建新增学生记录窗体(frmAddStudent)-MDI子窗体 4、建新增课程记录窗体(frmAddCourse)-MDI子窗体 5.创建新增成绩记录窗体(frmAddGrade)-MDI子窗体 6.创建新增用户记录窗体(frmAddUser)-MDI子窗体 7. 创建修改记录窗体( frmUpdate )-MDI子窗体 8.创建删除学生记录窗体(frmDeleteStudent)-MDI子窗体 9.创建删除课程记录窗体(frmDeleteCourse)-MDI子窗体 10.创建删除成绩记录窗体(frmDeleteGrade)-MDI子窗体 11.创建删除用户窗体(frmDelete)-MDI子窗体 12.创建查询记录窗体(frmQuery)-MDI子窗体 13.创建身份验证窗体-MDI子窗体 1.3 代码设计 1. 连接数据库代码 步骤: (1)通过“工程—引用”菜单添加对象库: Microsoft Activex Data Objects 2.7 Library (Ado数据对象)。 (2)通过工程菜单添加一个标准模块(Module),并设计代码。 (3) 通过“工程—工程1
属性
”菜单,将主窗体(frmMain)MDIform1设置为启动对象。 添加标准模块代码: '声明全局对象变量ABOcn,用于创建于数据库的连接 Public ADOcn As New ADODB.Connection 添加主窗体初始化过程代码: Private Sub MDIForm_Initialize() ADOcn.ConnectionString = "Provider=SQLOLEDB.1;Password=;User ID=sa;Initial Catalog=成绩;Data Source= localhost;" If ADOcn.State = adStateClosed Then ADOcn.Open '打开到数据库的连接 End Sub 完成本项工作后,就创建了一个全局变量ADOcn,但它是一个特殊的变量,其数据类型是数据连接对象(Connection对象)。可以把ADDcn理解成是一个虚拟的数据库。或者称为
VB
程序
中
的逻辑数据库,通过它可以非常方便地访问其
中
的数据。换句话说,ADOcn是
VB
程序的后台数据库交互的通道。 2.设置窗体间的调用关系 2.设置窗体间的调用关系 ’调用增加课程窗体 Private Sub AddCourse_Click(Index As Integer) frmAddCourse.Show End Sub ’调用增加成绩窗体 Private Sub AddGrade_Click(Index As Integer) FrmAdd.Show End Sub ’调用增加学生窗体 Private Sub AddStudent_Click(Index As Integer) FrmAddStudent.Show End Sub ’调用增加用户窗体 Private Sub AddUser_Click() FrmAddUser.Show End Sub ’调用删除课程窗体 Private Sub DeleteCourse_Click() frmDeleteCourse.Show End Sub ’调用删除成绩窗体 Private Sub DeleteGrade_Click() frmDelete.Show End Sub ’调用删除学生窗体 Private Sub DeleteStudent_Click() frmDeleteStudent.Show End Sub ’调用删除用户窗体 Private Sub DeleteUser_Click() frmDeleteUser.Show End Sub ’调用学生基本信息查询窗体 Private Sub Querystudent_Click() frmQuerystudent.Show End Sub ’调用学生成绩查询窗体 Private Sub QueryGrade_Click() frmQueryGrade.Show End Sub’调用修改成绩窗体 Private Sub Update_Click() FrmUpdate.Show End Sub 调用退出程序 Private Sub Exit_Click() End End Sub 3.frmAddStudent (增加学生)窗体的代码设计: Private Sub Command1_Click() Dim ADOrs As New Record
set
'声明一个记录集对象 Dim strSQL As String ADOrs.ActiveConnection = ADOcn '与ADOcn连接对象关联 If
Text
1.
Text
= "" Then MsgBox "未输入学号,请重新输入数据!",
vb
Critical +
vb
OKOnly
Text
1.
Set
Focus
'定位光标 Exit Sub End If If
Text
2.
Text
= "" Then MsgBox "未输入姓名,请重新输入数据!",
vb
Critical +
vb
OKOnly
Text
2.
Set
Focus
'定位光标 Exit Sub End If '首先查询表
中
是否存在关键字相同的记录 strSQL = "select * from 学生情况表" strSQL = strSQL & " Where 学号='" +
Text
1.
Text
+ " '" strSQL = strSQL & " and 姓名='" +
Text
2.
Text
+ "'" ADOrs.Open strSQL '如果关键字重复,则退出 If Not ADOrs.EOF Then MsgBox "该记录已经存在,不能继续增加",
vb
Critical +
vb
OKOnly Exit Sub End If '拼写Insert插入语句 strSQL = "Insert Into 学生情况表(学号,姓名)" strSQL = strSQL + " Values('" +
Text
1.
Text
+ "'," strSQL = strSQL + "'" +
Text
2.
Text
+ "'" + ")" ADOcn.Execute strSQL '执行Insert语句
Text
1.
Text
= "“ '初始化文本框
控件
Text
2.
Text
= ""
Text
1.
Set
Focus
'定位光标 MsgBox "已成功添加新记录",
vb
Question +
vb
OKOnly ADOrs.Close '关闭记录集
Set
ADOrs = Nothing End Sub Private Sub Command2_Click() Unload Me End Sub 4.frmAddCourse (增加课程)窗体的代码设计: (1)在Load事件
中
,进行初始化工作,代码如下: Private Sub Form_Load() '初始化文本框
控件
Text
1.
Text
= ""
Text
2.
Text
= "" End Sub (2)’Command1_Click()(”确定”按钮)事件代码 Private Sub Command1_Click() Dim ADOrs As New Record
set
'声明一个记录集对象 Dim strSQL As String '与ADOcn连接对象关联 ADOrs.ActiveConnection = ADOcn If
Text
1.
Text
= "" Then MsgBox "未输入课程号,请重新输入数据!",
vb
Critical +
vb
OKOnly
Text
1.
Set
Focus
'定位光标 Exit Sub End If If
Text
2.
Text
= "" Then MsgBox "未输入课程名,请重新输入数据!",
vb
Critical +
vb
OKOnly
Text
2.
Set
Focus
'定位光标 Exit Sub End If ’Command1_Click()(”确定”按钮)事件代码 '首先查询表
中
是否存在关键字相同的记录 strSQL = "select * from 课程情况表" strSQL = strSQL & " Where 课程号='" +
Text
1.
Text
+ " '" strSQL = strSQL & " and 课程名='" +
Text
2.
Text
+ "'" ADOrs.Open strSQL '如果关键字重复,则退出 If Not ADOrs.EOF Then MsgBox "该记录已经存在,不能继续增加",
vb
Critical +
vb
OKOnly Exit Sub End If ’Command1_Click()(”确定”按钮)事件代码 '拼写Insert插入语句 strSQL = "Insert Into 学生情况表(学号,姓名)" strSQL = strSQL + " Values('" +
Text
1.
Text
+ "'," strSQL = strSQL + "'" +
Text
2.
Text
+ "'" + ")" ADOcn.Execute strSQL '执行Insert语句
Text
1.
Text
= "“ '初始化文本框
控件
Text
2.
Text
= ""
Text
1.
Set
Focus
'定位光标 MsgBox "已成功添加新记录",
vb
Question +
vb
OKOnly ADOrs.Close '关闭记录集
Set
ADOrs = Nothing End Sub (3)’Command2_Click()(”返回”按钮)事件代码 Private Sub Command2_Click() Unload Me End Sub 5.frmAddGrade(增加成绩)窗体的代码设计: (1)在Load事件
中
,进行初始化工作,代码如下: Private Sub Form_Load() Dim ADOrs As New Record
set
'声明记录集对象 ADOrs.ActiveConnection = ADOcn '与ADOcn连接对象关联 '对Combo1组合框进行初始化 ADOrs.Open "Select 学号 From 学生情况表 Order By 学号" Combo1.Clear Do While Not ADOrs.EOF Combo1.AddItem Trim(ADOrs.Fields("学号")) '添加"学号"字段值 ADOrs.MoveNext '取下一条记录 Loop ADOrs.Close '关闭记录集 (1)Load事件代码 '对Combo2组合框进行初始化 ADOrs.Open "select 课程号 from 课程情况表 Order By 课程号" Combo2.Clear Do While Not ADOrs.EOF Combo2.AddItem Trim(ADOrs.Fields("课程号")) '添加"课程号"字段值 ADOrs.MoveNext '取下一条记录 Loop ADOrs.Close '关闭记录集 '初始化文本框
控件
Text
1.
Text
= ""
Text
2.
Text
= ""
Text
3.
Text
= "0" End Sub (2) Combo1_Click 事件代码 Private Sub Combo1_Click() Dim ADOrs As New Record
set
'声明一个记录集对象 ADOrs.ActiveConnection = ADOcn '与ADOcn连接对象关联 '如果输入了学号,则把姓名显示在
Text
1.
Text
strSQL = "select * from 学生情况表" strSQL = strSQL + " Where 学号='" + Combo1.
Text
+ " '" ADOrs.Open strSQL
Text
1.
Text
= ADOrs.Fields("姓名") ADOrs.Close '关闭记录集
Set
ADOrs = Nothing End Sub (3) Combo2_Click 事件代码 Private Sub Combo2_Click() Dim ADOrs As New Record
set
'声明一个记录集对象 ADOrs.ActiveConnection = ADOcn '与ADOcn连接对象关联 '如果输入了课程号,则把课程名显示在
Text
2.
text
strSQL = "select * from 课程情况表" strSQL = strSQL + " Where 课程号='" + Combo2.
Text
+ " '" ADOrs.Open strSQL
Text
2.
Text
= ADOrs.Fields("课程名") ADOrs.Close '关闭记录集
Set
ADOrs = Nothing End Sub (4) Command1_Click(确认) 事件代码 Private Sub Command1_Click() Dim strSQL As String Dim ADOrs As New Record
set
'声明一个记录集对象 ADOrs.ActiveConnection = ADOcn '与ADOcn连接对象关联 '检查学号与课程号是否输入 If Combo1.
Text
= "" Or Combo2.
Text
= "" Then MsgBox "输入数据不全,请重新输入数据!",
vb
Critical +
vb
OKOnly Exit Sub End If '首先查询表
中
是否存在关键字相同的记录 strSQL = "select * from 学生成绩表" strSQL = strSQL & " Where 学号='" + Combo1.
Text
+ " '" strSQL = strSQL & " and 课程号='" + Combo2.
Text
+ "'" ADOrs.Open strSQL '如果关键字重复,则退出 If Not ADOrs.EOF Then MsgBox "该记录已经存在,不能继续增加",
vb
Critical +
vb
OKOnly Exit Sub End If (4) Command1_Click(确认) 事件代码 '拼写Insert插入语句 strSQL = "Insert Into 学生成绩表(学号,课程号,成绩)" strSQL = strSQL + "Values('" + Combo1.
Text
+ "','" strSQL = strSQL + Combo2.
Text
+ "'," + Str(Val(
Text
3.
Text
)) + ")" ADOcn.Execute strSQL '执行Insert语句 MsgBox "已成功添加新记录",
vb
Question +
vb
OKOnly '初始化文本框
控件
Text
1.
Text
= ""
Text
2.
Text
= ""
Text
3.
Text
= "0" ADOrs.Close '关闭记录集
Set
ADOrs = Nothing End Sub (5) Command2_Click(返回) 事件代码 Private Sub Command2_Click() Unload Me End Sub 6.frmAddUser(增加用户)代码设计 (1)在Load事件
中
,进行初始化工作,代码如下: Private Sub Form_Load() '初始化文本框
控件
Text
1.
Text
= ""
Text
2.
Text
= ""
Text
3.
Text
= "" End Sub (2) Command1_Click(确认) 事件代码 Private Sub Command1_Click() Dim strSQL As String Dim ADOrs As New Record
set
'声明一个记录集对象 ADOrs.ActiveConnection = ADOcn '与ADOcn连接对象关联 '记录已输入的用户信息 UserName =
Text
1.
Text
PaasWord =
Text
2.
Text
PaasWord1 =
Text
3.
Text
'若
Text
1.
Text
或
Text
2.
Text
或
Text
3.
Text
为空则提示用户重新输入 If
Text
1.
Text
= "" Or
Text
2.
Text
= "" Or
Text
3.
Text
= "" Then MsgBox "未输入用户名、密码或密码确认,请重新输入!",
vb
Critical +
vb
OKOnly Exit Sub End If '若 两此输入密码不一致则提示用户重新输入 If PaasWord PaasWord1 Then MsgBox "两次输入的密码不一致,请重新输入!",
vb
Critical +
vb
OKOnly
Text
2.
Text
= ""
Text
3.
Text
= ""
Text
2.
Set
Focus
Exit Sub End If '首先查询用户
中
是否存在相同的记录 strSQL = "Select * From 用户" strSQL = strSQL + " Where 用户名='" + UserName + "'" ADOrs.Open strSQL If Not ADOrs.EOF Then '如果关键字重复,则退出 MsgBox "该用户已经存在,请重新注册",
vb
Critical +
vb
OKOnly Exit Sub End If '拼写Insert插入语句 strSQL = "Insert Into 用户(用户名,密码)" strSQL = strSQL + " Values('" + UserName + "','" + PaasWord + "')" ADOcn.Execute strSQL '执行Insert语句 MsgBox "已成功添加新记录",
vb
Question +
vb
OKOnly ADOrs.Close '关闭记录集
Set
ADOrs = Nothing End Sub (3) Command2_Click(返回) 事件代码 Private Sub Command2_Click() Unload Me End Sub 7.frmUpdata (修改成绩)窗体代码设计 (1)、在Load事件
中
,进行初始化工作,代码如下: Private Sub Form_Load() Dim ADOrs As New Record
set
'声明记录集对象 ADOrs.ActiveConnection = ADOcn '与ADOcn连接对象关联 '对Combo1组合框进行初始化 ADOrs.Open "Select 学号 From 学生情况表 Order By 学号" Combo1.Clear Do While Not ADOrs.EOF Combo1.AddItem Trim(ADOrs.Fields("学号")) '添加"学号"字段值 ADOrs.MoveNext '取下一条记录 Loop ADOrs.Close '关闭记录集 (1)、Form_Load()事件代码 '对Combo2组合框进行初始化 ADOrs.Open "select 课程号 from 课程情况表 Order By 课程号" Combo2.Clear Do While Not ADOrs.EOF Combo2.AddItem Trim(ADOrs.Fields("课程号")) '添加"课程号"字段值 ADOrs.MoveNext '取下一条记录 Loop ADOrs.Close '关闭记录集 '初始化文本框
控件
Text
1.
Text
= ""
Text
2.
Text
= ""
Text
3.
Text
= "0" End Sub (2) Combo1_Click 事件代码 Private Sub Combo1_Click() Dim ADOrs As New Record
set
'声明一个记录集对象 ADOrs.ActiveConnection = ADOcn '与ADOcn连接对象关联 '如果输入了学号,则把姓名显示在
Text
1.
Text
strSQL = "select * from 学生情况表" strSQL = strSQL + " Where 学号='" + Combo1.
Text
+ " '" ADOrs.Open strSQL
Text
1.
Text
= ADOrs.Fields("姓名") ADOrs.Close '关闭记录集 (2) Combo1_Click 事件代码 If Combo2 "" Then '输入完毕则显示成绩信息 '查询学生成绩表
中
是否有指定指定学号与课程号的记录 strSQL = "select * from 学生成绩表" strSQL = strSQL & " Where 学号='" + Combo1.
Text
+ " '" strSQL = strSQL & " and 课程号='" + Combo2.
Text
+ "'" ADOrs.Open strSQL If ADOrs.EOF Then MsgBox "学生成绩表在不存在学号为" + Combo1.
Text
+ "课程号为" + Combo2.
Text
+ "的记录,请重新输入!",
vb
Critical +
vb
OKOnly
Text
1.
Text
= ""
Text
3.
Text
= "" Exit Sub Else
Text
3.
Text
= ADOrs.Fields("成绩") End If End If If ADOrs.State = adStateOpen Then ADOrs.Close '关闭记录集
Set
ADOrs = Nothing End Sub (3) Combo2_Click 事件代码 Private Sub Combo2_Click() Dim ADOrs As New Record
set
'声明一个记录集对象 ADOrs.ActiveConnection = ADOcn '与ADOcn连接对象关联 '如果输入了课程号,则把课程名显示在
Text
2.
text
strSQL = "select * from 课程情况表" strSQL = strSQL + " Where 课程号='" + Combo2.
Text
+ " '" ADOrs.Open strSQL
Text
2.
Text
= ADOrs.Fields("课程名") ADOrs.Close '关闭记录集 (3) Combo2_Click 事件代码 If Combo1 "" Then '输入完毕则显示成绩信息 '查询学生成绩表
中
是否有指定指定学号与课程号的记录 strSQL = "select * from 学生成绩表" strSQL = strSQL & " Where 学号='" + Combo1.
Text
+ " '" strSQL = strSQL & " and 课程号='" + Combo2.
Text
+ "'" ADOrs.Open strSQL If ADOrs.EOF Then MsgBox "学生成绩表在不存在学号为" + Combo1.
Text
+ "课程号为" + Combo2.
Text
+ "的记录,请重新输入!",
vb
Critical +
vb
OKOnly
Text
2.
Text
= ""
Text
3.
Text
= "" Exit Sub Else
Text
3.
Text
= ADOrs.Fields("成绩") End If End If If ADOrs.State = adStateOpen Then ADOrs.Close '关闭记录集
Set
ADOrs = Nothing End Sub (4)、 Command1_Click()(修改/确认按钮)事件代码 Private Sub Command1_Click() Dim strSQL As String Dim ADOrs As New Record
set
'声明一个记录集对象 ADOrs.ActiveConnection = ADOcn '与ADOcn连接对象关联 '检查学号与课程号是否输入 If Combo1.
Text
= "" Or Combo2.
Text
= "" Then MsgBox "输入数据不全,请重新输入数据!",
vb
Critical +
vb
OKOnly Exit Sub End If (4)、 Command1_Click()(修改/确认按钮)事件代码 '根据当前按钮文字的不同进行相关处理 If Command1.Caption = "修改" Then Command1.Caption = "确认" Command2.Caption = "放弃" Else Command1.Caption = "修改" Command2.Caption = "返回" '拼写Update语句,以便进行修改 strSQL = "Update 学生成绩表" strSQL = strSQL + "
Set
成绩=" +
Text
3.
Text
strSQL = strSQL + " Where 学号='" + Combo1.
Text
+ "'" strSQL = strSQL + " And 课程号='" + Combo2.
Text
+ " '" ADOcn.Execute strSQL '执行Updata语句 MsgBox "修改成功!",
vb
Question +
vb
OKOnly End If If ADOrs.State = adStateOpen Then ADOrs.Close '关闭记录集
Set
ADOrs = Nothing End Sub (5) Command2_Click(返回/放弃) 事件代码 Private Sub Command2_Click() If Command2.Caption = "返回" Then Unload Me Else Command2.Caption = "返回" Command1.Caption = "修改" End If End Sub 8.frmDeleteStudent (删除学生)窗体的代码设计 (1)、Form_Load()事件代码 Private Sub Form_Load() Dim ADOrs As New Record
set
'声明记录集对象 ADOrs.ActiveConnection = ADOcn '与ADOcn连接对象关联 '对Combo1组合框进行初始化 ADOrs.Open "select 学号 from 学生情况表 Order By 学号" Combo1.Clear Do While Not ADOrs.EOF Combo1.AddItem Trim(ADOrs.Fields("学号")) '添加"学号"字段值 ADOrs.MoveNext '取下一条记录 Loop ADOrs.Close '关闭记录集 '对Combo2组合框进行初始化 ADOrs.Open "select 姓名 from 学生情况表 Order By 学号" Combo2.Clear Do While Not ADOrs.EOF Combo2.AddItem Trim(ADOrs.Fields("姓名")) '添加"姓名"字段值 ADOrs.MoveNext '取下一条记录 Loop ADOrs.Close '关闭记录集 End Sub (2) Combo1_Click 事件代码 Private Sub Combo1_Click() Dim ADOrs As New Record
set
'声明一个记录集对象 ADOrs.ActiveConnection = ADOcn '与ADOcn连接对象关联 '若选择了学号则将姓名自动填写到Combo2.
Text
ADOrs.Open "Select 姓名 From 学生情况表 Where 学号 ='" + Combo1.
Text
+ "'" If ADOrs.EOF Then MsgBox "学生情况表
中
没有学号为" + Combo1.
Text
+ "的记录,请重新输入!",
vb
Question +
vb
OKOnly Combo1.
Text
= "" Exit Sub Else Combo2.
Text
= ADOrs.Fields("姓名") End If ADOrs.Close '关闭记录集 End Sub (3) Combo2_Click 事件代码 Private Sub Combo2_Click() Dim ADOrs As New Record
set
'声明一个记录集对象 ADOrs.ActiveConnection = ADOcn '与ADOcn连接对象关联 '若选择了姓名则将学号自动填写到Combo1.
Text
ADOrs.Open "Select 学号 From 学生情况表 Where 姓名 ='" + Combo2.
Text
+ "'" If ADOrs.EOF Then MsgBox "学生情况表
中
没有姓名为" + Combo2.
Text
+ "的记录,请重新输入!",
vb
Question +
vb
OKOnly Combo1.
Text
= "" Exit Sub Else Combo1.
Text
= ADOrs.Fields("学号") End If ADOrs.Close '关闭记录集 End Sub (4)、 Command1_Click()(确定按钮)事件代码 Private Sub Command1_Click() Dim ADOrs As New Record
set
'声明记录集对象 Dim ADOrs1 As New Record
set
'声明记录集对象 ADOrs.ActiveConnection = ADOcn '与ADOcn连接对象关联 ADOrs1.ActiveConnection = ADOcn '与ADOcn连接对象关联 '若学号和姓名同时为空则提示用户重新输入 If Combo1.
Text
= "" And Combo2.
Text
= "" Then MsgBox "学号和姓名不能同时为空,请重新输入!",
vb
Question +
vb
OKOnly Exit Sub End If (4)、 Command1_Click()(确定按钮)事件代码 '若输入了学号则将姓名自动填写到Combo2.
Text
If Combo1.
Text
"" And Combo2.
Text
= "" Then ADOrs.Open "Select 姓名 From 学生情况表 Where 学号 ='" + Combo1.
Text
+ "'" If ADOrs.EOF Then MsgBox "学生情况表
中
没有学号为" + Combo1.
Text
+ "的记录,请重新输入!",
vb
Question +
vb
OKOnly Combo1.
Text
= "" Exit Sub Else Combo2.
Text
= ADOrs.Fields("姓名") End If If ADOrs.State = adStateOpen Then ADOrs.Close '关闭记录集 End If (4)、 Command1_Click()(确定按钮)事件代码 '若输入了号姓名则将学号自动填写到Combo1.
Text
If Combo2.
Text
"" And Combo1.
Text
= "" Then ADOrs1.Open "Select 学号 From 学生情况表 Where 姓名='" + Combo2.
Text
+ "'" If ADOrs1.EOF Then MsgBox "学生情况表
中
没有姓名为" + Combo2.
Text
+ "的记录,请重新输入!",
vb
Question +
vb
OKOnly Combo2.
Text
= "" Exit Sub Else Combo1.
Text
= ADOrs1.Fields("学号") End If If ADOrs1.State = adStateOpen Then ADOrs1.Close '关闭记录集 End If '查询学生情况表
中
是否有指定学号和指定姓名的记录 If Combo1.
Text
"" And Combo2.
Text
"" Then ADOrs.Open "Select * From 学生情况表 Where 学号='" + Combo1.
Text
+ "'" + " And 姓名='" + Combo2.
Text
+ "'" If ADOrs.EOF Then MsgBox "学生情况表
中
没有学号为" + Combo1.
Text
+ "且姓名为" + Combo2.
Text
+ "的记录,请重新输入!",
vb
Question +
vb
OKOnly Combo1.
Text
= "" Combo2.
Text
= "" Exit Sub Else Combo1.
Text
= ADOrs.Fields("学号") Combo2.
Text
= ADOrs.Fields("姓名") End If If ADOrs.State = adStateOpen Then ADOrs.Close '关闭记录集 End If End Sub (5)、 Command2_Click()(确认按钮)事件代码 Private Sub Command2_Click() Dim xm As String Dim xh As String Dim strSQL As String Dim ADOrs As New Record
set
'声明记录集对象 ADOrs.ActiveConnection = ADOcn '与ADOcn连接对象关联 '如果学号与姓名同时为空则提示重新输入/选择 If Combo1.
Text
= "" Or Combo2.
Text
= "" Then MsgBox "学号和姓名不能为空,请重新输入!",
vb
Question +
vb
OKOnly Else xh = Combo1.
Text
xm = Combo2.
Text
If MsgBox("删除学号为" + xh + "姓名为" + xm + "的学生记录,该学生在学生成绩表
中
的全部记录也将一起删除,是否继续?",
vb
Question +
vb
YesNo) =
vb
Yes Then '拼写Delete学生成绩表指定记录语句 strSQL = "Delete From 学生成绩表" strSQL = strSQL + " Where 学号='" + Combo1.
Text
+ "'" ADOcn.Execute strSQL '执行Delete语句 '拼写Delete学生情况表指定记录语句 strSQL = "Delete From 学生情况表" strSQL = strSQL + " Where 学号='" + Combo1.
Text
+ "'" ADOcn.Execute strSQL '执行Delete语句 MsgBox "删除成功!",
vb
Question +
vb
OKOnly Combo1.
Text
= "" Combo2.
Text
= "" End If End If If ADOrs.State = adStateOpen Then ADOrs.Close '关闭记录集 End Sub (6)、 Command3_Click()(返回按钮)事件代码 Private Sub Command3_Click() Unload Me End Sub 9. frmDeleteCourse(删除课程)窗体代码设计 (1)、Form_Load()事件代码 Private Sub Form_Load() Dim ADOrs As New Record
set
'声明记录集对象 ADOrs.ActiveConnection = ADOcn '与ADOcn连接对象关联 '对Combo1组合框进行初始化 ADOrs.Open "select 课程号 from 课程情况表 Order By 课程号" Combo1.Clear Do While Not ADOrs.EOF Combo1.AddItem Trim(ADOrs.Fields("课程号")) '添加"课程号"字段值 ADOrs.MoveNext '取下一条记录 Loop ADOrs.Close '关闭记录集 '对Combo2组合框进行初始化 ADOrs.Open "select 课程名 from 课程情况表 Order By 课程号" Combo2.Clear Do While Not ADOrs.EOF Combo2.AddItem Trim(ADOrs.Fields("课程名")) '添加"课程名"字段值 ADOrs.MoveNext '取下一条记录 Loop ADOrs.Close '关闭记录集 End Sub (2) Combo1_Click 事件代码 Private Sub Combo1_Click() Dim ADOrs As New Record
set
'声明一个记录集对象 ADOrs.ActiveConnection = ADOcn '与ADOcn连接对象关联 '若选择了课程号则将课程名自动填写到Combo2.
Text
ADOrs.Open "Select 课程名 From 课程情况表 Where 课程号 ='" + Combo1.
Text
+ "'" If ADOrs.EOF Then MsgBox "课程情况表
中
没有课程号为" + Combo1.
Text
+ "的记录,请重新输入!",
vb
Question +
vb
OKOnly Combo1.
Text
= "" Exit Sub Else Combo2.
Text
= ADOrs.Fields("课程名") End If ADOrs.Close '关闭记录集 End Sub (3) Combo2_Click 事件代码 Private Sub Combo2_Click() Dim ADOrs As New Record
set
'声明一个记录集对象 ADOrs.ActiveConnection = ADOcn '与ADOcn连接对象关联 '若选择了课程名则将课程号自动填写到Combo1.
Text
ADOrs.Open "Select 课程号 From 课程情况表 Where 课程名 ='" + Combo2.
Text
+ "'" If ADOrs.EOF Then MsgBox "课程情况表
中
没有课程名为" + Combo2.
Text
+ "的记录,请重新输入!",
vb
Question +
vb
OKOnly Combo1.
Text
= "" Exit Sub Else Combo1.
Text
= ADOrs.Fields("课程号") End If ADOrs.Close '关闭记录集 End Sub (4)、 Command1_Click()(确定按钮)事件代码 Private Sub Command1_Click() Dim ADOrs As New Record
set
'声明记录集对象 Dim ADOrs1 As New Record
set
'声明记录集对象 ADOrs.ActiveConnection = ADOcn '与ADOcn连接对象关联 ADOrs1.ActiveConnection = ADOcn '与ADOcn连接对象关联 '若课程号和课程名同时为空则提示用户重新输入 If Combo1.
Text
= "" And Combo2.
Text
= "" Then MsgBox "课程号和课程名不能同时为空,请重新输入!",
vb
Question +
vb
OKOnly Exit Sub End If (4)、 Command1_Click()(确定按钮)事件代码 '若输入了课程号则将课程名自动填写到Combo2.
Text
If Combo1.
Text
"" And Combo2.
Text
= "" Then ADOrs.Open "Select 课程名 From 课程情况表 Where 课程号 ='" + Combo1.
Text
+ "'" If ADOrs.EOF Then MsgBox "课程情况表
中
没有课程号为" + Combo1.
Text
+ "的记录,请重新输入!",
vb
Question +
vb
OKOnly Combo1.
Text
= "" Exit Sub Else Combo2.
Text
= ADOrs.Fields("课程名") End If If ADOrs.State = adStateOpen Then ADOrs.Close '关闭记录集 End If (4)、 Command1_Click()(确定按钮)事件代码 '若输入了课程名则将课程号自动填写到Combo1.
Text
If Combo2.
Text
"" And Combo1.
Text
= "" Then ADOrs1.Open "Select 课程号 From 课程情况表 Where 课程名='" + Combo2.
Text
+ "'" If ADOrs1.EOF Then MsgBox "课程情况表
中
没有课程名为" + Combo2.
Text
+ "的记录,请重新输入!",
vb
Question +
vb
OKOnly Combo2.
Text
= "" Exit Sub Else Combo1.
Text
= ADOrs1.Fields("课程号") End If If ADOrs1.State = adStateOpen Then ADOrs1.Close '关闭记录集 End If (4)、 Command1_Click()(确定按钮)事件代码 '查询课程情况表
中
是否有指定课程号和指定课程名的记录 If Combo1.
Text
"" And Combo2.
Text
"" Then ADOrs.Open "Select * From 课程情况表 Where 课程号='" + Combo1.
Text
+ "'" + " And 课程名='" + Combo2.
Text
+ "'" If ADOrs.EOF Then MsgBox "课程情况表
中
没有课程号为" + Combo1.
Text
+ "且课程名为" + Combo2.
Text
+ "的记录,请重新输入!",
vb
Question +
vb
OKOnly Combo1.
Text
= "" Combo2.
Text
= "" Exit Sub Else Combo1.
Text
= ADOrs.Fields("课程号") Combo2.
Text
= ADOrs.Fields("课程名") End If If ADOrs.State = adStateOpen Then ADOrs.Close '关闭记录集 End If End Sub (5)、 Command2_Click()(确认按钮)事件代码 Private Sub Command2_Click() Dim xm As String Dim xh As String Dim strSQL As String Dim ADOrs As New Record
set
'声明记录集对象 ADOrs.ActiveConnection = ADOcn '与ADOcn连接对象关联 '如果课程号与课程名同时为空则提示重新输入/选择 If Combo1.
Text
= "" Or Combo2.
Text
= "" Then MsgBox "课程号和课程名不能为空,请重新输入!",
vb
Question +
vb
OKOnly Else xh = Combo1.
Text
xm = Combo2.
Text
If MsgBox("删除课程号为" + xh + "课程名为" + xm + "的课程记录,该课程在学生成绩表
中
的全部记录也将一起删除,是否继续?",
vb
Question +
vb
YesNo) =
vb
Yes Then (5)、 Command2_Click()(确认按钮)事件代码 '拼写Delete学生成绩表指定记录语句 strSQL = "Delete From 学生成绩表" strSQL = strSQL + " Where 课程号='" + Combo1.
Text
+ "'" ADOcn.Execute strSQL '执行Delete语句 '拼写Delete课程情况表指定记录语句 strSQL = "Delete From 课程情况表" strSQL = strSQL + " Where 课程号='" + Combo1.
Text
+ "'" ADOcn.Execute strSQL '执行Delete语句 MsgBox "删除成功!",
vb
Question +
vb
OKOnly Combo1.
Text
= "" Combo2.
Text
= "" End If End If If ADOrs.State = adStateOpen Then ADOrs.Close '关闭记录集 End Sub (6)、 Command3_Click()(返回按钮)事件代码 Private Sub Command3_Click() Unload Me End Sub 10. frmDeleteGrade (删除成绩)窗体代码设计 (1)、Form_Load()事件代码 Private Sub Form_Load() Dim ADOrs As New Record
set
'声明记录集对象 ADOrs.ActiveConnection = ADOcn '与ADOcn连接对象关联 '对Combo1组合框进行初始化 ADOrs.Open "Select 学号 From 学生情况表 Order By 学号" Combo1.Clear Do While Not ADOrs.EOF Combo1.AddItem Trim(ADOrs.Fields("学号")) '添加"学号"字段值 ADOrs.MoveNext '取下一条记录 Loop ADOrs.Close '关闭记录集 '对Combo2组合框进行初始化 ADOrs.Open "select 课程号 from 课程情况表 Order By 课程号" Combo2.Clear Do While Not ADOrs.EOF Combo2.AddItem Trim(ADOrs.Fields("课程号")) '添加"课程号"字段值 ADOrs.MoveNext '取下一条记录 Loop ADOrs.Close '关闭记录集 'End Sub (2) Combo1_Click 事件代码 Private Sub Combo1_Click() Dim ADOrs As New Record
set
'声明一个记录集对象 ADOrs.ActiveConnection = ADOcn '与ADOcn连接对象关联 '如果输入了学号,则把姓名显示在
Text
1.
Text
strSQL = "select * from 学生情况表" strSQL = strSQL + " Where 学号='" + Combo1.
Text
+ " '" ADOrs.Open strSQL
Text
1.
Text
= ADOrs.Fields("姓名") ADOrs.Close '关闭记录集 (2) Combo1_Click 事件代码(续) If Combo2 "" Then '输入完毕则显示成绩信息 '查询学生成绩表
中
是否有指定指定学号与课程号的记录 strSQL = "select * from 学生成绩表" strSQL = strSQL & " Where 学号='" + Combo1.
Text
+ " '" strSQL = strSQL & " and 课程号='" + Combo2.
Text
+ "'" ADOrs.Open strSQL If ADOrs.EOF Then MsgBox "学生成绩表在不存在学号为" + Combo1.
Text
+ "课程号为" + Combo2.
Text
+ "的记录,请重新输入!",
vb
Critical +
vb
OKOnly
Text
1.
Text
= ""
Text
3.
Text
= "" Exit Sub Else
Text
3.
Text
= ADOrs.Fields("成绩") End If End If If ADOrs.State = adStateOpen Then ADOrs.Close '关闭记录集
Set
ADOrs = Nothing End Sub (3) Combo2_Click 事件代码 Private Sub Combo2_Click() Dim ADOrs As New Record
set
'声明一个记录集对象 ADOrs.ActiveConnection = ADOcn '与ADOcn连接对象关联 '如果输入了课程号,则把课程名显示在
Text
2.
text
strSQL = "select * from 课程情况表" strSQL = strSQL + " Where 课程号='" + Combo2.
Text
+ " '" ADOrs.Open strSQL
Text
2.
Text
= ADOrs.Fields("课程名") ADOrs.Close '关闭记录集 (3) Combo2_Click 事件代码(续) If Combo1 "" Then '输入完毕则显示成绩信息 '查询学生成绩表
中
是否有指定指定学号与课程号的记录 strSQL = "select * from 学生成绩表" strSQL = strSQL & " Where 学号='" + Combo1.
Text
+ " '" strSQL = strSQL & " and 课程号='" + Combo2.
Text
+ "'" ADOrs.Open strSQL If ADOrs.EOF Then MsgBox "学生成绩表在不存在学号为" + Combo1.
Text
+ "课程号为" + Combo2.
Text
+ "的记录,请重新输入!",
vb
Critical +
vb
OKOnly
Text
2.
Text
= ""
Text
3.
Text
= "" Exit Sub Else
Text
3.
Text
= ADOrs.Fields("成绩") End If End If If ADOrs.State = adStateOpen Then ADOrs.Close '关闭记录集
Set
ADOrs = Nothing End Sub (4)、 Command1_Click()(确定按钮)事件代码 Private Sub Command1_Click() Dim strSQL As String Dim ADOrs As New Record
set
'声明一个记录集对象 ADOrs.ActiveConnection = ADOcn '与ADOcn连接对象关联 Dim ADOrs1 As New Record
set
'声明一个记录集对象 ADOrs1.ActiveConnection = ADOcn '与ADOcn连接对象关联 Dim ADOrs2 As New Record
set
'声明一个记录集对象 ADOrs2.ActiveConnection = ADOcn '与ADOcn连接对象关联 ‘如果学号为空则提示用户重新输入 If Combo1.
Text
= "" Then MsgBox "学号不能为空,请重新输入!",
vb
Question +
vb
OKOnly Combo1.
Text
= ""
Text
1.
Text
= "" Exit Sub End If (4)、 Command1_Click()(确定按钮)事件代码---续 '如果课程号为空则提示拥护重新输入 If Combo2.
Text
= "" Then MsgBox "课程号不能为空,请重新输入!",
vb
Question +
vb
OKOnly Combo2.
Text
= ""
Text
2.
Text
= "" Exit Sub End If '查询学生情况表
中
是否有指定学号的记录 If Combo1.
Text
"" Then ADOrs1.Open "Select 姓名 From 学生情况表 Where 学号='" + Combo1.
Text
+ "'" If ADOrs1.EOF Then MsgBox “学生情况表
中
没有学号为” + Combo1.
Text
+ “的记录,请重新输入!”,
vb
Question +
vb
OKOnly Combo1.
Text
= ""
Text
1.
Text
= "" Exit Sub Else '若有指定学号的学生记录,则将姓名字段值填写到
text
1
Text
1.
Text
= ADOrs1.Fields("姓名") End If End If '查询课程情况表
中
是否有指定课程号的记录 If Combo2.
Text
"" Then ADOrs2.Open "Select 课程名 From 课程情况表 Where 课程号='" + Combo2.
Text
+ "'" If ADOrs2.EOF Then MsgBox "课程情况表
中
没有课程号为" + Combo2.
Text
+ "的记录,请重新输入!",
vb
Question +
vb
OKOnly Combo2.
Text
= ""
Text
2.
Text
= "" Exit Sub Else '若有指定课程号的课程记录,则将课程名字段值填写到
text
2
Text
2.
Text
= ADOrs2.Fields("课程名") End If End If '查询学生表
中
是否有指定学号与课程号的记录 If Combo1 "" And Combo1 "" Then strSQL = "select * from 学生成绩表" strSQL = strSQL & " Where 学号='" + Combo1.
Text
+ " '" strSQL = strSQL & " and 课程号='" + Combo2.
Text
+ "'" ADOrs.Open strSQL If ADOrs.EOF Then MsgBox "学生成绩表在不存在学号为" + Combo1.
Text
+ "课程号为" + Combo2.
Text
+ "的记录,请重新输入!",
vb
Critical +
vb
OKOnly Combo1.
Text
= "" Combo2.
Text
= ""
Text
1.
Text
= ""
Text
2.
Text
= ""
Text
3.
Text
= "" Exit Sub Else
Text
3.
Text
= Val(ADOrs.Fields("成绩")) End If End If End Sub 5)、 Command2_Click()(确认按钮)事件代码 Private Sub Command2_Click() If MsgBox("是否要删除学号为" + Combo1.
Text
+ "课程号为" + Combo2.
Text
+ "的成绩记录?",
vb
Question +
vb
YesNo) =
vb
Yes Then '拼写Delete语句 strSQL = "Delete From 学生成绩表" strSQL = strSQL + " Where 学号='" + Combo1.
Text
+ "'" strSQL = strSQL + " And 课程号='" + Combo2.
Text
+ "'" ADOcn.Execute strSQL '执行Delete语句 Combo1.
Text
= "" Combo2.
Text
= ""
Text
1.
Text
= ""
Text
2.
Text
= ""
Text
3.
Text
= "" MsgBox "删除成功!",
vb
Question +
vb
OKOnly End If End Sub (6)、 Command3_Click()(返回按钮)事件代码 Private Sub Command3_Click() Unload Me End Sub 11. frmDeleteUser(删除用户)窗体代码设计 (1)、 Command1_Click()(确定按钮)事件代码 Private Sub Command1_Click() '定义变量,建立与数据库的连接 Dim strSQL As String Dim ADOrs2 As New Record
set
ADOrs2.ActiveConnection = ADOcn If Trim(
Text
1.
Text
) = "" Then MsgBox "请输入用户名!", , "删除用户"
Text
1.
Set
Focus
Exit Sub End If If Trim(
Text
2.
Text
) = "" Then MsgBox "请输入用户密码!", , "删除用户"
Text
2.
Set
Focus
Exit Sub End If '查询是否有指定用户名和密码的记录 ADOrs2.Open "Select * From 用户 Where 用户名='" +
Text
1.
Text
+ "'" + " And 密码='" +
Text
2.
Text
+ "'" If ADOrs2.EOF Then MsgBox "用户
中
没有名为:" +
Text
1.
Text
+ " 密码为:" +
Text
2.
Text
+ "的记录,请重新输入!",
vb
Question +
vb
OKOnly
Text
1.
Text
= ""
Text
2.
Text
= ""
Text
1.
Set
Focus
Else If MsgBox("是否删除用户名为“" +
Text
1.
Text
+ "”密码为“" +
Text
2.
Text
+ "”的用户记录?",
vb
Question +
vb
YesNo) =
vb
Yes Then '拼写Delete用户指定记录语句 strSQL = "Delete From 用户 Where 用户名='" +
Text
1.
Text
+ "'" + " And 密码='" +
Text
2.
Text
+ "'" ADOcn.Execute strSQL '执行Delete语句 MsgBox "删除成功!",
vb
Question +
vb
OKOnly
Text
1.
Text
= ""
Text
2.
Text
= ""
Text
1.
Set
Focus
End If End If End Sub (2)、 Command2_Click()(返回按钮)事件代码 Private Sub Command2_Click() Unload Me End Sub 12. frmQuerystudent(学生基本信息查询)窗体代码设计 使用ado数据
控件
与DataGrid数据绑定
控件
实现 (1)、Form_Load()事件代码 Private Sub Form_Load() Combo1.
Text
= "全部学生" '默认查询全部学生 Label2.Caption = "全部学生数据浏览表格:" Label1.
Visible
= False
Text
1.
Visible
= False End Sub 说明:这里使用ado数据
控件
adodc1与DataGrid数据绑定
控件
DataGrid1,并已设置好adodc
属性
---查询数据库
中
的表格(学生情况表)。 (2) Combo1_Click 事件代码 Private Sub Combo1_Click() Select Case Combo1.ListIndex '根据选择的组合框项进行处理 Case 0 '选择“全部学生”时隐藏提示信息 strSQL = "select * from 学生情况表" Adodc1.CommandType = adCmd
Text
Adodc1.RecordSource = strSQL Adodc1.Refresh Label2.Caption = "全部学生数据浏览表格:“ DataGrid1.
Visible
= True Label1.
Visible
= False
Text
1.
Visible
= False Case 1 '选择“按学号查询”时给出提示并定位光标 Label1.
Visible
= True
Text
1.
Visible
= True
Text
1.
Set
Focus
Label1.Caption = "请输入学号并按回车键确认:" Case 2 '选择“按姓名查询”时给出提示并定位光标 Label1.
Visible
= True
Text
1.
Visible
= True
Text
1.
Set
Focus
Label1.Caption = "请输入姓名并按回车键确认:" End Select End Sub (3)
Text
1_KeyPress 事件代码 Private Sub
Text
1_KeyPress(KeyAscii As Integer) Dim atrsql As String If KeyAscii = 13 Then Select Case Combo1.ListIndex '根据选择的组合框项进行处理 Case 1 '选择“按学号查询”时 strSQL = "select * from 学生情况表 where 学号='" & Trim(
Text
1.
Text
) & "'" Adodc1.CommandType = adCmd
Text
Adodc1.RecordSource = strSQL Adodc1.Refresh If Adodc1.Record
set
.EOF Then '没有找到时 Label2.Caption = "" DataGrid1.
Visible
= False MsgBox "没有该生记录信息,请检查你输入的学号是否正确!" Else '找到时 Label2.Caption = "学号为" &
Text
1.
Text
& "的学生数据浏览表格:" DataGrid1.
Visible
= True End If
Text
1.
Text
= "" Case 2 '选择“按姓名查询”时 strSQL = "select * from 学生情况表 where 姓名='" & Trim(
Text
1.
Text
) & "'" Adodc1.CommandType = adCmd
Text
Adodc1.RecordSource = strSQL Adodc1.Refresh If Adodc1.Record
set
.EOF Then '没有找到时 Label2.Caption = "" DataGrid1.
Visible
= False MsgBox "没有该生记录信息,请检查你输入的姓名是否正确!" Else '找到时 Label2.Caption = "姓名为" &
Text
1.
Text
& "的学生数据浏览表格:" DataGrid1.
Visible
= True End If
Text
1.
Text
= "" End Select End If End Sub (4) Command1_Click(返回按钮)事件代码 Private Sub Command1_Click() Unload Me End Sub 13. frmQueryGrade(学生成绩查询)窗体代码设计 使用MSFlexGrid1
控件
(编程模型)实现 (1)、Form_Load()事件代码 Private Sub Form_Load() Dim ADOrs As New Record
set
'声明一个记录集对象 ADOrs.ActiveConnection = ADOcn '与ADOcn连接对象关联 MSFlexGrid1.
Visible
= False '隐藏MSFlexGrid1
控件
'对Combo1组合框进行初始化 ADOrs.Open "select 学号 from 学生情况表 Order By 学号" Combo1.Clear Do While Not ADOrs.EOF Combo1.AddItem Trim(ADOrs.Fields("学号")) '添加"学号"字段值 ADOrs.MoveNext '取下一条记录 Loop ADOrs.Close '关闭记录集对象
Text
1.
Text
= "" End Sub (2) Combo1_Click 事件代码 Private Sub Combo1_Click() Dim ADOrs As New Record
set
'声明一个记录集对象 ADOrs.ActiveConnection = ADOcn '与ADOcn连接对象关联 '若选择了学号则将姓名自动填写到
text
1 ADOrs.Open "Select 姓名 From 学生情况表 Where 学号 ='" & Combo1.
Text
& "'" If ADOrs.EOF Then MsgBox "学生情况表
中
没有学号为" & Combo1.
Text
& "的记录,请重新输入!",
vb
Question &
vb
OKOnly
Text
1.
Text
= "" Else
Text
1.
Text
= ADOrs.Fields("姓名") End If ADOrs.Close '关闭记录集 End Sub (3) Command1_Click(确定按钮)事件代码 Private Sub Command1_Click() Dim strSQL As String, strSQL2 As String Dim strRecord As String Dim ADOrs As New Record
set
'声明记录集对象 Dim ADOrs2 As New Record
set
ADOrs.ActiveConnection = ADOcn '与ADOcn连接对象关联 ADOrs2.ActiveConnection = ADOcn strSQL = "select * from 学生情况表 Where 学号='" & Combo1.
Text
& " '" ADOrs.Open strSQL If ADOrs.EOF Then MsgBox ("数据库
中
找不到学号为" & Combo1.
Text
& "的记录,请重新输入!") Combo1.
Text
= ""
Text
1.
Text
= "" Else
Text
1.
Text
= ADOrs.Fields("姓名") End If '拼写Select语句 strSQL2 = "Select 学生成绩表.学号,学生成绩表.课程号,学生成绩表.成绩," strSQL2 = strSQL2 & "学生情况表.姓名,课程情况表.课程名" strSQL2 = strSQL2 & " From 学生成绩表,学生情况表,课程情况表" strSQL2 = strSQL2 & " Where 学生成绩表.学号=学生情况表.学号" strSQL2 = strSQL2 & " And 学生成绩表.课程号=课程情况表.课程号" strSQL2 = strSQL2 & " And 学生成绩表.学号= '" & Combo1.
Text
& "'" ADOrs2.Open strSQL2 '执行Select语句 If ADOrs2.EOF = True Then MSFlexGrid1.
Visible
= False '隐藏MSFlexGrid1
控件
MsgBox "没有该生成绩!" Else '初始化MSFlexGrid表格 MSFlexGrid1.Rows = 0 '行数 MSFlexGrid1.Cols = 5 '列数 MSFlexGrid1.ColWidth(3) = 1500 '调节第4列宽度 MSFlexGrid1.
Visible
= True '显示MSFlexGrid1
控件
'设置表格标题栏 strRecord = "学号" &
vb
Tab & "姓名" &
vb
Tab & "课程号" strRecord = strRecord &
vb
Tab & "课程名" &
vb
Tab & "成绩" MSFlexGrid1.AddItem strRecord '从第一条记录开始循环,直至表尾,填写表格内容 Do While Not ADOrs2.EOF '拼写表格内容 strRecord = Trim(ADOrs2.Fields("学号")) &
vb
Tab & Trim(ADOrs2.Fields("姓名")) &
vb
Tab strRecord = strRecord & Trim(ADOrs2.Fields("课程号")) &
vb
Tab & Trim(ADOrs2.Fields("课程名")) strRecord = strRecord &
vb
Tab & Trim(Str(ADOrs2.Fields("成绩"))) MSFlexGrid1.AddItem strRecord '向表格内添加行 ADOrs2.MoveNext '取下一条记录 Loop End If ADOrs.Close '关闭记录集对象 ADOrs2.Close '释放记录集对象
Set
ADOrs = Nothing
Set
ADOrs2 = Nothing End Sub (4) Command2_Click(返回按钮)事件代码 Private Sub Command2_Click() Unload Me End Sub 14.身份验证窗体(frmlogin)代码设计 1)、Form_Initialize()事件代码 Private Sub Form_Initialize() ADOcn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=成绩.MDB" If ADOcn.State = adStateClosed Then ADOcn.Open '打开到数据库的连接 End Sub 2)、Command1_Click()事件代码—登录按钮 Private Sub Command1_Click() Dim ADOrs As New Record
set
'声明记录集对象 Dim strSQL As String ADOrs.ActiveConnection = ADOcn '与连接对象adocn关联 If Trim(
Text
1.
Text
) = "" Or Trim(
Text
2.
Text
) = "" Then '检验用户名与密码为空否 MsgBox "帐号和密码不能为空,请重新填写",
vb
OKOnly +
vb
Information Exit Sub End If strSQL = "select * from 用户 where 用户名='" + Trim(
Text
1.
Text
) + "'" ADOrs.Open strSQL '按用户名查询 If ADOrs.EOF Then '找不到该用户 MsgBox "用户不存在",
vb
Critical +
vb
OKOnly
Text
1.
Text
= ""
Text
1.
Set
Focus
Exit Sub ElseIf Trim(
Text
2.
Text
) ADOrs.Fields(“密码”) Then ‘找到用户后检验密码 MsgBox "密码不正确",
vb
OKOnly +
vb
Information
Text
2.
Text
= ""
Text
2.
Set
Focus
Exit Sub End If '用户登录成功,记录用户类型参数 usertype = ADOrs.Fields("用户类型") Unload Me MDIForm1.Show '登录成功,打开MDI主窗体 ADOrs.Close
Set
ADOrs = Nothing End Sub 3)、Command2_Click()事件代码—退出按钮 Private Sub Command2_Click() ADOcn.Close
Set
ADOcn = Nothing Unload Me End Sub 4)、登录成功并打开MDI主窗体后,应根据人员类型设置菜单权限 Private Sub MDIForm_Load() '根据人员类型设置菜单权限 Select Case usertype 'Case "管理员" Case "查询人员" addmenu.Enabled = False deletemenu.Enabled = False Updata.Enabled = False End Select End Sub 1.4 其他 一、用户自定义函数的使用 1、初始化窗体大小及显示座标函数 Public Sub init(frmname As Object, X As Integer, Y As Integer) frmname.Width = X frmname.Height = Y frmname.Left = (MDIForm1.Width - frmname.Width) / 2 frmname.Top = (MDIForm1.Height - frmname.Height) / 2 End Sub 2、校验输入的文本框字符是否为数字或backspace回格键函数 ,’如果是则返回true,否则返回false Public Function in_int(KeyAscii As Integer) As Boolean Dim Accept_int(10) As String '可接受的字符数组 Accept_int(0) = "0" Accept_int(1) = "1" Accept_int(2) = "2" Accept_int(3) = "3" Accept_int(4) = "4" Accept_int(5) = "5" Accept_int(6) = "6" Accept_int(7) = "7" Accept_int(8) = "8" Accept_int(9) = "9" Accept_int(10) = Chr(8) 'Chr(8)是backspace键对应的字符 in_int = False For i = 1 To 10 '检查输入的字符是否在数组
中
If Chr(KeyAscii) = Accept_int(i) Then in_int = True End If Next i End Function
Visual Basic 6编程技术大全
中
译本扫描版带书签 2/2
Visual Basic 6编程技术大全 是非常详细和深入的
Vb
6学习教程,无论对初学者还是有经验的开发人员,都非常有帮助 第一部分基础篇1 第1章
VB
6入门1 1.1 集成开发环境1 1.1.1 运行IDE1 1.1.2 选择工程类型1 1.1.3 IDE窗口2 1.1.4 菜单5 1.1.5 工具栏6 1.1.6 Toolbox7 1.2 第一个
VB
应用程序9 1.2.1 向窗体添加代码9 1.2.2 设置
控件
的
属性
10 1.2.3 为
控件
命名12 1.2.4 移动及重新调整
控件
尺寸13 1.2.5 设置Tab顺序13 1.2.6 添加代码14 1.2.7 运行和调试程序15 1.2.8 优化示例程序16 1.2.9 准备、编译、运行18 第2章关于窗体20 2.1 通用
属性
20 2.1.1 Left、Top、Width和Height
属性
21 2.1.2 ForeColor和BackColor
属性
21 2.1.3 Font
属性
23 2.1.4 Caption和
Text
属性
24 2.1.5 Parent和Container
属性
25 2.1.6 Enabled和
Visible
属性
25 2.1.7 hWnd
属性
26 2.1.8 TabStop和Tablndex
属性
26 2.1.9 MousePointer和Mouselcon
属性
27 2.1.10Tag
属性
28 2.1.11其他
属性
28 2.2 通用
方法
29 2.2.1 Move
方法
29 2.2.2 Refresh
方法
30 2.2.3
Set
Focus
方法
30 2.2.4 ZOrder
方法
31 2.3 通用事件31 2.3.1 Click和DblClick事件31 2.3.2 Change事件32 2.3.3 Got
Focus
和Lost
Focus
事件33 2.3.4 KeyPress、KeyDown和KeyUp事件33 2.3.5 MouseDown、MouseUp和 MouseMove事件35 2.4 Form对象37 2.4.1基本的Form
属性
37 2.4.2微调窗体的性能38 2.4.3 Form的生存期39 2.4.4 Controls集合43 2.4.5 Screen对象44 2.4.6打印文本45 2.4.7图形
方法
48 2.4.8 DrawMode
属性
51 2.4.9 ScaleMode
属性
54 2.4.10调色板支持56 第3章内部
控件
58 3.1
Text
Box
控件
58 3.1.1 运行时
属性
59 3.1.2捕获键盘活动60 3.1.3数字的校验例程61 3.1.4 CausesValidation
属性
和Validate事件63 3.1.5自动跳格字段65 3.1.6格式化文本65 3.1.7多行
Text
Box
控件
69 3.2 Label和Frame
控件
70 3.2.1 Label
控件
70 3.2.2 Frame
控件
71 3.3 CommandButton、CheckBox和 OptionButton
控件
71 3.3.1 CommandButton
控件
72 3.3.2 CheckBox
控件
72 3.3.3 OptionButton
控件
73 3.3.4使用图形化
控件
73 3.4 ListBox和ComboBox
控件
74 3.4.1 ListBox
控件
74 3.4.2 ComboBox
控件
81 3.5 PictureBox和Image
控件
83 3.5.1 PictureBox
控件
83 3.5.2 Image
控件
86 3.6滚动条
控件
86 3.7 DriveListBox、DirListBox和FileListBox
控件
89 3.8其他
控件
91 3.8.1Timer
控件
91 3.8.2 Line
控件
92 3.8.3 Shape
控件
92 3.8.4 OLE
控件
92 3.9菜单93 3.9.1运行时访问菜单94 3.9.2弹出式菜单95 3.10
控件
数组96 3.11共享事件过程97 3.11.1运行时创建
控件
97 3.11.2迭代
控件
数组
中
的项目98 3.11.3菜单项数组98 第4章变量与过程100 4.1变量的作用域和生存期100 4.1.1全局变量100 4.1.2模块级的变量101 4.1.3动态局部变量102 4.1.4静态局部变量102 4.2内置数据类型概述103 4.2.1整型数据类型103 4.2.2长整型数据类型104 4.2.3布尔数据类型104 4.2.4字节数据类型104 4.2.5单精度数据类型104 4.2.6双精度数据类型105 4.2.7字符串数据类型105 4.2.8货币数据类型106 4.2.9日期数据类型106 4.2.10对象数据类型106 4.2.11变量数据类型107
VB基础类
7,763
社区成员
197,609
社区内容
发帖
与我相关
我的任务
VB基础类
VB 基础类
复制链接
扫一扫
分享
社区描述
VB 基础类
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章