资源描述
蚌埠蓝图学校版权所有 13855224318 QQ:276708862
全国计算机等级考试二级ACCESS上机42题重点难点解析
01题
格式 mm月dd日yyyy
更新查询,删除查询,窗体基本控件的使用
02题
输入掩码
0代表数字而且必填
窗体基体属性的设置 浏览按钮,窗体标题
xxxx年xx月(不允许使用格式属性)
=Year(Date()) & "年" & Month(Date()) & "月"
报表分组,按编号字段前四位分组
=left([编号],4)
03题
查询题目中,(注意)建立两表中的关系时,没有实施参照完整性
在查询中实现计算
平均成绩:([数学]+[计算机]+[英语])/3
04题
有效性规则的使用方式>0
当前日期前一天date()-1
怎样判断一个表中的主键,一个表中可以设置多个主键
主键能够唯一标识每一条记录,不允许中重复值或空值
查询年龄小于平均年龄
<(select avg([年龄]) from tStudent)
将学号的前6位做为班级编号添加到另外一张表中表达式
Left([tStudent]![学号],6)如果查询数据源中有多个表有相同的字段一定要表名限定是哪一个表的字段
自动运行宏命名为autoexec
显示姓名对学分求总分 学分: Sum([tCourse]![学分])
05题
文件—获取外部数据—选择数据源类型.xls,注意第一行包含行标题的区别
第一大题第4小题,将一个表拆分成两个表,是通过生成表查询做出来的,
1975年1980之间参加工作表达式 between #1975-1-1# and #1980-12-31#
职称为教授或副教授 职称 教授 or 副教授
注意在对tOffice设主键时,一定要把tOffice表中的数据删除,然后在去设置主键
统计在职教师按职称分组的平均年龄
总计查询,对职称进行分组对年龄进行求平均值
DLookUp具体应用p278有具体的解释
=DLookUp("名称","tGroup","部门编号='" & [所属部门] & "'")
06.
怎么样能够换两个表中的字段可以在表设计器中做,也可以数据表视图中操作
报表的页码的使用
在添加文本框前,会出现一个标签控制,一定要先把它删除
当前页/总页数 =[Page] & "/" & [Pages]
07.
只能输入系统日期前一年的五月一日 CDate(Year(Date())-1 & "-5-1")
设置邮箱密码为6位星号显示选择邮箱密码,点击右边输入掩码向导
选择密码即可
设置复选框的名称opt1注意不是设置复选框标签的名称,默认值为假
在默认值为假输入no
将职为为经理编号和姓名合二为一输出
管理人员: [编号]+[姓名] 条件为经理
11.
表结构输入掩码必须为9位前3位为数字第四位为字母V第5位为字符”-”最后一位字母W其余各位为数字 000"V-"000"W"
有书法或绘画的学生的记录
Like "*书法*"
Like “*绘画*”
交叉表查询,一共有行标题,列标题和值字段三部分组成,行标题最多有三个,列标题有一个,值字段有一个
Mid([姓名],1) 取出姓名中的姓
Mid([姓名],2) 取出姓名的名字
主窗体和子窗体有设置的时候有什么区别
如果想要去掉子窗体的浏览按钮,那么就要选取中子窗体然后在窗体的属性浏览按钮,然后点否
12.基本题:文件---获取外部数据----选择要导入表的数据库
13.
创建一个查询,查找教师的编号,姓名,性别,职称其中性别字段准则为条件参数要求引用窗体对象fTest上tSex的值
此题写法如下
[forms]![fTest]![tSex]
通过代码引用考生文件下的test.bmp图片做为窗体的背景
Me.Picture = CurrentProject.Path & "/test.bmp"
14.设置年龄的有效性规则不能为空
在年龄的有效性规则中输入 is not null
如果要是为空应该设置为 is null
当前年的一月一日
CDate(Year(Date()) & "-1-1")
当前年前一年的一月一日
CDate(Year(Date())-1 & "-1-1")
报表题
如果报表数据源中性别1代表男,性别2代表女,想要显示成男或女
应该在控制来源中输入
=IIf([性别]=1,"男","女")
15.表的基本操作怎样把单价保留两位小数
单价 数字 单精度型 小数位数2位
应该在表设计器中字段大小单价度型 格式 固定 小数位数 2位
输入掩码只能输入8位数字或字母形式A p41页
16.设置表对象,姓名为必填字段,同时设置其为有重复值索引。
窗体上名为bTitle的标签文本显示阴影特殊效果
17.
在查询中实现计算
单位奖励:经费*0.1
在access中不能实现经费*10%,只能写成 经费*0.1而且在写过以后会出现 经费*.1这是正确的
取消子窗体和主窗体的浏览按钮
分别选中子窗体和子窗体找到相应的属性然后点击取消
18.V_max:max(价格)
V_min: min(价格)
最高价格与最低价格之差:max(价格)-min(价格)
创建一个命令按钮使之单击可以将标签标题变成红色
CDID_标签.ForeColor = 255
19.边框样式:细边框
在窗体的属性面板中选择边框样式,细边框
20.按编号前四位按编号前4位分组统计记录个数
=left([编号],4) 然后在组页脚节区添加计算型控件=count([编号])
21.复合主键,就是说一个表可以设置多个主键
自动运行宏 把宏名更改为autoexec就可以了,当打开数据库的同时就可以自动打开这个宏
求所有图书单价的平均值 总计查询求平均值
22.计算每名学生所选课程的学分总和
由于本题中姓名不是主关键字,所以在计算的时候,要添加一个学号做为分组条件
23.
使保存按钮可以使用的代码如下:
Cmdsave.enabled=true
24.
基本操作题
将窗体fTest中显示标题为button1的命令按钮改为显示按钮,同时将其设置为灰色无效状态
右击命令按钮,选中命令按钮,选择数据选项卡,将可用更改为否
怎样保留两位小数
格式 固定 小数位数 2位
25.
调整列宽
格式---列宽
在窗体的文本框中输入文字使之单击命令按钮,将文本内容做为标签的标题显示出来
bTitle.Caption = tText.Value
要窗体加载时显示系统日期
Private Sub Form_Load()
'设置窗体标题为当前日期
'*****Add*****
Me.Caption = Date
'*****Add*****
End Sub
26.
简单应用题
将窗体上名为btnP命令按钮的外观设置为图片显示,图片选择考生文件夹下的“test.bmp”图像文件将btnP命令按钮的单击事件设置为窗体代码已经设计好的事件过程btnP_Click
解:选择btnP然后在属性面板中选择图片为考生文件夹下的test.bmp
右击属性按钮,单击选择事件过程
对报表的分组 视图----排序与分组
27
ADO数据库编程技术
Option Compare Database
Private Sub bt_Click()
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim strSQL As String
Dim sage As Single
'设置当前数据库连接
Set cn = CurrentProject.Connection
strSQL = "select avg(年龄) from tEmp where 党员否"
rs.Open strSQL, cn, adOpenDynamic, adLockOptimistic
'*****Add1*****
If rs.RecordCount > 0 Then
'*****Add1*****
MsgBox "无党员职工的年龄数据"
sage = 0
Exit Sub
Else
sage = rs.Fields(0)
End If
'*****Add2*****
tAge.Value = sage
'*****Add2*****
rs.Close
cn.Close
Set rs = Nothing
Set cn = Nothing
28.
将窗体上文本框tss更改为组合框类型并保持名称不变
选择tss右击,选择更改为组合框 组合框,值列表,行来源 男,女
将qemp更改为参数查询性别条件为:[forms]![fEmp]![tSS]
关闭窗体代码docmd.close关闭当前窗体
关闭指定的窗体比如说职工查询
Docmd.close acform,”职工查询”
29.
工资总额: [基本工资]+[津贴]-[住房公积金]-[失业保险]
本大题,第三题窗体注意 宏和窗体的综合应用
30.
报表的综合应用(在报表中实现计算型字段)
31.
Private Sub bList_Click()
'**************** 请在下面双引号内添入适当的SELECT语句 *************'
BBB.Form.RecordSource = "select *from tStudent"
'*******************************************************************'
[Text2] = " "
End Sub
32.设置有效性规则为成绩应输入非负数!
成绩>=0 应输入非负数
关闭当前窗体代码 docmd.close
关闭指定窗体代码 docmd.close acform, “指定的窗体名称”
33.
表的基本操作,只能输入10位数字或空格形式
9999999999
第二大题,第三小题统计每门课程的平均成绩,通过本题给出图例可以看出本题是交叉表查询而且要求把题目的成绩属性字段设置格式,固定,小数位数 0位
窗体加载时显示当前日期
Private Sub Form_Load()
'设置窗体标题为当前日期
'*****Add*****
Me.Caption = Date
'*****Add*****
End Sub
34.
交叉表查询显示各门课程男女生不及格的同学
必须确保男生在前,女生在后,应该是先男后女升序排序
第三大题
Me!tEnter.Visible = True visible表示按钮是否可视
CmdSave.Enabled = True enabled表示按钮是否可以使用
'*************************Add*************************'
MsgBox "请重新输入口令", vbOKOnly
'*************************Add*************************'
End If
35.
查询第(2) 小题
统计年龄小于30医生被预约的次数
查询预约日期为10月的记录
通过输入科室名来进行查询科室ID和预约日期
下图就是查询qT4的设计界面
第三大题
设置按钮是否可用代码 CmdSave.Enabled = True
用鼠标操作
右击命令按钮选择属性,在数据选项卡中选择数据,在可用中选择否即可
36.
(3)以Tb表为基础创建一个交叉表查询
(4)创建一个查询统计出各类房屋的数量
第三大题报表题
第4小题
Option Compare Database
Private Sub btnP_Click()
Dim k As String
'*****Add1*****
k = InputBox("请输入大于0的整数值")
'*****Add1*****
If k = "" Then Exit Sub
Select Case Val(k)
Case Is >= 3
DoCmd.RunMacro "mEmp"
Case 2
'*****Add2*****
DoCmd.OpenReport "rEmp", acViewPreview
'*****Add2*****
Case 1
DoCmd.Close
End Select
End Sub
语句使用格式如下:
Select case 表达式
Case 表达式1 case 1,3
表达式的值与表达式1的值相等时执行语句序列
Case 表达式2 to 表达式 3 case 2 to 5
表达式的值介与表达式2和表达式3之间的值相等时执行语句序列
Case is 关系运算符4 case is>=3
满足表达式4
Case else 上面情况均不满足
K=inputbox(“请输入一个数值”,”标题”,”1”)
本题考点链接以不同的方式打开学生窗体
Docmd.openform “学生”,acNormal 默认值 窗体视图打开
Docmd.openform ”学生”,acDesign 设计视图打开
Docmd.openform “学生”,acpreview 预览视图打开
本题考点链接以不同的方式打开学生报表
Docmd.openreport “学生”,acviewNormal 默认值 打印模式
Docmd.openreport ”学生”,acviewDesign 设计模式
Docmd.openreport “学生”,acviewpreview 预览模式
37.第一大题
将考生文件夹下文本文件,test.txt中的数据导入追加到当前数据库的数据表tTemp中
要点, 一定要选择第一行包含行标题不然会出现错误
第三大题报表排序题
如果想要显示出 -1/15- ="-" & [Page] & "/" & [Pages] & "-"
[page]代表当前页数[pages]代表总页数
让一个宏在打开的时候自动运行,命名为autoexec当在打开数据的库不想让它运行按住shift键它就不会运行了
38.
第二大题(第3小题)
Private Sub bt1_Click()
'*****Add1*****
bTitle.Caption = Trim(tText.Value) & "等级考试测试"
'*****Add1*****
End Sub
第三大题第四小题
Private Sub bt1_Click()
Dim ADOcn As New ADODB.Connection
Dim ADOrs As New ADODB.Recordset
Dim strDB As String
'建立连接
Set ADOcn = CurrentProject.Connection
ADOrs.ActiveConnection = ADOcn
ADOrs.Open "Select 编号 From tEmp Where 编号='" + tNo + "'", , adOpenForwardOnly, adLockReadOnly
'*****Add1*****
If Not ADOrs.EOF() Then
'*****Add1*****
MsgBox "该编号已存在,不能追加!"
Else
strSQL = "Insert Into tEmp (编号,姓名,性别,年龄)"
strSQL = strSQL + "Values('" + tNo + "','" + tName + "','" + tSex + "'," + tAge + ")"
ADOcn.Execute strSQL
MsgBox "添加成功,请继续!"
End If
ADOrs.Close
ADOcn.Close
Set ADOrs = Nothing
Set ADOcn = Nothing
End Sub
Private Sub bt2_Click()
'*****Add2*****
DoCmd.Close
'*****Add2*****
End Sub
39.
要点:怎样设置TAB键顺序,就是按TAB键移动的顺序
右击命令按钮,选择TAB键索引 0代表第一个1代表第二个 2代表第三个依次推
更新查询,将年龄增加1,并清除团员否字段值
Private Sub btnP_Click()
Dim i As Integer
Dim s As Integer
'*****Add1*****
Dim f(19) As Double
s = 2
'*****Add1*****
f(1) = 1: f(2) = 1
For i = 3 To 19
'*****Add2*****
f(i) = f(i - 1) + f(i - 2)
s = s + f(i)
'*****Add2*****
Next i
'数据输出到文本框内
'*****Add3*****
Me!tData = s
'*****Add3*****
'以下是文件操作
If Dir(CurrentProject.Path & "\out.dat", vbDirection) <> vbNullString Then
Kill CurrentProject.Path & "\out.dat"
End If
Open CurrentProject.Path & "\out.dat" For Output As #1
Print #1, Me!tData
Close #1
40.
将表对象”职工表”导出到考生文件夹下的samp.mdb空数据文件中,要求只导出表结构定义,导出表名命为职工表bk
右击选择那个表导出
第三大题:
将文本框tSS改为组合框并且不更改控件名
选择那个组合右击更改组合框,然后选择数据选卡,行来源类型值列表,行来源 男;女这里是半角的分号
动态改变窗体的数据源属性
Private Sub bt1_Click()
'动态设置窗体记录源属性为查询对象qEmp
'*****
Me.RecordSource = "qEmp"
'*****
'刷新窗体
Me.Requery
End Sub
41.基本操作题第3小题查阅向导的建立,选择数据类型查阅向导,自行键入值,身份证,军官,护照
查询第二题,通过输入姓名查找应付金额
3题
从第四位到第六位为102的记录
知识点:
如何把一个人的姓名中姓取出来,和名字取出来
如:李小明,拆分为李 和 小明
李明 拆分为 李 和 明
姓名的姓:mid([姓名],1,1)
姓名的名字:mid([姓名],2)后面一个参数省略
4题
第三大题:根据党员否的值去判断 =IIf([党员否]=True,"党员","非党员")
Private Sub bt1_Click()
'动态设置窗体记录源属性
'*****Add1*****
Me.recordsource= "qEmp"
'*****Add1*****
'刷新窗体
Me.Requery
End Sub
Private Sub bt2_Click()
'关闭窗口
'*****Add2*****
DoCmd.Close
'*****Add2*****
End Sub
42.
入校时间为非空Is Not Null
年龄为偶数
[年龄] mod 2=0
对于空值在ACCESS里面应该表示成NULL 不是空值应该表示成 is not null
Private Sub Form_Load()
'设置bTitle标签为红色文本显示
'*****Add1*****"
bTitle.ForeColor = 255
'*****Add1*****"
End Sub
'预览输出
Private Sub bt1_Click()
'*****Add2*****"
mdPnt acViewPreview
'*****Add2*****"
End Sub
'打印输出
Private Sub bt2_Click()
mdPnt acViewNormal
End Sub
'输出过程
Private Sub mdPnt(flag As Integer)
'按照参数条件输出
DoCmd.OpenReport "rEmp", flag
End Sub
展开阅读全文