Access复习_0529更新

  • 格式:doc
  • 大小:93.00 KB
  • 文档页数:7

ACCESS 二级考试复习

一、选择题(约40分):请参考《实验教程》中的选择题。

二、操作题(约30分):

2.1 建表:知识点:输入掩码、主键、有效性规则、关系(参照完整性)、数据录入等。

2.2 单表查询: 一般使用查询设计器。多个条件的查询,如使用like 、日期、年龄等条件。

知识点:

(1) 出生日期大于或小于某年, year([出生日期]) > 1990

(2) 年龄:直接在“字段”行中输入: year(date()) – year([出生日期]),然后把此列“属性”中的“标题”改为”年龄”

(3) 求总量:要点击工具栏上 ,在字段下方的“总计”行选择“总计”,右击该字段,并在弹出的“字段属性”菜单中的“标题”中填写所需新的名称。

(4) 求人数:与上题差不多,只是在字段下方的“总计”行选择“计数”。一般是对“编号”、“学号”等“…号”进行计数。

(5) 对两个字段进行计算:只需在“字段”行中输入。例如:总额度:数量*价格

(6) 对于是否型字段,可用 False 或 True 表示条件的不成立或成立。

(7) like 与 * 的使用。

2.3 多表查询:知识点:与2.2的相当,只是涉及多表,并有可能考核分组查询。

2.4 两种题型:

(1)条件宏:请参考教程P137页例6-3、及P144页练习题6.7

例1:

msgbox(“显示学生信息”, 1) =1

括号内的1,表示弹出的对话框有两个按钮,即“确定”、“取消”;

等号后的1,表示点击了“确定”按钮。等号后若为2,则表示点击“取消”按钮。

例2:

msgbox(“显示学生信息”, 1, ”提示”) =1

其中:“提示” 为弹出信息的标题。

一般地,msgbox(….)=1 的表达式是写在“条件”栏中,而只提示信息的msgbox,则写在“操作”栏,提示的相关信息在下方各行中输入,如下图

msgbox的详细设置可参考 教程P169。

例如:

(2)报表:一般使用报表向导,若涉及多个表,一般需先建立关系(并具有参照完整性)。然后按照向导一步步做即可。如果做错了,重新做一个覆盖原先的报表即可。

三、编程题(约30分):三到四种题型,

注意:以下例子中的控件名是假定的,同学考试中要根据题目辨认控件名。

3.1 窗体设计:

新建窗体,或者修改已有的窗体。 常见的控件有组合框(combo),选项组(Frame),列表框(list)等

例如:

(1) box的背景颜色:box1.backcolor = RGB(225,255,0) ;其它控件的背景颜色修改也类似。

(2) 文本框中的文字,text1.控件来源 = “伦敦奥运”, 在控件来源属性中输入:= “伦敦奥运”

组合框comob1 的change事件, 即组合框的更改事件中编写代码:

Text1.fontname = combo1.value

(3) 在文本框中显示日期: text1.value = date() ;显示时间,则text1.value = time()

(4) 按钮为不可用(灰色): command1.enabled = false ; 可用,则为 True

(5) text1.value = list1.value , 即所列表框的中的值赋给文本框,学历:学士、硕士、博士。

(6) 修改字体、斜体、下划线:

If check1.value then

Text1.fontItalic = True

Else

Text1.fontItalic = False

End if If check2.value then

Text1.fontBold = True

Else

Text1.fontBold = False

End if

If check3.value then

Text1.fontUnderline = True

Else

Text1.fontUnderline = False

End if

(7) List1或者combo1中“行来源类型”属性改为“值列表”;“行来源”:依次输入:“本科”;“硕士”;“博士”

把list1中的学历,剪贴到另一list2中。代码为:

List2.addItem(list1.value)

List1.removeItem(list1.value)

3.2 程序设计:(参考第8章例子及课后练习题)

例如:

(1) 输入的一个字符为数字: x>= “0” and x <= “9”

(2) 一个数能同时被2与3整除: 条件为 if x mod 2 = 0 and x mod 3 = 0 then

(3) 求 1+ 1/2 + 1/3 + …… + 1/n 之和:

n = text1.value

sum = 0

for i = 1 to n

sum = sum + 1/i

next i

label1.caption = sum (若把结果输出到文本框,则是 text1.value = sum )

(4) 判断一个整数是自然数,并判断它的奇偶性。

Dim x As Integer

x = Text1.Value

If x >= 0 Then

If x Mod 2 = 0 Then

Label1.Caption = x & "是偶数"

Else

Label1.Caption = x & "是奇数"

End If

Else Label1.Caption = "请输入一个自然数"

End If

(5) 计算[M, N]所有整数之和:

Dim i As Integer, sum As Integer, m As Integer, n As Integer

m = Text1.Value

n = Text2.Value

sum = 0

For i = m To n

sum = sum + i

Next

Label1.Caption = sum

(6) 分段函数计算:

(7) 求[1,100]中奇数之和:

Dim i As Integer, sum As Integer

sum = 0

For i = 1 To 100 step 2

sum = sum + i

Next

Text1.value = sum

3.3 ADO编程:

(1) 填空形式,一般考核 while not rs.eof();

sqlstr=”select * from 表名 where 某字段=’ ” & text1.value & “ ’ ”

或者是 sqlstr=”select * from 表名 where 某字段=’ ” & combo1.value & “ ’ ”

或者 text1.value = rs(“学号”)

rs.moveNext

(2) ADO编程的具体例子(统计 部门 人数),蓝色为可能的考核对象。

Dim rs As ADODB.Recordset

Dim strSQL As String

Set rs = New ADODB.Recordset

strSQL = “select 雇员编号 from Employee where 部门=’” & list1.value & “’”

'本行需要补充代码,实现构造SQL语句

rs.Open strSQL, currentProject.connection, 2,2 '本行需要补充代码,实现打开记录集

i = 0 Do While Not rs.EOF()

i = i + 1

rs.MoveNext

Loop

Label2.Caption = "人数:" & i

rs.close '本行需要补充代码,实现关闭记录集

Set rs = Nothing

(3) 查询生源为“福建”的 ADO编程

Dim rs As ADODB.Recordset

Dim strSQL As String '用于存储SQL语句

strSQL = "select 姓名 from examstu where 生源 ='" & Text1.Value & "'"

'本行需要补充代码

Set rs = New ADODB.Recordset '本行需要补充代码

rs.Open strSQL, CurrentProject.Connection, 2, 2

Do While Not rs.EOF() '本行需要补充代码

List1.AddItem rs("姓名")

rs.MoveNext

Loop

rs.Close

Set rs = Nothing

(4) 成绩的等级评定

Dim rs As ADODB.Recordset

Set rs = New ADODB.Recordset '本行需补充代码

rs.Open "select * from Stu", CurrentProject.Connection, 2, 2

Do While Not rs.EOF() '本行需补充代码

Select Case rs("综合分")

Case Is >= 90

rs("等级") = "优秀"

Case Is >= 80

rs("等级") = "良好" '本行需补充代码

Case Is >= 70

rs("等级") = "中等"

Case Is >= 60

rs("等级") = "及格"

Case Else

rs("等级") = "不及格"

End Select

rs.Update

rs.MoveNext

Loop

rs.Close