TOyou:这些内容都是最基础的必须要掌握的,也比较简单,希望大家能认真看完,可能看到字比较多头疼,但是都挺简单很容易理解,就是我比较啰嗦想让大家更明白点闲话说的比较多,但是坚持看完收获会不小噢,这可是我一个字一个字打出来的,大家珍惜下我的劳动成果~O(∩_∩)O!~因为老师能力也有限,所以补充和总结不充分的地方希望大家谅解,有什么问题可以再提出再交流。里面截了图的例子是针对第一套的简单应用题部分的数据库操作的,你们可以打开自己做一下。在查询中的查询条件行书写条件表达式时需要注意的!!1.ACCESS中常用函数,必须掌握abs(数值)int(数值)fix(数值)round(数值)inStr([开始位置,]母字符串,子字符串)len(字符串)left(字符串,字符个数)Right(字符串,字符个数)Mid(字符串,开始的位置[,字符个数])注:此处方括号[]中括起的内容代表的是可有可无,即inStr函数中的开始位置可不用指定,mid函数中的字符个数可不用要求。和我们后面提到的[]用法注意区分。Date():表示系统当前的日期;Time():表示系统当前的时间;Now():表示系统当前的日期和时间。Year(date):返回指定日期中的年数;Month(date):返回指定日期中的月数;Day(date):返回指定日期中的天数;Weekday(date):返回指定日期中的星期数,星期日为1。①这些函数里面的字符串内容可以直接是指定的字符串,例如:left(“ABCD是英文字母”,3)=”ABC”即是截取了”ABCD是英文字母”这个字符串的前三位,即得出”ABC”字符串②字符串的内容还可以通过指定字段去获得例如:left([学生]![学号],3)即使将学生表中的学号字段的值的从左边起的前三位截取出来。其他的函数也可以这样使用,根据不同的要求使用不同的函数。③例如:如果想返回入学时间字段的年份则Year([入学时间])或者Year([学生信息]![入学时间])Year([入学时间])指获取了入学时间字段的年份,这是当前只有一个表,或者虽然有多个表但是只有一个表中有入学时间这个字段的情况下有效。但是如果有多个表都有入学时间字段的话,就一定要指定表名再指定字段名就要用Year([学生信息]![入学时间])获取学生信息表的入学时间字段的年份④关于日期时间型函数需要区分的东东直接获取系统当前的日期或者时间或者日期和时间有三个相关函数:Date()Time()Now()这个()一定不能缺且()里一定为空想获得当前日期的年、月、日、天数、星期相关的5个函数如,想获得系统当前日期的年Year(date()),月Month(date())等等,一定注意,date后一定加括号!如果不加()系统就会默认date是个字段了,会自动给编程Year([date]),这就是错的,没有字段名叫date的字段存在嘛~而如果想获得某字段的年份则Year([入学时间])就如上面讲的内容一样。注意星期的函数千万别写错了,是weekday!默认情况下,如果是星期天则返回的是1,是星期一返回的则是2.但如果你想让星期一返回1,这里需要指定一下参数,(具体内容可见书上P214和第七章PPT的P60)和VBA语言相关的关于日期/时间函数必须掌握的:DateSerial()DateValue()DatePart()DateDiff()DateAdd()(具体内容见教材课本P214)⑤这里小小总结一下,凡是函数,后面都要用()将内容括起,如left(···)函数,year(··)函数;凡是某字段都要用方括号[]将其括起,如[姓名],[年龄];凡是字符串都要用双引号””将内容括起,如:”希望大家能好好看我给大家总结的东西(*^__^*)……”空值或空字符串:空值null空字符串(注:双引号中无空格)要注意空值和空字符串可不一样啊!见课本P73和P113的第十题,把这道题搞明白了,这个知识点就无敌了。2.常用运算符,必须掌握Between...And...In()NotLike“”&和+求余符号Mod整除符号\除号/不等号(上面具体内容见第三章内容)第七章模块P69~P74,P208,P212~P216)、3.输入掩码必须要掌握的:0和9,#,L和?,A和a,密码(其他的也要知道)(课本教材P43。考前再多看几遍!!)容易混淆,需要注意的:①题目中要求输入掩码设置为“010-******”这种格式,意思就是,前半部分010-是直接输出来的,我们讲过,用双引号括起的内容代表字符串,就会直接输出,因此如果书写“010-”那么就会直接输出010-,a.后面的6位要求0~9的数字显示,就是必须输入数字,就用到字符0(如果非必须输入数字的话,用字符9),所以完整的写法是“010-”000000,注意后面作为输入掩码字符的几个0千万不要用双引号括起,一单括起就会当成字符串直接输出0了,而无法起到作为输入掩码的效果了!注意双引号是英文状态下的!!Access中所有的符号全都是英文状态下的!!!b.若要求输出形式为“姓名拼音-******”后面的6位要求必须用字母显示,则用到字符L,完整写法是“姓名拼音-”LLLLLLc.和的用法,完整写法是“姓名拼音-”LLLLLL则后面6位输入的字母,无论大写还是小写字母显示的都是小写。则全转为大写4.通配符:一般在条件式中的书写,和查找功能中会使用到。必须要掌握的*,#,?(具体内容见第二章书上)5.注意:必须掌握!!!!1)access查询中:凡是涉及到某字段,字段名一定要用中括号括起[](一定是英文状态下的即半角标点),A.当涉及多个表时,还必须要指明表名(如学生表和成绩表里都有姓名字段,必须确定是指哪个表中的姓名字段)这时表名也需要用中括号括起[],表名和字段名之间用感叹号!连接例如:学生表中的姓名字段(表名是学生,字段名是姓名)则表示为[学生]![姓名]成绩表中的姓名字段(表名是成绩,字段名是姓名)则表示为[成绩]![姓名]B.access中当要引用窗体和报表中的某控件中的值时,和引用表中的字段的方法是一样的例如:引用窗体名为fTemp中的控件名称为tAge的值则表示为forms![fTemp]![tAge]forms千万不能忘记写,为了说明我们是要引用窗体里的值。引用报表名为fTemp中的控件名称为tAge的值则表示为reports![fTemp]![tAge]reports千万不能忘记写,为了说明我们是要引用报表里的值。2)而在VBA语句中,也会有引用窗体和报表的值的情况,与access中方法是一样的,唯一区别就是,不需要用方括号[]括起了,无论是表名、窗体名、报表名、字段名、控件名都不需要使用方括号。例如:forms!fTemp!tAge但如果是在函数中的话,也不需要用中括号[],都要用双引号括起例如:DLookUp(“名称”,”tGroup”,”所属部门=部门编号”)是从tGroup表里检索出名称并输入,而这个名称则是根据条件:由所属部门字段值所对应的部门名称。(本例子见真题第二套操作题:三,综合应用题的第(3)小问关于Dlookup函数及其他相关VBA函数请看第七章PPT的P65~P69)3)access中在条件行中涉及到字符串,一定要用双引号(一定是英文状态下的即半角标点),将字符串括起,例如:not“女”4)当涉及日期时一定要用##(一定是英文状态下的即半角标点),将日期括起例如:#1991-1-1#或者#1991/1/1#5)查询中的字段行一般,字段行显示的就是字段名,整一列就说明是对相应字段的操作。例如:下面的查询代表的意义是:查询tScore表中的学号字段”2001102315”或者”2001102310”的记录按照降序排列并显示其学号列即只要是学号大于2001102315的,小于2001102310的都会被查出来,求的是并集,而非交集!这个学号2001102315和20011202310为什么都加了引号呢?因为学号这个字段的属性是文本类型的,而非数字型。文本型的是字符串,是不是要加双引号啊?所以这么几个重复在讲的原则都永远存在。而特殊的字段行,即是计算字段!例如:我们表中只有学号字段,而没有班级字段,班级字段的值如何获得呢?一般是要求通过截取学号字段的前4位数的值!或者别的要求,大家就具体问题具体分析。这要用到left函数大家看到字段行,我们只是输入了后半部分left([学号],4)以后按回车键,就自动添加上了前面的表达式1这几个字,运行后结果显示列名是表达式1,根据题目的要求,需要显示的是班级,就把表达式1改成班级运行。这里要注意!!表达式1和班级后面的冒号一定是英文状态下的!6)查询中的总计行大家注意到总计行并不是一开始就有的,需要我们点击汇总按钮才出来一般的选择查询不需要用到它,只有涉及到计算字段、求最大、最小、合计、平均时才用到。我们针对前一个例子再说明下总计行的用法:依旧是班级字段①总计行选择groupby结果因为groupby函数是分组的意思②总计行选择合计结果把每行的内容求和③这个是重点需要理解的这个结果我只截取了部分,expression是表达式的意思。他就单纯将字段列表达式的意义显示出来而已,即,只是把学号的前四位取出来了,既不分组也不求和等等。。④⑤对所有行的个数求和。注意和合计区分!⑥求平均值⑦⑧至于where的用法,想显示成绩91分的同学的班级号发现出现错误正确做法,成绩行添加两列,一列作为显示;一列作为条件,不需要显示,总计行使用了where;where的用法就是指所遵循的法则是条件行中的法则。结果是同样想达到效果,总计行完全可以取消结果一样。但是如果想分组之类的就肯定不能取消结果就是找包含成绩91分的班级有哪些91分的分数有哪些。说明表中91分以上的没有考93分94分等等分数又将班级分组,又将成绩分组。注意上面:在查询中班级字段在最左边,结果显示就在最左边,大家注意下面的和上面的区别所以,一定按题目要求的顺序写,不要白白丢分。⑨如果我们想求平均成绩字段,就需要通过成绩字段来计算,用到avg函数对吧!a.这个是不是直接将成绩行求了平均值看,查询字段名给自动改为了成绩之平均值,看着名字又臭又长,想改?看下列b.在a的基础上,在成绩之前加了平均值:(注意这个冒号一定是英文状态下的!!)结果一样c.第三种方法注意此时没有总计行,因为此时只涉及的这一列,总计行可有可无。结果就是对所有的成绩求了平均d.但是,如果还有别的列,需要将别的列分组然后再求平均,要分组,必然需要总计列调出所以,平均成绩列由于涉及到将字段计算了,总结行用了expressio,而课程编号的总计行用的是分组groupby结果就是按照每门课程求了平均成绩e.上几种求平均的方法注意区分,其实理解透了一点都不难,如果求和的话需要用到sum函数,大家自己练习一下,我还是重点讲下求平均,当按上几种方法求出的平均值大家看到了,小数位数很多,一般题目要求的结果,小数位数都没有,即是对结果取了整数,或是四舍五入了。需要用到三个函数,已经讲过的int(),fix(),round(),一般不涉及到负数的话,我们常用的是int()和round()a~c的3个例子中,平均值结果是73.75988.若题目要求输出显示为73,相当于取整了,而非四舍五入,用到int函数,这里只能在c方法的基础上去做进一步的写法,a法和b法没办法。所以完整写法:int(avg([成绩]))若题目要求输出显示为74,相当四舍五入,用到round函数,这里只能在c方法的基础上去做进一步的写法,a法和b法没办法。对于e例子中有三个结果,就要综合判断了,如果题目要求显示结果是说明是四舍五入了,应该若显示结果是则说明是取了整,则好啦!很好理解的。大家应该不会再有什么疑惑了吧?F.在字段行,求最大成绩和取整后的平均成绩之差,怎么弄?还可以这里平均成绩没取整结果,可以把字段名自己改!~还可以结果一样吧?至于平均成绩的小数数位有细微差别不需