资源描述:
《常用SQL命令和VBA代码》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、常用SQL命令和VBA1Select记录查询-2-1.1Select查询语句-2-1.2嵌套查询-2-1.3生成表查询-2-1.4多表查询-2-1.5查询关键字应用-2-1.6统计-3-2SQL记录操作-3-2.1插入记录-3-2.2更新记录语句-3-2.3删除记录语句-3-3VBA访问连接Access数据库-3-3.1查询-3-3.2实现前一条、后一条查询操作-4-3.3创建表和删除表-4-3.4插入、更新、删除记录操作-4-4窗体操作-5-4.1打开窗体-5-4.2关闭当前窗体-5-4.3引用其他窗体中的变量或控件值-5-5从窗体打开报表-
2、5-6获取当前数据库的路径-5--5-1Select记录查询1.1Select查询语句Select字段列表
3、*Distinct消除重复记录、Topn最前n条记录数,字段也可用一个查询、统计替代From表列表[Where<条件表达式>]条件子句,不能包含统计函数,但可用查询、统计为条件值(即嵌套查询)[GroupBy<分组表达式>]分组子句[Having<条件表达式>][OrderBy字段列表[ASC
4、DESC]]排序子句例:SelectTop3姓名,入学分数From研究生OrderBy入学分数Desc查询入学分数前三名SelectTop3姓名,
5、入学分数From研究生OrderBy入学分数查询入学分数最后三名SelectCount(性别),性别From研究生GroupBy性别按性别分组统计人数SelectAvg(入学分数),性别from研究生GroupBy性别按性别分组统计入学分数平均分1.2嵌套查询将第1次查询结果作为第2次查询的条件Select字段列表
6、*From表列表Where字段>=(Select统计字段From表)子查询返回一个值字段In(Select字段From表)子查询返回多个值如:查询入学分数大于平均分的学生学号和分数Select姓名,入学分数From研究生Where入
7、学分数>(SelectAvg(入学分数)From研究生)1.3生成表查询通过Select查询命令,将查询结果插入到一个新表中Select字段列表
8、*Into新表From表列表[Where]1.4多表查询(1)使用Where条件实现表与表的连接(不需要建立表间关系)Select字段列表
9、*From表列表Where表1.字段1=表2.字段1And表2.字段2=表3.字段2(2)使用内连InnerJoin实现表与表的连接(不需要建立表间关系)Select字段列表
10、*From<表1>InnerJoin<表2>ON<条件表达式>[Where]1.5查询关
11、键字应用And,例:Where成绩>=n1And成绩<=n2或Betweenn1Andn2范围[n1,n2]Or,例:Where研究方向='考古学'Or研究方向='会计学'-5-In,例:WhereColIn(C1,C2,C3,…)或WhereCol=C1OrCol=C2OrCol=C3等于Like、?、*、#,例:Where姓名Like''张*'、Where姓名Like''?志?'Null,例:WhereColIsNull字段为空1.6统计(1)求和:Sum(数值字段),例:Sum(入学分数)AS入学分数总计(2)计数:Count(字段),例
12、:Count('姓名')AS女教师人数(3)最大、最小值:Max(数值字段)、Min(数值字段),例:Max(入学分数)AS最高分(4)平均值:Avg(数值字段),例:Avg(入学分数)AS入学平均分(5)保留n位小数:Round(Sum/Max/Min/Avg(数值字段),n)(6)例:SelectDistinct(Selectcount('学号')From研究生Where性别='女')/(Selectcount(学号)From研究生Where性别='男')AS'女/男'FROM研究生2SQL记录操作注意:字符串数据两边加'号,数值型数据加[
13、]或SQL不加2.1插入记录InsertInto表(字段1,字段2,...)Values(值1,值2,...)子查询插入记录InsertInto表(字段1,字段2,...)Select字段3,字段4,...From表1[Where][OrderBy]2.2更新记录语句Update表Set字段1=值1,字段2=值2,...[Where]如:考古学研究方向分数加30Update研究生Set入学分数=入学分数+30Where研究方向=’考古学’子查询作为修改条件Update表Set字段1=值1,字段2=值2Where字段In(Select字段From
14、表1[Where][OrderBy])2.3删除记录语句DeleteFrom表[Where]子查询作为删除条件DeleteFrom表Where字段In