说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

用VBA编制Access的查询程序

HTML文档下载 WORD文档下载 PDF文档下载
用VBA编制Access的查询程序

在 Access 中 ,要设计一个查询程序是十分快捷的。它提供的查询向导,可以一步步地引导程序员迅速建立查询 ,并可用 SQL 及 Design 方式查看 。另外 ,它所提供的QueryDefs 对象,则可以方便地用 VBA 编制出基于特殊要求的查询程序。
下面三个例子就是用VBA 实现查询功能的程序。
简单查询
在FORM mainform上定义按钮 cmd-qry-status-1,当鼠标点击按钮它时,将创建Query qry-status-1 并打开FORM frm-qry-status-1。定义FORM frm-qry-status-1 的数据源为 Query qry-status-1。
程序1:
Private Sub cmd-qry-status-1-Click()
Dim qry-tmp As QueryDef
Dim dbs-itsr As Database
Dim strsql As String
Dim stDocName As String
Dim stLinkCriteria As String
Set dbs-itsr = CurrentDb()
strsql = ″SELECT * FROM Request WHERE (((Request.Status)=1));″
For Each qry-tmp In dbs-itsr.QueryDefs
If qry-tmp.Name = ″qry-status-1″Then
dbs-itsr.QueryDefs.Delete qry-tmp.Name
End If
Next qry-tmp
Set qry-tmp = dbs-itsr.CreateQueryDef(″qry-status-1″, strsql)
On Error GoTo Err-cmd-q-y-status-1-Click
stDocName =″frm-qry-status-1″
DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit-cmd-qry-status-1-Click:
For Each qry-tmp In dbs-itsr.QueryDefs
If qry-tmp.Name =″qry-status-1″ Then
dbs-itsr.QueryDefs.Delete qry-tmp.Name
End If
Next qry-tmp
Exit Sub
Err-cmd-qry-status-1-Click:
MsgBox Err.Description
Resume Exit-cmd-qry-status-1-Click
End Sub
参数查询
当要求查询条件可以变更时,需要设计参数查询。例如,希望 Request.Status 的值
可以在执行前输入,定义一查询参数 par-status 。本例中,在FORM mainform 上定义
COMMAND 按钮 cmd-qry-par-status, 在其event属性的 on click 项中建立如程序2所示程序,当鼠标点击按钮 cmd-qry-par-status时,将创建Query qry-par-status 并打开Qu
ery qry-par-status。
程序2:
Private Sub cmd-qry-par-status-Click()
Dim qry-par As QueryDef
Dim dbs-itsr As Database
Dim strsql As String
Set dbs-itsr = CurrentDb()
strsql=″PARAMETERS [par-status] Long;″& _
″SELECT * FROM Request WHERE
(((Request.Status)=[par-status]));″
For Each qry-par In dbs-itsr.QueryDefs
If qry-par.Name = ″qry-par_status″ Then
dbs-itsr.QueryDefs.Delete qry-par.Name
End If
Next qry-par
Set qry-par = dbs-itsr.CreateQueryDef(″qry-par-status″, strsql)
On Error GoTo Err-cmd-qry-par-status-Click
DoCmd.OpenQuery qry-par.Name
Exit-cmd-qry-par-status-Click:
Exit Sub
Err-cmd-qry-par-status-Click:
MsgBox Err.Description
Resume Exit-cmd-qry-par-status-Click
End Sub
复杂查询
当查询条件在多个查询中共用时,如果用参数查询,则每个查询执行前需输入参数值,这样很不方便,而将此条件设计成变量则可实现复杂查询的设计。在本例中,在FORMmainform上定义TEXT BOX user-num,其值在查询中充当参数的作用。定义按钮cmd-qry-mul-app, 在其event属性的 on click 项中建立程序,执行时,先输入user-num 值,当鼠标点击按钮 cmd-qry-mul-app时,将创建Query qry-mul-app 并打开FORM frm-qry-mul-app。在FORM frm-qry-mul-app上定义 TEXT BOX closed-num,其数据源项填入″=[user-closed-num]″,定义FORM frm-qry-mul-app 的数据源为 Query qry-mul-app,在其event属性的 On load 项中建立如程序3所示程序(其中定义了Public变量 user-closed-num)。FORM frm-qry-mul-app 在Load 时,将创建基于qry-mul-app的查询qry-mul-app-1,并将其记录数赋予变量 user-closed-num。这样,当FORM frm-qry-mul-app 打开时,TEXT BOX closed-num 将获得要求的记录。
程序3:
Option Compare Database
Option Explicit
Public user-close-num As String
Private Sub Form-Load()
Dim qry-mul As QueryDef
Dim dbs-itsr As Database
Dim strsql As String
Dim rstreq As Recordset
Set dbs-itsr = CurrentDb()
strsql =″SELECT * FROM qry-mul-app WHERE ((Request.Status)=1);″
For Each qry-mul In dbs-itsr.QueryDefs
If qry-mul.Name =″qry-mul-app-1″ Then
dbs-itsr.QueryDefs.Delete qry-mul.Name
End If
Next qry-mul
Set qry-mul = dbs-itsr.CreateQueryDef(″qry-mul-app-1″, strsql)
On Error GoTo Err-qry-mul-app-Click
Set rstreq = qry-mul.OpenRecordset
rstreq.MoveLast
user-close-num = rstreq.RecordCount
rstreq.Close
Exit-qry-mul-app-Click:
Exit Sub
Err-qry-mul-app-Click:
MsgBox Err.Description
Resume Exit-qry-mul-app-Click
End Sub
OpenStack Heat向应用市场更近一步 初创公司Ionic Security:云安全必须与时俱进 谷歌董事长:一年后消费者才能用上Goolge Glass Windows 8.1重新推出的“开始按钮”毫无意义 手眼并用 代码泄露三种Google Glass手势操作 Google新论文 CPI&#178;:基于Linux的世界级跨数据中心服务器CPU监控 20款非常实用的Web工具和资源列表 数据库界大事件 随机写性能巨好的TokuDB开源了 CMDN Club 26期:数字渠道营销主题沙龙 暴强:用iOS设备控制的HTML5“小蜜蜂”游戏 Leap Motion:500元体感,精确到0.01毫米 大事件:三大运营商将发布融合计费SDK 再培养一个扎克伯克:六款适合儿童上手编程的App 首届中国软件工程标准高峰论坛:软件开发的新机遇与挑战 Verizon研究显示:中国成为2012年度网络间谍攻击的主要来源 Clang宣布全面支持C++11标准 北大陈钟:SEMAT—中国软件工程发展的新机遇 超华尔街预期:苹果第二财季营收为436亿美元 跨平台游戏引擎Spaceport已被Facebook收购 文科生开发GPU数据库 性能超传统数据库70倍 开发者赚了90亿:从苹果Q2财报,看iOS生态 备受开发者青睐的13款热门开源项目 Netflix赌赢《纸牌屋》背后的秘密武器:大数据分析 为什么:Google Glass只能运行Web应用? 对话Rackspace高级副总裁Jim Curry:我们没有&amp;quot;辜负&amp;quot;营销炒作 7个大数据流言——避免错误的Hadoop和云分析决策 Facebook vs. Google:撇开搜索,数据中心产业上的又一竞技 苹果将于6月10日召开WWDC 新版OS X和iOS或将面世 传Amazon今年秋季发布电视机顶盒设备 够快:不会3种以上语言的程序员不是好程序员 Cloud Foundry、Greenplum获通用电气1亿美元注资 怎么做帮助文档? 循环的小问题 为什么有些callback 函数前要加static 谁有销售管理系统的源代码呀!大虾们,帮帮忙呀! -=-=-=- (一定加到1000分)求IE浏览器 的访问机制!?-=-=-=- 关于ATL与ADO的问题,请指教!谢谢! 光驱坏了,我把光驱拆开了,看到一个东东不知道它是好还是坏. 待发送mail能否修改优先级? JDBC如何访问Oracle存储过程返回的结果集? 有关使用JAVA技术来操作ZIP文件的一个问题,很急的!!!!!! 了解足球网站的兄弟讨论一下 简单问题,急需一个链接SQL SERVER 2000的字符串!!! 求助 求一时间函数 用VC做一个IE的ActiveX,要求能通过Internet访问数据库,该怎么弄啊?有例程吗? JDBC如何访问Oracle存储过程返回的结果集? 虚心请教个简单问题!怎样根据数据库读出的的代码(DM),动态匹配出代码意义(DMYY)?急!!! 我有简体的程序代码,也装了繁体98,想转换为繁体版,请帮我提供解决方案把 请问有哪位高人配置过JBuilder编译javabean 怎么读出上传的文件内容,(根据文件路径)? 在Win2003里用属于Administrator用户组但不是Administrator的用户建一个ADSL上网连接,为什么这个用户自己无权使用呢?怎么才能使它有使 设备文本重画的问题 求 <<ibm pc 匯編語言程序設計>>一書, 送400分. 下载文件时不提示我? JB中写代码时光标的问题 vbscript,如何在客户判断EMAIL正确格试! 西风到底怎么样啊? 众为高手好,小弟下载了个电影,打开时有声音,但是显示不了 ACCESS可以用中文作为表名,但不能读取表? 从0-22 抽出 5个数 这几个数不能相同。怎么版。啊。。 求救! 在窗体中如何对ACCESS数据库中的表格进行访问?--在线求助!! 怎么在程序中使用另一个目录下的class?在线等 如何在datagrid绑定后修改datagrid 的header.text的值? 谁知道在PB8下为什么树型控件无法正确显示汉字,急,马上就给分,在线等候! delphi的系统分析员请进来。 关于输入法的聚焦问题!! 病毒通过附件传播的问题 ORACLE不能自动启动的问题 关于提取字符串的问题 indy 9控件的安装,有没有发布版下载! 菜鸟问题,我这个触发器错在哪里? 郁闷!!!帮帮先!!! 急,表怎么添加不了数据??? 怎样实现MDI框架下,桌面窗体总在所有窗体的最后面? 关于html登录表单 想创业的进来看看! 郁闷!!帮忙先 “上网上了一半,突然间网页全部自动关闭?” 急死了,这是怎么回事? delphi的系统分析员请进来。 许多网页底部都有Disclaimer,请问这个词该怎么理解?谢谢! 需要一般的解题思想.我总拿着倒数题没有下笔头绪,但别人给我讲我还能理解. 德国牧羊犬和狼犬有什么区别专家人事请帮帮忙了` 也是醉了是啥意思? 双电源自动切换开关是用在哪里的 首先在这里先说明一下情况,因为我的错题是考试的历年真题来的.同时这次的考试对我来说很重要,希望各位前辈能够帮助我,谨慎作答,因为我会完全相信你们的答案的!(题目比较多,请不要只 狼犬和德国牧羊犬有什么区别拜托了各位 家用双电源自动切换开关现成的太贵,谁能教我做一个,将不胜感激(两路都是市电).二楼的师傅,能否留下个电路图以及相关元件的型号,参考价格 三楼的师傅,能否再具体点 ,最好有相关元器 已知AD为三角形ABC的中线,且BC=2AC,试问三角形ABC是什么三角形,为什么? 企鹅到底是白底黑边的鸟,还是黑底白肚子的鸟?我想了好几天了 英语中Exp.是例1,还是实验1,还是试验1 超简单```已知:在三角形ABC中,AB=2AC,求证:AC 哪些英语单词的ing或者比较级最高级是双写末位字母的?比如说 wet wetter babysit babysitting My heart are full of you是什么意思 [英语]一道时间状语从句选择题,如何选择?We hadn’t met for 20years,but I recognized her _________ I saw herA for the momentB the moment whenC at the moment whenD the moment这道题选D,为什么C不可以? 黄狼犬是一种什么狗,希望得到比较详细的回答.回答详细悬赏10分之20分到底有没有一种狗叫黄狼?我怎么查不到? 双电源自动切换开关两个隔离开关,接一个双电源,两个隔离开关都是3p的 .为什么双电源是4p的? 第五题,怎么样画解集图求解了,有啥规律么? 《鸟的天堂》大的,小的,花的,黑的,这是写鸟的【?】.《鸟的天堂》昨天是我的眼睛骗了我,这句话的意思是:昨天不是【?】,而是【?】 如题,由于些特殊情况 我根本不懂电路 但是我现在需要自己设计一个双电源自动切换开关,请问我该如何下手 用什么设计 CAD?然后怎么弄 、 西门豹人物介绍 我都醉了什么意思 三个有关马的俗语 关于把握机会的作文,高悬赏,在线等!要自己的事例50分! 给了再加 求方程xy’=2y的解 求星火英语四级升级版mp3,如果有六级也可以发给我,我会追加分的 自己把握机会450字作文 常微分方程题. I want to take care of you promise me don't leave me 求关于把握机遇的作文 头和翅膀是黑色,尾巴和腹部是白色的是什么鸟? 火灾监控属于安防里的哪种分类,就像双电源是属于低压电气里的自动转换开关 关于把握机会或放弃机会的作文丰富多彩的六年小学生活就要结束了.在你成长的过程中,你是否也有把握良机、获取成功的喜悦?你是否也有失去良机、伤心失落的遗憾?以"把握"或"遗憾''为题, 我捡到一只鸟头上长个黑色冠.一身灰色的毛.腹部是毛事白色的.请问是只什么鸟?它好可爱.我想养活它. 用汉语翻译下列英文“will you promise to write to me?”“take care” 我不会为生活的压力而垂头丧气,不会为成绩的下滑而丧失斗志.用英语怎么说急 改错题哦,有一个错的庇漏 哪个字是错的 有点明翻译的,还有劳翻译一下,1.__they reached the center of the city,they stopped at a bar.A.before a mile B.For a mile or so after C.Futher than a mile oy so D.A mile or so before 为什么答案选D?2.__that my head had cleared,my brain ∫(x+cosx)^2dx 的不定积分 一些初三政治改错题(以下题目全是错的)选举权和被选举权作为我国公民的基本政治权利,其主体是公民享受权利才是人民当家作主的体现公民应先履行义务,后享受权利政府要依法行政,提 英语翻译1.他喜欢去有海的地方旅游.2.请把这些书放回原处(它们原来所在的地方).3.因为昨晚下雨了,所以地面很湿.4.昨晚一定下雨了,因为地面很湿.5.既然大家都明白了,咱们开始吧.6.孩子 在如图所示的夫琅禾费衍射装置中,将单缝宽度a稍稍变窄,同时使会聚透镜L沿y轴正方向作微小平移(单缝与屏幕位置不动),则屏幕C上的中央衍射条纹将 (A) 变宽,同时向上移动. (B) 变宽,同时向 目不()()把词语补充完整 C语言(exp==0)与(exp=0)的区别 成语接龙帮忙.给好评!~\(≧皿≦)/~ 关于 是否存在这样的函数( 个人觉得是 常微分方程问题)Is there such a function?suppose g is a function satisfying the following two preperties:(a).g(x)=xg(1/x),for all real numbers x( x is not zero),and(b).g(x)+g(y)=1+g(x+y) f exp(0.158) = 1.1711661947077是如何算的?需要具体计算过程,谢谢! 第二题~\(≧皿≦)/~ 把词语补充完整:不( )一( ) 0.5=1-exp(-((x1+1)/0.9705)^0.8282求x1,用什么计算? 单缝衍射为什么放凸透镜 请帮我解决数学集合题.1.若A={x|-2小于等于x小于等于a},B={y|y=2x+3,x属于A},C={Z|Z=X的平方,x属于A},且C是B的子集,试求实数a 的取值范围.2.设A={(x,y)|y的平方-x-1=0},B={(x,y)|4乘以x的平方+2x-2y+5=0},C={ 40KW的照明电路用多大的双电源切换开关? “完璧归赵”的典故与下列哪个人物有关?选B 补充词语( )重其事 几道英语选择题(状语从句)1 we will never give in-----they might do or say about our plan.A no matter how B how C howere D whatever2 though he is in his sixties,----he works as hard as a young man.A if Bwhen C where D though3 --------unemplo 把握机遇是什么 英语中有什么形容词或动词加th变名词,越多越好啊 英语 状语从句 3道选择题1、_____her home,Janice turned on her computer and chatted online.A on arriving B Directly she reached2、I hadn't been watching TV for half an hour ______my mother asked me to practice playing the piano this mor 异功能?火星上一共发现了多少地球上有的建筑,火星上的人长什么样子? 现在有好多人说 什么什么的要醉了 韩军警在韩日争议岛演练登陆 旨在抵御贝卢斯科尼女友否认系同性恋 索赔千万伊核问题引美以分歧 美同意合法保留以俄外交官被指在美国招募间谍 美联邦调沙特表态将与美国保持距离 美官员:这奥巴马敦促国会通过移民改革法 称有利日媒:五艘中国军舰穿过日本冲绳本岛与韩媒称韩高官暗示将引进美国“萨德”反奥斯卡影后赞与查尔斯王子跳舞比“亲热韩国法院:研究低估三星芯片厂对人体的马达加斯加总统选举开始 或有望解决该美研究称已婚者比单身汉更长寿 但容易男子用数百公斤大南瓜造船 划水距离创韩国前科技官员称福岛土壤污染可通过微俄外交官被指在美国招募间谍 美联邦调外交部:中印重申双方不将其军事能力用日民主党前干事长年内成立新团体 被疑日本拟在多个城市开设赌场 年收入可达美国十岁男孩弑父案即将宣判 孩子去处贝卢斯科尼女友否认系同性恋 索赔千万杭州市市管领导干部任前公示通告娜品牌造就三连霸德国联赛拒绝“门线技术”“我们心里装着群众”德国联赛拒绝“门线技术”预防快讯MH370坠海原因待解 马方寄望于黑信托业薪酬超银行成新“高富帅”“南象北相”四人展亮相大剧院“公桃”岂容换“私李”如新直销违规被罚38万学习《党政领导干部选拔任用工作条例》破产法也能撬动经济金丝楠木、沉香、彩宝河南矿难致6人遇难 仍有7人被困在井夜班族 怎样安排好“三餐”财经数字第三批自住房申请网没断尿频尿急 尿痛 尿不尽有妙方我记得娜品牌造就三连霸湖北“药儿园”复课 多半幼儿当日返园
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘