在Access的窗体中如何打开并修改已有查询

ymzhangyaming03 2010-10-03 08:17:09
我在Access数据库中创建了一个选择查询“学生查询”,我新建一个窗体,想通过单击命令按钮,用VBA修改并打开“学生查询”,修改内容为将查询条件的性别由“男”改为“女”。这个vba程序如何写?
...全文
417 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ymzhangyaming03 2010-10-23
  • 打赏
  • 举报
回复
谢谢。我有一点不明白,查询条件是在[性别]字段中设置的,可你的程序并没有指明是[性别]字段。另外,请你对这段程序作个简单解释。谢谢!
netcoffa 2010-10-15
  • 打赏
  • 举报
回复
上面的代码,还需要在模块的开始,添加一段变量定义

Dim AllQuerys As QueryDefs, MyQuery As QueryDef
netcoffa 2010-10-15
  • 打赏
  • 举报
回复
必须使用DAO数据驱动,要在VBA中引用“Microsoft DAO 3.6 ...”的对象库。

Set AllQuerys = CurrentDb.QueryDefs
Set MyQuery = AllQuerys("学生查询")
MyQuery.SQL=replace(MyQuery.SQL,"男","女")
MyQuery.Close
说 明: 〖accResize1.0〗

这是针对access97所做的自动调整窗体和控件大小的控件,使你的窗口在缩放的时候各控件位置和大小会自动调整。这样你的程序即可在640*480分辨率下运行,也可在800*600下运行,而且在任何大小情况下,窗体里的控件都会随着窗体的大小而变化,保证你可以看到整个窗体的所有内容。只要改变窗体的大小,包括标签、文本框、下拉框、列表框、选项框、检查框、图片、普通子窗体、数据子窗体等控件都会自动按相应的比例实时改变大小。
写这个控件的初衷主要是以前在开发VB程序时用到resize的控件,觉得比较好用,而当时找遍所有的资料,都找不到类似针对ACCESS的控件(VB的RESIZE控件在ACCESS会出现一些奇怪的现象,主要是因为ACCESS窗体的特别结构),而当时我开发的一个项目需要同时适应800*600 和640*480 两种分辨率,所以触发我自己写这方面的程序。经过几次比较大的改动,现在大致可以满足我的需要。一年后,我在网络上找到Ken Getz, Paul Litwin, and Mike Gilbert写的Scale and Resize Your Access Forms演示程序,知道原来在这个世界,还有人与我有同样的想法,他们的功能做得挺棒,只可惜看不到他们的源码。不过知道他们是用API来做的。我比较了两者之间的速度,应该是差不多的。为了让大家了解,我迟点会把他们的演示程序上传。




〖accResize1.0〗说明文件


一、【主要功能】
实现窗口在缩放的时候各控件位置和大小自动调整功能
二、文件列表

resize.mde 控件缩放的核心代码
testresize.mdb 测试缩放效果的例子程序

三、〖accResize1.0〗使用方法

1. 确保你已经安装了access97
2. 将下载的文件用WINRAR解压后放在同一个目录
3. 用ACCESS打开(或双击)testresize.mdb,运行其窗体文件即可
4. 如果你想在你的程序使用这个功能,只要把resize.mde抄到你的程序目录下,然后打开你的程序,在工具菜单选择[引用],引用resize.mde即可(你需进入代码状态才能看到工具菜单的引用子菜单),最后在你自己程序的窗体的resize事件加入 resize.Form_myResize Me 这句程序即可。

5. 请注意,为了加快窗体缩放的速度,所以程序有个特别注意的地方: 当你在窗体添加新的控件或改变了位置,需在重新关闭你的程序(即关闭MDB后)再打开才能生效。
实际我试过,即使增加新的控件就自动更新,速度亦差不多


四、错误反馈

1. 如果你发现软件的错误,欢迎你反馈给作者。


五、【使用许可/LICENSE】

请仔细阅读以下使用许可,如果您不同意以下任何一点,请
立即停止使用此软件。

1.〖accResize1.0〗的作者王宇虹授予您对此版本的最终用户使用
许可权;
2.您不能对软件作任何的软件反向工程,如反汇编,跟踪等;
3.您可以分发此软件,但不能收取任何费用或用于商业目的,
同时,必须保证所分发的软件包含全部文件,并且不作任何
修改;分发的软件应该至少包括我软件所附带的README.txt
4.本软件不包含任何使用保证,不能保证适用或不出故障,由
于此软件是免费提供,因此作者不对您或别的用户使用此
软件所带来的理论上或实际的损失负责;
5.如果您用了此软件就等于您同意以上几点许可;
6.如果你觉的该软件好用,请发一封Email给作者表示感谢,这些支持将会使作者
写出更好软件,谢谢!

六、【软件注册费用】
完全免费!!
本软件所有功能都可以免费使用,完全没有限制。

七、【源码费用】

如果你对此软件的源码感兴趣,你可以向作者免费索取。
你只要发封EMAIL给作者,说明你需要索取这个程序的源码,作者即会把源码EMAIL给你。
电子信箱:wang_yu_hong@163.net
tmtony@21cn.com


你可以到我的主页
http://www.zstmcomputer.com
或 http://tmcomputer.6to23.com

免费获得其它完整的应用软件或一些已公开的源码。



八、【主要技术】
具体请参照程序


系统编写开始时间: 12/03/2001
完成及验收时间: 18/04/2001

九、【感谢】
此软件的诞生得到了同事以及客户的支持和测试,在此表示感谢。
 
这是针对access2000所做的自动调整窗体和控件大小的控件,使你的窗口在缩放的时候各控件位置和大小会自动调整。这样你的程序即可在640*480分辨率下运行,也可在800*600下运行,而且在任何大小情况下,窗体里的控件都会随着窗体的大小而变化,保证你可以看到整个窗体的所有内容。只要改变窗体的大小,包括标签、文本框、下拉框、列表框、选项框、检查框、图片、普通子窗体、数据子窗体等控件都会自动按相应的比例实时改变大小。写这个控件的初衷主要是以前在开发VB程序时用到resize的控件,觉得比较好用,而当时找遍所有的资料,都找不到类似针对ACCESS的控件(VB的RESIZE控件在ACCESS会出现一些奇怪的现象,主要是因为ACCESS窗体的特别结构),而当时我开发的一个项目需要同时适应800*600 和640*480 两种分辨率,所以触发我自己写这方面的程序。经过几次比较大的改动,现在大致可以满足我的需要。一年后,我在网络上找到Ken Getz, Paul Litwin, and Mike Gilbert写的Scale and Resize Your Access Forms演示程序,知道原来在这个世界,还有人与我有同样的想法,他们的功能做得挺棒,只可惜看不到他们的源码。不过知道他们是用API来做的。我比较了两者之间的速度,应该是差不多的。为了让大家了解,我迟点会把他们的演示程序上传。〖accResize1.0〗说明文件一、【主要功能】实现窗口在缩放的时候各控件位置和大小自动调整功能二、文件列表resize.mde 控件缩放的核心代码testresize.mdb 测试缩放效果的例子程序三、〖accResize1.0〗使用方法1. 确保你已经安装了access20002. 将下载的文件用WINRAR解压后放在同一个目录3. 用ACCESS打开(或双击)testresize.mdb,运行其窗体文件即可4. 如果你想在你的程序使用这个功能,只要把resize.mde抄到你的程序目录下,然后打开你的程序,在工具菜单选择[引用],引用resize.mde即可(你需进入代码状态才能看到工具菜单的引用子菜单),最后在你自己程序的窗体的resize事件加入 resize.Form_myResize Me 这句程序即可。5. 请注意,为了加快窗体缩放的速度,所以程序有个特别注意的地方: 当你在窗体添加新的控件或改变了位置,需在重新关闭你的程序(即关闭MDB后)再打开才能生效。实际我试过,即使增加新的控件就自动更新,速度亦差不多四、错误反馈1. 如果你发现软件的错误,欢迎你反馈给作者。五、【使用许可/LICENSE】请仔细阅读以下使用许可,如果您不同意以下任何一点,请立即停止使用此软件。1.〖accResize1.0〗的作者王宇虹授予您对此版本的最终用户使用许可权;2.您不能对软件作任何的软件反向工程,如反汇编,跟踪等;3.您可以分发此软件,但不能收取任何费用或用于商业目的,同时,必须保证所分发的软件包含全部文件,并且不作任何修改;分发的软件应该至少包括我软件所附带的README.txt4.本软件不包含任何使用保证,不能保证适用或不出故障,由于此软件是免费提供,因此作者不对您或别的用户使用此软件所带来的理论上或实际的损失负责;5.如果您用了此软件就等于您同意以上几点许可;6.如果你觉的该软件好用,请发一封Email给作者表示感谢,这些支持将会使作者写出更好软件,谢谢!六、【软件注册费用】完全免费!!本软件所有功能都可以免费使用,完全没有限制。七、【源码费用】如果你对此软件的源码感兴趣,你可以向作者免费索取。你只要发封EMAIL给作者,说明你需要索取这个程序的源码,作者即会把源码EMAIL给你。电子信箱:wang_yu_hong@163.net tmtony@21cn.com你可以到我的主页http://www.zstmcomputer.com 或 http://tmcomputer.6to23.com 免费获得其它完整的应用软件或一些已公开的源码。八、【主要技术】具体请参照
◆ 数据库基础知识及关系数据库管理系统。 目录 Access教程 第一章 Access数据库基础 1 一、数据库的基本知识 1 二、数据库管理系统和数据库应用系统 3 三、Access 2003内部结构 4 1. 表 5 2. 查询 6 3. 窗体 7 4. 报表 8 5. 宏 9 6. 模块 9 7. Web页 10 Access教程 第二章 建立数据库 10 一、数据库的设计 10 2. 一般步骤 11 3. 实例剖析 11 二、建立一个数据库 13 Office Online 模板可通过在线查找所需要的数据库模板。 14 3. 根据现有文件新建数据库 21 4. 打开已存在的数据库 21 5. 查看数据库属性 22 三、创建简单表 25 1. 使用向导创建表 25 2. 表设计器 29 3. 字段、数据类型、字段属性 30 4. 使用设计器创建表的一般步骤 32 5. 通过输入数据建立表 34 四、设定表之间的关系 34 1. 表的索引 34 2. 表的主关键字 36 3. 创建并查看表间关系 36 4. 表间关系的修改与打印 37 五、修改数据库结构 38 1. 对表的操作 38 2. 对字段的操作 40 3. 数据的有效性 41 4. 对数据表的行与列的操作 42 六、使用与编辑数据表 43 1. 更改数据表的显示方式 43 2. 修改数据表的数据 44 3. 排列数据 44 4. 查找数据 45 5. 筛选数据 45 6. 高级筛选与排序 46 七、使用查阅向导 47 八、使用子数据表 51 Access教程 第三章 查询 51 一、查询的概念 52 2. 查询的种类 53 3. 查询的作用和功能 53 二、创建查询 54 1. 简单选择查询 54 2. 交叉表查询向导 57 3. 查找重复项查询向导 60 4. 查找不匹配项查询向导 62 5. 用查询设计器创建查询 65 6. 用查询设计器进一步设计查询 66 7. 查询及字段的属性设置 67 8. 设置查询准则 67 三、创建特殊用途查询 69 1. 参数查询 69 2. 自动查找查询 70 3. 交叉表查询 71 四、操作查询 72 1. 更新查询 72 2. 追加查询 74 3. 删除查询 75 4. 生成表查询 75 五、SQL专用查询 77 ⑴ 使用SQL进行投影 78 ⑵ 使用SQL进行选择 79 SELECT 学号,姓名,主修,年龄 FROM ST WHERE 主修=‘MATH’ 79 SELECT 姓名,主修,年龄 FROM ST WHERE 主修=‘MATH’ 79 ⑶ SQL排序 79 ⑷ SQL内置函数 80 SELECT COUNT(*) FROM ST 80 ⑸ SQL内置函数和分组 80 ⑴ 带有子查询的SQL查询语句 82 ⑵ SQL联接查询 83
目 录译者序前言第一部分 Access基础第1章 Access 2000的新增功能 11.1 Access 2000透视 11.2 用Office Web组件部署数据访问页 21.2.1 Office Web 组件 21.2.2 DAP演示测试. 31.2.3 DAP设计模式 51.3 为Microsoft数据引擎创建 Access数据 项目 51.3.1 新的ADP工具和对象 61.3.2 NorthwindCS项目和da Vinci工具 箱的深入研究 61.4 OfficeVBA编辑器和Access的集成 91.5 DAP和DHTML的HTML源编辑器 101.6 浏览和编辑子数据表的相关记录 111.7 使Jet和SQL Server 7.0/MSDE数据库 相一致 111.8 Access在2000年问题上的改进 121.8.1 四位数年份选项设置 121.8.2 数据库窗口 131.8.3 窗体和报表 141.8.4 名称自动更正 151.8.5 与Office 2000相关的改进 151.9 安装Access 2000 171.9.1 Access 2000的初始安装 171.9.2 定制Access 2000 201.10 安装和配置Microsoft数据引擎 20 1.11 现实世界—为什么升级 23第2章 建立第一个Access 2000应用 252.1 理解Access的应用设计方法 252.2 从模板文件创建Access应用 262.3 熟悉联系管理应用 292.3.1 数据库窗口的表对象 292.3.2 切换面板窗体 322.3.3 Access窗体 332.3.4 Access报表 352.3.5 Access模块 362.4 使用切换面板管理器 382.5 探索窗体设计视图和VBA类模块 392.6 现实世界—所学知识的透视 40第3章 Access导航 423.1 理解Access功能和模式 423.1.1 定义Access功能 423.1.2 定义Access操作模式 443.2 理解Access的表显示 443.2.1 最大化文档窗口 463.2.2 把文档窗口最小化为图标 473.2.3 表数据表视图的工具栏 483.2.4 工具栏自定义 503.2.5 右击快捷方式菜单 523.3 使用功能键 533.3.1 全局功能键 533.3.2 字段、网格和文本框的功能键 分配 533.4 设置默认的选项 543.4.1 系统默认值 553.4.2 数据表视图的默认值 583.5 使用Access帮助 593.5.1 上下文相关的帮助 593.5.2 “帮助”菜单 603.5.3 Microsoft Access的帮助窗口 613.5.4 “Office助手” 643.6 使用“数据库实用工具” 663.6.1 压缩和修复数据库 673.6.2 将数据库转换为Access 2000格式 683.6.3 将数据库转换为Access 97格式 693.6.4 添加切换面板窗体 693.6.5 创建.mde文件 703.7 疑难解答 703.8 现实世界—HTML帮助或者障碍 71第4章 使用Access数据库和表 724.1 定义Access数据库的元素 724.2 理解关系型数据库 744.3 使用Access数据库文件和表 754.3.1 Access系统数据库 754.3.2 Access 库数据库 754.4 创建一个新数据库 754.5 理解表和字段的属性 774.6 选择字段数据类型、大小和格式 804.6.1 为数值和文本数据选择字段大小 814.6.2 选择显示格式 834.6.3 使用输入掩码 874.7 使用Northwind Traders示例数据库 884.8 向现有的数据库添加一个新表 904.8.1 设计Personnel Actions表 914.8.2 创建Personnel Actions表 934.8.3 在数据表视图直接创建一个表 964.9 设置字段的默认值 964.10 使用关系、关键字字段和索引 974.10.1 建立表之间的关系 984.10.2 实施参照完整性 1004.10.3 选择一个主键 1014.10.4 往表添加索引 1024.11 改变字段和关系 1044.11.1 重新安排表字段的顺序 1044.11.2 改变字段数据类型和大小 1054.11.3 改变表之间的关系 1064.12 复制和粘贴表 1074.13 疑难解答 1084.14 现实世界—数据库战略和表战术 108第5章 输入、编辑和验证表的数据 1105.1 在Access输入测试数据 1105.2 使用键盘操作进行数据输入和编辑数据 1105.2.1 创建No

5,139

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 Office开发/ VBA
社区管理员
  • Office开发/ VBA社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧