![常用SQL命令和VBA代码_第1页](http://file3.renrendoc.com/fileroot_temp3/2021-12/16/97a28a50-ffd1-49af-ad56-c124ac501508/97a28a50-ffd1-49af-ad56-c124ac5015081.gif)
![常用SQL命令和VBA代码_第2页](http://file3.renrendoc.com/fileroot_temp3/2021-12/16/97a28a50-ffd1-49af-ad56-c124ac501508/97a28a50-ffd1-49af-ad56-c124ac5015082.gif)
![常用SQL命令和VBA代码_第3页](http://file3.renrendoc.com/fileroot_temp3/2021-12/16/97a28a50-ffd1-49af-ad56-c124ac501508/97a28a50-ffd1-49af-ad56-c124ac5015083.gif)
![常用SQL命令和VBA代码_第4页](http://file3.renrendoc.com/fileroot_temp3/2021-12/16/97a28a50-ffd1-49af-ad56-c124ac501508/97a28a50-ffd1-49af-ad56-c124ac5015084.gif)
![常用SQL命令和VBA代码_第5页](http://file3.renrendoc.com/fileroot_temp3/2021-12/16/97a28a50-ffd1-49af-ad56-c124ac501508/97a28a50-ffd1-49af-ad56-c124ac5015085.gif)
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、常用SQL命令和VBA1 Select记录查询- 2 -1.1 Select查询语句- 2 -1.2 嵌套查询- 2 -1.3 生成表查询- 2 -1.4 多表查询- 2 -1.5 查询关键字应用- 2 -1.6 统计- 3 -2 SQL记录操作- 3 -2.1 插入记录- 3 -2.2 更新记录语句- 3 -2.3 删除记录语句- 3 -3 VBA访问连接Access数据库- 3 -3.1 查询- 3 -3.2 实现前一条、后一条查询操作- 4 -3.3 创建表和删除表- 4 -3.4 插入、更新、删除记录操作- 4 -4 窗体操作- 5 -4.1 打开窗体- 5 -4.2 关闭当前窗体-
2、5 -4.3 引用其他窗体中的变量或控件值- 5 -5 从窗体打开报表- 5 -6 获取当前数据库的路径- 5 - 5 -1 Select记录查询1.1 Select查询语句Select 字段列表|* Distinct消除重复记录、Top n最前n条记录数,字段也可用一个查询、统计替代From 表列表Where <条件表达式> 条件子句,不能包含统计函数,但可用查询、统计为条件值(即嵌套查询)Group By <分组表达式> 分组子句Having <条件表达式>Order By 字段列表ASC|DESC 排序子句例:Select Top 3姓名,入学分数 F
3、rom 研究生 Order By 入学分数 Desc 查询入学分数前三名Select Top 3姓名,入学分数 From 研究生 Order By 入学分数 查询入学分数最后三名Select Count(性别),性别 From 研究生 Group By 性别 按性别分组统计人数Select Avg(入学分数),性别 from 研究生 Group By 性别 按性别分组统计入学分数平均分1.2 嵌套查询将第1次查询结果作为第2次查询的条件Select 字段列表|*From 表列表Where 字段 >= (Select 统计字段 From 表) 子查询返回一个值字段 In (Select 字
4、段 From 表) 子查询返回多个值 如:查询入学分数大于平均分的学生学号和分数Select 姓名, 入学分数From 研究生Where 入学分数>(Select Avg(入学分数) From 研究生)1.3 生成表查询通过Select查询命令,将查询结果插入到一个新表中Select 字段列表|* Into 新表From 表列表Where1.4 多表查询(1) 使用Where条件实现表与表的连接(不需要建立表间关系)Select 字段列表|*From 表列表Where 表1.字段1=表2. 字段1 And 表2. 字段2=表3. 字段2(2) 使用内连Inner Join实现表与表的连接
5、(不需要建立表间关系)Select 字段列表|* From <表1> Inner Join <表2> ON <条件表达式> Where 1.5 查询关键字应用And,例:Where 成绩>=n1 And成绩<=n2 或Between n1 And n2 范围n1,n2Or,例:Where研究方向='考古学' Or研究方向='会计学'In,例:Where Col In(C1,C2,C3,) 或Where Col=C1 Or Col=C2 Or Col=C3 等于Like、?、*、#, 例:Where 姓名Like &
6、#39;'张*' 、Where姓名Like ''?志?'Null,例:Where Col Is Null 字段为空1.6 统计(1) 求和:Sum(数值字段),例:Sum(入学分数) AS 入学分数总计(2) 计数:Count(字段),例:Count('姓名') AS 女教师人数(3) 最大、最小值:Max(数值字段)、Min(数值字段),例:Max(入学分数) AS 最高分(4) 平均值:Avg(数值字段),例:Avg(入学分数) AS 入学平均分(5) 保留n位小数:Round(Sum/Max/Min/Avg(数值字段),n) (6)
7、 例: Select Distinct (Select count('学号') From 研究生 Where 性别='女' )/(Select count(学号) From 研究生 Where 性别='男' ) AS '女/男'FROM 研究生2 SQL记录操作注意:字符串数据两边加'号,数值型数据加或SQL不加2.1 插入记录Insert Into 表(字段1,字段2,.) Values(值1,值2,.) 子查询插入记录Insert Into表(字段1, 字段2,.) Select字段3, 字段4,. From表1 Wh
8、ereOrder By2.2 更新记录语句Update 表 Set 字段1=值1,字段2=值2,. Where 如:考古学研究方向分数加30Update 研究生 Set 入学分数=入学分数+30 Where 研究方向=考古学子查询作为修改条件Update表Set字段1=值1, 字段2=值2Where字段In(Select 字段From表1 WhereOrder By)2.3 删除记录语句Delete From 表 Where子查询作为删除条件DeleteFrom表Where 字段 In(Select 字段 From表1 WhereOrder By)3 VBA访问连接Access数据库3.1 查
9、询 Dim conn As New ADODB.Connection,rs As New ADODB.RecordsetSet conn = CurrentProject.Connection '连接当前数据库Set rs = New ADODB.Recordset '创建rs对象新实例rs.Open "Select * From 表", conn, adOpenKeyset, adLockReadOnlyIf Not rs.EOF Then '查询一条记录 x1= rs!字段1: x2= rs!字段2: xn= rs!字段nEnd IfDo Whi
10、le Not rs.EOF '查询多条记录 x1= rs!字段1: x2= rs!字段2: xn= rs!字段n rs.MoveNextLoop3.2 实现前一条、后一条查询操作'通用段定义连接对象Dim conn As ADODB.Connection,rs As ADODB.Recordset '定义连接、数据集对象'窗体加载事件设置Set conn = CurrentProject.Connection '连接当前数据库Set rs = New ADODB. Recordset '创建rs对象新实例rs.Open "Select
11、* From 表 Where Order By",Conn,adOpenKeyset,adLockReadOnly '打开表进行查询x1= rs!字段1: x2= rs!字段2: xn= rs!字段n'4个按钮Rs.MoveFirst '移到第1条记录按钮x1= rs!字段1: x2= rs!字段2: xn= rs!字段n RS.MovePrevious '移到前1条记录按钮If rs.BOF Then rs.MoveFirstx1= rs!字段1: x2= rs!字段2: xn= rs!字段nrs.MoveNext '移到下1条记录按钮If
12、rs.EOF Then rs.MoveLastx1= rs!字段1: x2= rs!字段2: xn= rs!字段nrs.MoveLast '移到最后1条记录按钮x1= rs!字段1: x2= rs!字段2: xn= rs!字段n3.3 创建表和删除表1. 创建表DoCmd.RunSQL "Create Reate Table <表名> (字段名1 数据类型 NULLNOT NULL, 字段名2 ) "如:创建具有学号,姓名,年龄等3个字段的Student表DoCmd.RunSQL "CREATE TABLE Student (学号 text(7
13、), 姓名 text(8), 年龄 Integer)"2. 删除表DoCmd.RunSQL "DROP TABLE <表名>"如:删除Student表DoCmd.RunSQL "DROP TABLE Student"3.4 插入、更新、删除记录操作1. 插入记录DoCmd.RunSQL "Insert Into <表名>(字段1,字段2,) Values('值1','值2,')" 如,Student表中插入一条:学号6001,姓名张志强,年龄20的记录DoCmd.Run
14、SQL "Insert Into Student(学号, 姓名, 年龄) Values('6001', '张志强', '20')"2. 更新记录DoCmd.RunSQL "Update 表 Set 字段1='值1', 字段2='值2 Where" 如,修改Student表中记录:条件学号为6001,年龄由20改为25 DoCmd.RunSQL "Update Student Set 年龄='25' Where学号='6001' "3. 删除记录DoCmd.RunSQL "Delete From 表 Where字段='值'" 如,删除Student表中学号为6001的记录DoCmd.RunSQL "Delete From Student Where学号='6001' "如,删除Student表中所有的记录DoCmd.RunSQL "Delete From Student"4 窗体操作4.1 打开窗体DoCmd.Ope
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年巴音郭楞道路运输从业资格证考试内容是什么
- 小学三年级100道口算题
- 2025年钦州货运上岗证模拟考试题
- 2025年荷泽货运从业资格证模拟考试驾考
- 华东师大版七年级数学上册《第3章整式的加减3.1列代数式3.1.3列代数式 》听评课记录
- 湘教版数学八年级下册《2.2.1平行四边形的边、角性质》听评课记录
- 建筑项目经理工作总结
- 初中理科教研组工作计划
- 新学校校办室工作计划
- 平面设计师工作计划范文欣赏
- JJG 1138-2017煤矿用非色散红外甲烷传感器
- 2024年极兔速递有限公司招聘笔试参考题库附带答案详解
- 2024-2030年中国无人机光电吊舱行业市场深度研究及投资规划建议报告
- 2024年考研政治试题及详细解析
- 征兵工作试题
- 2021新安全生产法解读
- 数据迁移解决方案
- 2024供电营业规则学习课件
- 2024春苏教版《亮点给力大试卷》 数学四年级下册(全册有答案)
- 湖北省普通高中2022-2023学年高一下学期学业水平合格性考试模拟化学(一)含解析
- 银行案件防控培训课件
评论
0/150
提交评论