| 设置首页 收藏站点 关于我们 联系站长

 | 首页 | 教程 | 脚本 | 博客 | 娱乐 | 图库 | 音效 | 软件 | 教案 | 论文 | 试题 | 课件 | 影视 | 

|| 您现在的位置: 课件大师 >> 脚本 >> 演示文稿 >> 正文
普通脚本《隐形的翅膀》观后感
普通脚本[图文]Flash AS代码简
普通脚本[组图]Flash绘画实例
推荐脚本[组图]用PowerPoint制
普通脚本[图文]化学符号编辑器
普通脚本[图文]数学公式编辑器
普通脚本[组图]PowerPoint制作
普通脚本控制PowerPoint课件中
普通脚本[组图]用Office 2007
普通脚本[组图]用Word做个招财
推荐脚本[组图]用PowerPoint制
推荐脚本[组图]超强公式编辑器
推荐脚本用FSCommand调用EXE可
推荐脚本在FLASH MX中如何精确
推荐脚本FlashMX中loading的制
推荐脚本FlashMX getURL函数的
推荐脚本FlashMX命令FS Comma
推荐脚本Flash MX2004的新东东
用VBA实现课件中
用VBA实现课件中
用VBA实现课件中
用VBA实现课件中
用PowerPoint制

Flash AS代码简单实

Flash绘画实例:卡通

用PowerPoint制作做

化学符号编辑器 化学

PPT交互处理自动生成试题的解决方法         
PPT交互处理自动生成试题的解决方法
副标题:
作者:周生军 文章来源:转贴K12论坛 点击数: 更新时间:2005-8-24 23:56:19
'原理:后期绑定外部ACCESS数据库;使用两重循环语句(FOR...Next)自动生成试题控件,并利用数据库信息设置控件属性;使用框架的滑块,使试题能滚动,实现单个界面的大题库显现。
'环境:PPT2003,ACCESS库为97库(2002等可转换后使用)。
'使用控件:框架(Frame)、命令按钮(command)
'自动生成控件:标签(Lable),其标题(caption)设为试题的题目;选项按钮(CheckBox)为选择项(预设为4个),
'效果:界面生成时自动在框架内生成试题控件,并可利用框架滑块实现试题的全部显示,点击命令按钮退出界面。

初学者须知:
1、按ALT+F11,进入PPT的VB工程设计界面。
2、控件可以通过工具箱添加(可通过点击菜单“视图”/“工具箱”,显示“工具箱”)。
3、工具箱没有的控件可以通过在工具箱上点鼠标右键,在弹出的快捷菜单内选择“添加部件”查找。
4、“视图”菜单非常重要,要先熟悉一下。“属性窗口”、“工程资源管理器”等都可以通过它显示出来。
5、“插入”菜单也应先熟悉一下,插入类模块、用户窗口等都要用到它。
6、上传所有代码可直接拷贝使用。

前期准备:
建立试题的ACCESS数据库,文件名称为function_chr.mdb,内含表Chr。为方便下一步的学习,chr表建议设置字段8个(至少有4个),数值类型设为文本,其它依个人习惯设置吧。为便于通用,程序不要求字段名统一。第一个字段为试题的题目,后三个为选择项,每条记录代表一道试题。


言归正传,我们开始吧。
1、插入一个类模块(是类模块不是一般的模块),插入一个用户窗体(名称改为TestFrm)。点击用户窗体使用“视图”菜单调出“工具箱”、“用户资源管理器”。
2、在类模块的声明里声明连接数据库的两个关键对象变量:
Public conn1 As ADODB.Connection
Public setpxp As ADODB.Recordset
3、在用户窗体内添加一个框架控件和一个命令按钮,调整到合适大小;设置框架属性caption="":ScrollBars=2(即使用垂直滑块);名称在这里都采用缺省值。
4、设置命令按扭的Click方法(直接在它上面双击就出来了):
Unload TestFrm'释放表单
5、双击用户表单(TestFrm),在通用声明区域内添加下列代码:

Option Explicit'变量必须先声明才能使用,避免变量的类型出现不可预测的错误,便于修改程序

'*---------------------------------------------------------------------*
'*在VBA内使用一个Frame控件代替VB内的两个Picture控件实现试题的滚动显现
'*---------------------------------------------------------------------*
'*---------------------------------------------------------------------*
'*生成数据库连接及记录集实例对象
'*---------------------------------------------------------------------*
Private dbconnect As New ADODB.Connection
Private rs As New ADODB.Recordset

'*---------------------------------------------------------------------*
'*定义自动添加的控件变量,以两重循环语句分别设计试题的题目的选项
'*---------------------------------------------------------------------*
'使用 WithEvents 关键字声明对象变量,允许您编程该控件的事件。
'对象变量被设置为由 Add 方法返回的引用。
'Dim WithEvents labObject As Label'这是VB的用法,在VBA里行不通
'Dim WithEvents chkObject As CheckBox
Dim Labobject As Control
Dim ChkObject As Control

Private i, j As Integer '内外循环计数器
'*---------------------------------------------------------------------*
'*确定自动添加的控件的相关参数
'*---------------------------------------------------------------------*
Const WidthRubric = 320 '题目长度,即Label控件对象的长度
Const WidthOptn = 310 '放置选项的checkbox控件的最大长度
Const VDistance = 4 '纵向间距
Const HDistance = 5 '横向间距
Const LeftDistance = 5 '左边间距
Const LeftAppend = 20 '左悬挂距离
Const topini = 40 '第一行的顶部位置
Const nOpn = "4" '选项数目

Private WidthOptnExt As Integer '选项显示的实际长度
Private nLstChkTop As Integer '当前Checkbox的Top,计算下一控件的Top

6、在用户表单(TestFrm)的UserForm_Initialize的事件内添加下列代码。添加成功后,我们今天的目的就实现了。表单加载到内在里时先加载Load事件,Initialize事件在其后来初始表单及其上的所有控件。
Private Sub UserForm_Initialize()

'若连接对象已经建立,关闭它
If dbconnect.State = adStateOpen And Not IsEmpty(adStateOpen) Then dbconnect.Close
'指定用于连接的提供者的名称,我理解为数据源的设备驱动程序
dbconnect.Provider = "microsoft.jet.oledb.4.0" 'access 97 ois 3.51
'通过传递详细的字符串来指定数据源,这里取用了相对路径调用
dbconnect.ConnectionString = "data\function_chr.mdb"
'建立连接
dbconnect.Open

'若记录集已经打开关闭它
If rs.State = adStateOpen And Not IsEmpty(adStateOpen) Then rs.Close
'按用户要求打开记录集,open的具体用法请查阅帮助;
'游标类型选择键集游标(adOpenKeyset)和静态游标(adOpenStatic )时,recordcount属性才可用
rs.Open "chr", dbconnect, adOpenKeyset, adLockOptimistic 'chr是表名,包含中function_chr.mdb里,结果为全部字段的记录集
'rs.Open "select rubric from chr", dbconnect, adOpenDynamic, adLockOptimistic '查询结果为仅含字段Rubric的记录集

'*---------------------------------------------------------------------*
'*定义自动添加的控件变量,以两重循环语句分别设计试题的题目的选项
'*---------------------------------------------------------------------*
For i = "1" To rs.RecordCount '外层设置试题题目

'若对象变量存在先撤销
If Not IsEmpty(Labobject) And Not Labobject Is Nothing Then
..............

脚本录入:潜龙在野    责任编辑:潜龙在野 
  • 上一篇脚本:

  • 下一篇脚本:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    (只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 |

    网站维护:潜龙 QQ:20885537 Email:WebMaster#PowerCai.Com备案编号:渝ICP备05001729号