Access数据库程序设计总复习考试范围:教材:1~9章。10-12章不考核。参考实验教材二级考试大纲。第一章1.35,1.36(不考核)第五章5.4.2节规范化基础、5.5节,5.6节,5.7节(不考核)第六章6.5SQL查询设计(不考核)第七章创建索引的语句(不考核)第八章8.4节菜单与工具栏(不考核)第九章9.3程序调试(不考核)考试参考资料:教材:1~9章,实验指导书(习题集、试卷样题,补充的复习内容)注意:考试包括试卷、答题卷、机读卡。只上交答题卷和机读卡。学号、姓名不能漏写。自带2B铅笔,用于填涂答题卡。期末题型:一、判断题(0.5分*20=10分)二、选择题(1分*40=40分)(说明:包含VBA程序阅读题)三、填空题(1分*10=10分)四、应用题(40分)1.关系运算(2分*5=10分)2.SQL语句(2分*5=10分)(说明:有多表连接查询)3.VBA(10分)①VBA表达式写结果(1分*5=5分)②VBA程序编写(5分)4.实验操作题(10分)两个实验操作题,一个简单,一个难度大。说明:第一、二题在机读卡上完成。第三、四题在答题卷上完成。不考问答题,题型分值可能略有调整。应用题1.关系运算(举例)设有关系R、S如下表所示,计算:关系R关系S(1)A,B(R)(2)C=“d”(S)(3)RS(4)A,B(C=“f”(R))(5)A(R)×B=“a”(S)ABCabcbbfcadbcfBCDbcdbceadbefgABabcbbbacBCDadbABCDaacbbaccddebABbbbcABCDabcaaadddbbb(1)(2)(3)(4)(5)习题集:第二章习题答案:2.SQL语句(举例)设有一个职工表,表中有若干条记录,表结构定义如下:编号姓名部门年龄进厂日期职称性别工资文本文本文本整型日期/时间文本文本数值型记录举例:2006李平技术部501980/05/06技术员男5896.6编写SQL命令完成下面的查询:a.统计女职工人数SELECTCOUNT(*)FROM职工WHERE性别=“女”b.删除年龄在70岁以上的职工的全部信息DELETEFROM职工WHERE年龄70c.在职工表中,将进厂日期在1970年和1975年之间的职工工资增加20%UPDATA职工SET工资=工资*1.2WHEREYEAR(进厂日期)=1970andYEAR(进厂日期)=1975d.显示姓“王”的全部男职工的信息SELECT*FROM职工WHERE性别=“男”andLEFT(姓名,1)=“王”e.增加一个“简历”字段。ALTERTABLE职工ADD简历memo2.SQL语句(补充---上机完成以下内容)1建立一个Student表,它由Sno(学号)、Sname(姓名)、Ssex(性别)、Sage(年龄)、Sdept(所在系)五个属性组成。其中学号不能为空,值是唯一的,并且姓名取值也唯一。2建立一个SC(学生选课)表,它由学号Sno、课程号Cno,修课成绩Grade组成,其中(Sno,Cno)为主码。)3.查询所有姓刘的学生的学号与姓名及其出生年份。4.查询全体学生的姓名、学号、班级名称,学院名称。5.查询信息学院全体学生的学号、姓名、每门课程的成绩。6.查所有年龄在20岁以下的学生姓名及其年龄。7.查考试成绩有不及格的学生的学号和姓名。有多门课程不及格的学生,学号和姓名只显示一次。8.查信息学院和工程学院学生的姓名和性别。9.查询选修了“数据库应用”课程的学生的学号及其成绩,查询结果按分数的降序排列。10.查询选修了“数据库应用”课程的学生人数。11.查询每个学生及其选修的课程名其及成绩。(注:上述3-11题均使用教材中的表,参考第七章例题)教材:第七章例题;习题集:第七章习题3.VBA①VBA表达式写结果(举例)计算下列函数值答案(1)Sqr(4+3*7)+Round(-4.6)0(2)Int(-15.35)+Abs(-12)-4(3)Mid$(abcdABCD,5,2)&12AB12(4)Len(高等教育出版社)+310(5)Str(12)+AB12AB(6)Val(45a)+550(7)Lcase(abAs)+Right(高等教育,2)abas教育(8)Len(Left(1234程序设计ABC,6))6掌握以上函数。②VBA编程(举例)例1用InputBox分别输入x和y两个变量,比较它们的大小,使得x中的值大于y。用MsgBox输出x和y的值。DimxAsSingleDimyAsSingleDimtAsSinglex=Val(InputBox(x值))y=Val(InputBox(y值))IfxyThent=xx=yy=tEndIfMsgBoxx=&x&y=&y教材:第9章9.26节例题;习题集:第9章习题例2用InputBox输入某课程的百分制成绩mark,要求显示对应五级制的评定,请写出完成以上条件判断的程序表达式,用MsgBox输出结果。(注:只写条件判断式即可)评定条件如下:优成绩在90分以上(包括90)良成绩在80到90分之间(包括80)中成绩在70到80分之间(包括70)及格成绩在60到70分之间(包括60)不及格成绩在60分以下DimmarkAsSinglemark=Val(InputBox(mark的值))SelectCasemarkCaseIs=90MsgBox优秀Case80To89MsgBox良好Case70To79MsgBox中Case60To69MsgBox及格CaseIs60MsgBox不及格EndSelect例3计算1-100的奇数的个数并累加其和。DimiAsIntegerDimsAsIntegerDimnAsIntegers=0Fori=1To100Step2s=s+in=n+1NextiMsgBox个数=&n&累加和=&s例4计算5!。DimiAsIntegerDimsAsSingles=1Fori=1To5s=s*iNextiMsgBoxs例5计算1!+2!+3!+4!+5!。DimiAsIntegerDimsAsIntegerDimaAsIntegerDimbAsIntegers=0Fori=1To5a=1Forb=1Toia=a*bNexts=s+aNextiMsgBoxs例6统计1-5之间不是3的倍数的个数,并累加其和。Dimi,nAsInteger,mAsSinglei=1DoWhilei=5IfInt(i/3)*3iThenm=m+in=n+1EndIfi=i+1LoopMsgBox非3的倍数个数:+Str(n)+其累加和:+Str(m)此题用FOR语句更简单例7在1到100的整数中,将能被3或7整除的数的和sum及个数count求出来。DimsumAsIntegerDimcountAsIntegerDimiAsIntegersum=0count=0Fori=1To100IfiMod3=0OriMod7=0Thensum=sum+icount=count+1EndIfNextIMsgBoxsum=&sumMsgBoxcount=&count例8一篮鸡蛋,二个二个数多一个,三个三个数多二个,四个四个数多三个,五个五个数多四个,六个六个数多五个,七个七数正好,编程求鸡蛋个数。DimiAsIntegerFori=0To500Step7IfiMod2=1AndiMod3=2AndiMod4=3AndiMod5=4AndiMod6=5ThenMsgBox鸡蛋数为:&iExitForEndIfNextiDimiAsIntegeri=0Dowhilei500IfiMod2=1AndiMod3=2AndiMod4=3AndiMod5=4AndiMod6=5ThenMsgBox鸡蛋数为:&iExitDoEndIfi=i+7Loop方法一方法二4.实验操作题例1.创建“系统登录”窗体,当输入了正确的用户名“scau”和正确的口令“123456”时,关闭“系统登录”窗体,显示“欢迎”消息框。如果输入的用户名或口令不正确,则显示“用户名或密码不正确!”消息框,将用户名和口令两个文本框清空,焦点移回“用户名”文本框。操作步骤:(1)选窗体对象,点击“新建”;(2)选设计视图,打开新建窗体;(3)在窗体中放2个文本框(Text1和Text2)、2个标签和1个按钮;(4)设置口令文本框的输入掩码属性为:密码;(5)右击按钮,打开事件生成器下的代码编辑窗口;(6)在按钮“单击”事件中编写程序。PrivateSubCommand4_Click()IfText1=scauAndText2=123456ThenDoCmd.CloseMsgBox欢迎ElseMsgBox用户名或密码不正确Me!Text1=Me!Text2=Text1.SetFocusEndIfEndSub上机验证例2.以“学生”和“选课”表为数据源,创建嵌入式的主/子窗体。(窗体上机补充题)操作步骤:(1)选窗体对象,点击“新建”;选窗体向导,选“学生”表和“选课”表为数据源,并选择所需字段;选带有子窗体的窗体,指定表格布局为数据表,样式为“标准”,然后“确定”;上机验证例3.查询部分(查询上机补充题)(1)显示每位学生的学号、姓名、学院名称、系名称、班级名称。命名为学生查询1。操作步骤:(a)选查询对象,点击“新建”,选“设计视图”;(b)选择数据源“学院”、“系”、“班级”、“学生”表并关闭显示表窗口;(c)在查询设计界面的表/查询设计窗格下的字段行分别选择学号、姓名、学院名称、系名称、班级字段;(d)关闭查询设计界面窗口,保存查询设计,命名为学生查询1。上机验证例3.查询部分(上机补充题)(2)显示每位1987年出生的女学生的学号、姓名、学院名称、系名称、班级名称。命名为学生查询2。操作步骤:(a)选查询对象,点击“新建”,选“设计视图”,打开查询设计界面;(b)选择数据源“学院”、“系”、“班级”、“学生”表并关闭显示表窗口;(c)在查询设计界面的表/查询设计窗格下的字段行分别选择学号、姓名、学院名称、系名称、班级字段;(d)在查询设计界面的表/查询设计窗格下的字段行选择性别字段,去掉该字段下方对应的显示行的“打勾”,然后在该字段下方对应的条件行输入“女”。再选择出生年月字段,去掉该字段下方对应的显示行的“打勾”,然后在该字段下方对应的条件行输入year([出生年月]);(e)关闭查询设计界面窗口,保存查询设计,命名为学生查询2。上机验证例3.查询部分(上机补充题)(3)分别统计男生和女生的人数。操作步骤:(a)选查询对象,点击“新建”,选“设计视图”,打开查询设计界面;(b)选择数据源“学生”表并关闭显示表窗口;(c)在查询设计界面的表/查询设计窗格下的字段行选择性别字段。点击菜单/视图/总计,并在总计栏选择“分组”,现加入一个学号字段,并在该字段对应的总计栏处选择“计数”,将学号字段的标题改为“人数:学号”;(d)运行并保存查询设计。例3.查询部分(上机补充题)(4)显示每门课程的课程名、学分、平均分。操作步骤:(a)选查询对象,点击“新建”,选“设计视图”,打开查询设计界面;(b)选择数据源“课程”和“选课”表并关闭显示表窗口;(c)在查询设计界面的表/查询设计窗格下的字段行分别选择课程名、学分、成绩字段。点击菜单/视图/总计,并在课程名对应的总计栏处选择“分组”,在成绩字段对应的总计栏选择处选择“平均值”,将成绩字段的标题改为“平均分:成绩”;(d)运行并保存查询设计。上机验证例3.查询部分(上机补充题)(5)建立一个查询,按照学生的学号和课程号查询学生的成绩。操作步骤:(a)选查询对象,点击“新建”,选“设计视图”,打开查询设计界面;(b)选择数据源“学生”和“选课”表并关闭显示表窗口;(c)在查询设计界面的表/查询设计窗格下的字段行分别选择学号、课程号、成绩字段。(d)运行并保存查询设计。例3.查询部分(上机补充题)(6)使用生成表查询方法,将籍贯为广东省的学生的基本信息存