- 1、本文档共30页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
9 VBA数据库编程
Dlookup DLookup(表达式,记录集[,条件式]) 例::在文本框中显示2001编号学生选修“001”课程的成绩 文本框控件来源:=DLookUp(“成绩”,“选课成绩表,学生编号=2001 and 课程编号=001) 条件式中,描述字符串条件值的要加单引号,日期型条件型的要加## 例:根据文本框(名为tName)中输出的姓名,将学生表中对应的年龄信息显示在另一文本框(名为tAge)中。 TAge文本框控件来源:=DLookUp(“年龄”,”学生表”,”姓名=‘” [tName] ”’”) 在DLookup中控件、字段名:直接在中括号内 输入控件名/字段名 更改f1窗体使窗体显示如下,要对Text16文本框进行设置,使之显示为课程编号为101的成绩(使用DLOOkup函数) VBA中通过设置窗体的“计时器间隔(TimeInterval)”属性与添加“计时器触发(Timer)”事件来完成类似“定时”功能 每隔一次(计时器间隔TimeInterval)时间,窗体的(计时器触发Timer)事件就会被激活一次,并运行(计时器触发Timer)的事件过程。 每隔2000毫秒,就执行一次计时器触发事件 如果设置为0毫秒,那么计时器触发事件就会停止执行 Dim flag As Boolean Dim second As Integer Private Sub Form_Load( ) ‘窗体加载事件 flag = true ‘定义一个标记flag,初值为true时表示未输入正确用户名密码 Me.TimerInterval = 1000 ‘计时器间隔为1000毫秒 second= 0 ‘定义一个变量second用来记录当前秒数 End Sub Private Sub Form_Timer( ) ‘计时器触发事件 If flag = True And second 20 Then ‘当在20秒内,且flag标记为真 Me!ITime.Caption = 20 –second‘标签 显示为20秒-当前秒数 second =second+1 ‘每次计时器触发事件过程执行后,秒数加1 Else DoCmd.Close ‘当不在20秒内 或者flag标记为假时,关闭窗体 End If End Sub Private Sub OK_Click( ) 登录程序略 ‘ 如果用户名和密码输入正确,则:flag=False End Sub 打开窗体后输入用户名和密码。登录操作要求 在20秒内完成,如果20秒内没有完成登录操作, 则倒计时达到0秒时自动关闭窗体 一、 数据库引擎 是一组动态链接库(DLL),当程序运行时被连接到VBA程序而实现对数据库的数据访问功能,是应用程序与物理数据库之间的桥梁。 二、 3个数据库访问接口: ODBC API:开放数据库互连应用编程接口 DAO:访问数据库的对象模型(DBEngine处于最顶层) ADO:active数据对象 Prvate Sub SetAgePlus1_Click() Dim db As DAO.Database Dim rs As DAO.Recordset ‘定义rs为记录集对象 Dim fd As DAO.Field ‘定义fd为字段对象 Set db=CurrentDb() Set rs=db.OpenRecordset(“学生表”) ‘rs获得了记录,并指向记录集第一条记录 set fd=rs.field(“年龄”) ‘fd为rs指向的记录的年龄字段 Do While Not rs.EOF ‘rs.eof表示rs在记录集的末尾(没有记录) rs.Edit ‘设置rs指向的记录集为可编辑状态 fd= fd+1 ‘fd+1,即年龄字段+1 rs.Update ‘对记录集进行更新
文档评论(0)