access知识点
Access上机难点类型题汇总
一、建立和维护数据表
1、字段的数据类型
自动编号(系统自动生成并按顺序或指定的格式增加、在创建表时自动设成主键)
是/否(假使用0或TRUE、真使用-1或FALSE)
计算字段:只能使用本表中的字段作为计算字段
查阅向导:不属于数据类型,列表框、组合框区别
2、创建数据表
通常使用设计视图完成,
通配符的用法(记住p17)
标识符使用”!”、”.”、“[ ]”:使用字段一定要指定表。
报表或窗体中的控件:使用forms
函数:
1、四舍五入函数:Round(<数值表达式>[,<表达式>])
按照指定的小数位数进入四舍五入运算的结果。[<表达式>]是进入四舍五入运算小数点右边应保留的位数。
例如:Round(3.255,1)= 3.3; Round(3. 754,2)= 3.75;Round(3.754,0)= 4
2、平均值函数Avg()
例如:在tstud表中求小于所有学生年龄的平均值的学生 <(select avg([年龄]) from tstud)
3、求和函数sum()
4.字符串长度检测函数:Len(<字符申表达式>或<变量名>)
len4 = Len(“考试中心”) 返回4
5.字符串截取函数
Left (<字符串表达式>,<N>):字符串左边起截取N个字符。
Right(<字符串表达式>,<N>):字符串右边起截取N个字符。
Mid(<字符串表达式>,<N1>,[N2]):从字符串左边第N1个字符起截取N2个字符。
Mid(“计算机等级考试”,4,4) 返回“等级考试”
日期/时间函数
Date():返回当前系统日期。
Year(<表达式>): 返回日期表达式年份的整数。
Month(<表达式>):返回日期表达式月份的整数。
Day(<表达式>):返回日期表达式日期的整数。
Weekday (<表达式>[.W]):返回1-7的整数,表示星期几。
Weekday函数中,返回的星期值为星期日为1,星期一为2,以此类推。
例如:
Month([出生日期])=7 , 把7月份出生的学生查找出来
Year(Date())-Year([出生日期]):根据出生日期计算学生年龄
返回日期函数DateSerial(year, month, day)
当前年的5月1日 Dateserial(year(date()),5,1)
前一年的5月1日 Dateserial(year(date())-1,5,1)
后一年的5月1日 Dateserial(year(date())+1,5,1)
输入掩码:
提到输入掩码(数字)的用:0 说几个写几个
提到输入掩码(数字或空格)用:9 说几个写几个
提到输入掩码(数字或字母)用 A 说几个写几个
提到输入掩码(字母)用: L 说几个写几
\紧随其后的字符和“ ”功能一样。
3、字段标题
也成字段的别名,在数据表视图中对应字段将显示为指定的标题内容
4、字段的输出显示格式
给定输出格式( 月 日 年)当出现#时说明空间小、
5、验证规则
验证规则是校验输入的数据是否正确,验证文本是提示信息。
6、会使用窗体筛选和高级筛选
注:结果可以通过导出的方式保存或临时查看
7、冻结隐藏字段、设置字体的大小、颜色、行高和列宽等基本的设置需要熟练掌握。
8、创建表间的关系
二、查询
1、选择查询
注:显示的字段、总计、计数、平均等
2、交叉表查询
注:行标题和列标题的选定,值
3、参数查询
在条件行中使用[ ]来实现
4、操作查询
更新、追加、删除、生成表查询
实施:
1、利用查询向导(若题目没有具体的要求使用则可不必使用
,简单查询向导、交叉表查询向导、查找重复项查询向导、查找不匹配项查询向导)
2、使用查询设计器
注:A、计算字段的表达式一定要加上表的名字。B、日期要使用##括起来。
返回记录设置(不足5条的按实际记录数返回)、查询汇总(总计下拉列表中包括合计、平均值等)top 小于5的数
3、操作查询
A、更新查询(只能运行一次不要运行多次、百分数要转换成小数使用)
※基本操作(表)函数类型题集合:
1、上一年度五月一日以前(含)的日期(规定:本年度年号必须 用函数获取)。
<=DateSerial(Year(Date())-1,5,1)
2、下一年度的一月一日(规定:本年度的年号必须用函数获取)。
DateSerial(Year(Date())+1,1,1)
3、本年度九月一日(规定:本年度年号必须由函数获取)
DateSerial(Year(Date()),9,1)
4、系统当前年一月一号。
DateSerial(Year(Date()),1,1)
5、默认值设置为系统当前日期。Date()
6、默认值设置为系统当前日期的前一天。Date()-1
7、默认值设置为系统当前日期的后一天。Date()+1
8、销售业绩表:判断主键
选前三个字段为主键(“时间”、“编号”、“物品号”)
9、(19套1)分析设置表”tScore”主键
选前二个字段为主键(“学号”、“课程号”)其与的都是一个主键!
※简单应用(查询)类型题集合:
一、字符串函数类型题:
1、"姓名"字段的第一个字符为姓,剩余字符为名。将姓名分解为 姓和名两部分。
字段行输入:姓:Left(([姓名]),1)
字段行中输入:名:Mid([姓名],2,len([姓名])-1)
2、房间号的前两位为楼号。
字段行中输入:楼号:Left([房间号],2)
3、学号字段的前4位代表年级。
字段行中输入:年级:Left([学生ID],4)
4、查找"身份证"字段第4位至第6位值为"102"的纪录。
条件行中输入:Mid([身份证],4,3)= "102"
5、查找姓名为三个字的记录。 姓名为二个字的记录
条件行输入:Len([姓名])= "3"
二、日期函数类型题:
1、计算教师的"工龄"。
字段行中输入:工龄:Year(Date())-Year([工作时间])
2、查找并显示聘期超过5年(使用函数)的。
条件行中输入:Year(Date())-Year([聘用时间])>5
3、统计这个客人"已住天数"。
字段行中输入:已住天数:Date()-[入住日期]
4、其中"入校年"数据由"入校时间"字段计算得到,显示为四位数字年的形式
字段行中输入:入校年:Year([入校时间])
5、统计星期一(由预约日期判断)
条件行中输入:Weekday([预约日期])=2
6、查找三月份上课的信息。
条件行中输入:Month([上课日期])=3
三、统计函数类型题:
1、平均成绩取整要求用Round函数实现。
字段行中输入:Round(Avg([成绩]))
2、统计最高分成绩与最低分成绩的差。
字段行中输入:Max([成绩])-Min([成绩])
3、计算并输出教师最大年龄与最小年龄的差值,字段标题为 m_age。
字段行中输入:m_age:Max([年龄])-Min([年龄])
4、最高储备与最低储备相差最小的数量,字段标题为m_data m_data:Min([最高储备]-[最低储备])
四、SQL子查询类型题:
1、查找成绩低于所有课程总平均分的学生信息。
条件行中输入:<(select Avg([成绩]) from tScore)
2、查找年龄小于平均年龄的学生。
条件行中输入:<(select Avg([年龄]) from tStudent)
3、查找并显示单价高于平均单价的图书。
条件行中输入:>(select Avg([单价]) from tBook)
4、查找有档案信息但无工资信息的职工。
条件行输入:Not In (select [职工号] from 工资表)
5、查找没有任何选课信息的学生。
条件行中输入:Not In (select [学号] from tScore)
6 查找还未被选修的课程名称
Not In(select [课程号]from tScore)
五、其他类型题:
1、要求引用窗体对象"fTest"上控件"tSex"的值。
条件行中输入:[Forms]![fTest]![tSex]
2、查找并显示有书法或绘画爱好学生。
条件行中输入:Like "*书法*" Or Like "*绘画*"
3、查找姓"王"病人的基本信息。
条件行中输入:Like "王*"
4、姓名含有"红"字的记录。
条件行中输入:Like "*红*"
5、姓"李"且名字第三字为"明"的记录。
条件行中输入:Like "李?明"
6、查找并显示入校时间非空的。
条件行中输入:Is Not Null
7、查找并显示简历信息为空的。
条件行中输入:Is Null
8、年龄为偶数的。
条件行中输入:[年龄] Mod 2=0
9、年龄为奇数的。
条件行中输入:[年龄] Mod 2=1
10、当运行该查询时,应显示参数提示信息"请输入爱好",输入爱好后,在简历字段中查找具有指定爱好学生。
条件行中输入:Like "*"+[请输入爱好]+"*"
11、当运行该查询时,屏幕上显示提示信息:"请输入要比较的分数:",输入要比较的分数后,该查询查找学生选课成绩的平均分大于输入值的学生信息。
条件行中输入:>[请输入要比较的分数:]
12、"编号"字段值均在前面增加"05"两个字符。
更新到中输入:"05" & [编号]
13、将所有记录的"经费"字段值增加2000元。
更新到中输入:[经费]+2000
14、将其中的"编号"与"姓名"两个字段合二为一,字段标题为"编号姓名"。
字段行中输入:编号姓名:[编号]+[姓名]
15、添加一个计算字段"优惠后价格",计算公式为:
优惠后价格=费用*(1-10%)
字段行中输入:优惠后价格:[费用]*(1-0.1)
16、学分字段值都上调10%。在更新到上写:[学分]*1.1
17、查找库存数量在合理范围([最低储备,最高储备])的产品。
条件行中输入:Between [最低储备] And [最高储备]
※综合应用(窗体、报表)类型题集合:
※注意:在窗体或报表书写计算表达式时,表达式必须以"="开头。
(1)字段必须带[](2)参数查询必须用[ ]括
(3)页码[page]&”/”&[pages]
(4)宏引用窗体上控件值[Forms]![窗体值]![控件值]
1、文本框控件设置为"页码-总页数"形式的页码显示
(如1-15、 2-15、...)。
"控件来源"属性中输入:=[Page] & "-" & [Pages]
2、文本框控件设置为"页码/总页数"形式的页码显示
(如1/35、2/35、...)
"控件来源"属性中输入:=[Page] & "/" & [Pages]
3、文本框控件设置为"-页码/总页数-"形式的页码显示
(如-1/15-、-2/15-、...)。
"控件来源"属性中输入:="-" & [Page] & "/" & [Pages] & "-"
4、显示系统年月,显示格式为:XXXX年XX月(注:不允许使用 格式属性)"控件来源"属性中输入:
= Year(Date()) & "年" & Month(Date()) & "月"
5、性别为"男"且年龄小于20时显示为选中的打钩状态,否则显示为不选中的空白状态。"控件来源"属性中输入:
=IIf([年龄]<20 And [性别]="男",True,False)
6、性别为1,显示"男";性别为2,显示"女"。
"控件来源"属性中输入:=IIf([性别]=1,"男","女")
7、如果金额合计大于30000,"txtIf"控件显示"达标",否则显示"未达标"。"控件来源"属性中输入:
=IIf(Sum([单价]*[数量])>30000,"达标","未达标")
8、党员否"字段值为True,显示"党员"两字;"党员否"字段值为False,显示"非党员"三字。
"控件来源"属性中输入:=IIf([党员否],"党员","非党员")
9、"学号"字段的第5位和6位编码代表该生的专业信息,当这两 位编码为"10"时表示"信息"专业,为其他值时表示"管理"专 业。"控件来源"属性中输入:
=IIf(Mid([学号],5,2)="10","信息","管理")
10、计算并显示学生平均年龄。
"控件来源"属性中输入:=Avg([年龄])
11、要求依据"团队ID"来计算并显示团队的个数。
"控件来源"属性中输入:=Count([团队ID])
12、使用Round函数将计算出的平均单价保留两位小数。
"控件来源"属性中输入:=Round(Avg([单价]),2)
13、依据报表记录源的"年龄"字段值计算并显示出其四位的出生年信息。"控件来源"属性中输入:=Year(Date())-[年龄]
14、要求该控件可以根据报表数据源里"所属部门"字段值,从非数据源表对象"tGroup"中检索出对应部门名称并显示输 出.(提示:考虑Dlookup函数的使用)"控件来源"属性中输入:
=DLookUp("名称","tGroup","部门编号=所属部门")