Bootstrap

计算机二级Access选择题考点—代码篇

第1题

窗体的事件过程如下:

Private Sub Form MouseDown(Button As Integer ,Shift As integer,X As Single,Y As Single)
	If Shift = 6 And Button = 2 
		Then MsgBox "Hello World."
	End lf
End Sub

程序运行后,要在窗体消息框中显示"Hello World.",在窗体上应执行的操作是(同时按下 Ctr、Alt 键和鼠标右键)。

鼠标事件MouseDown中的Button参数用于判断鼠标操作的是左中右哪个键,可以分别用符号常量acLeftButton(左键1)、acRightButon(右键2)和acMiddleButton(中键4)来比较,本题中的if语句中条件语句Button=2,如果条件成立,那么应该按下鼠标右键;Shift参数用于判断鼠标操作的同时,键盘控制键的操作,可以分别用符号常量acAltMask (Shift键1)、acAItMask(ctrl键2)和acAItMask(AIt键4)来比较,本题中的if语句中条件语句Shift=6,如果条件成立,那么应该按下acAltMask(ctrl键2)和acAItMask(Alt键4)

第2题

假设有选课成绩表score(学号,课程号,成绩等),查询所选课程在两门以上(含两门)并且所选的课程成绩都在90分以上(含90分)的学号列表,正确的是

SELECT score.学号
FROM score WHERE score.学号 Not In(select 学号 from score where 成绩 < 90)
GROUP BY score.学号
HAVING Count(score.[学号]) >= 2

SELECT语句的一般格式为:

SELECT[ALL | DISTINCT | TOP n]*|<字段列表>[,<表达式>AS<标识符>]
FROM<表名1>[,<表名2>]...
[WHERE<条件表达式>]
[GROUP BY<字段名>[HAVING<条件表达式>]]
[ORDER BY<字段名>[ASC | DESC]];

第3题

假设数据库中有学生信息表 stud(sno,sname,ssex)其中 ssex 字段已建索引,要输出最后一名男同学的信息,程序空白处应填写的语句是

Private Sub Form Load()
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
rs.ActiveConnection ="Provider=Microsoft.Jet.OLEDB.4.0;"&"Data Source= e:\考试中心教程\教学管理.mdb;"
rs.CursorType = adOpenKeysetrs
rs.LockType = adLockOptimistic
rs.Index="ssex"
rs.Open "stud",,,,adCmdTableDirect
	__________
	Debug.Print rs("sno "), rs("sname "), rs("ssex ")
	rs.Close
	Set rs = Nothing
End Sub

DAO的Seek成员函数是在表类型记录集中基于表索引进行搜索记录,Find成员函数是在动态集类型或快照类型记录集中进行搜索记录。因为本题中性别ssex字段已建索引,因此采用Seek成员函数。AdSeekfirstEQ查找等于关键值的第一个关键字,AdseekLastEQ查找等于关键值的最后一个关键字。

第4题

窗体中有文本框Text1、Text2和Text3。运行程序时,输入整数m和n(n>0),单击按钮Command1计算下列表达式的值: S U M = m − ( m + 1 ) / 2 + ( m + 2 ) / 3 − ( m + 3 ) / 4 + . . . + ( − 1 ) n + 1 ( m + n − 1 ) / n SUM=m-(m+1)/2+(m+2)/3-(m+3)/4+...+(-1)^{n+1}(m+n-1)/n SUM=m(m+1)/2+(m+2)/3(m+3)/4+...+(1)n+1(m+n1)/n
在Text3给出结果,事件代码如下:

Private Sub Command1_Click()
	Dim sum As Double
	m = Val(me!Text1)
	n = Val(me!Text2)
	sum = 0
	For k = 1 to n
		sum = sum +【】/ k
	Next k
	Me!text3 = sum
End Sub 

程序【】处应填写的语句是:llf(kMod2 = 0 , -(m + k - 1) , (m + k - 1))

窗体中有文本框Text1、Text2和Text3。运行程序时,输入整数m和n(n>0),单击按钮Command1计算下列表达式的值: S U M = m + ( m − 1 ) / 2 + ( m + 2 ) / 3 + ( m − 3 ) / 4 + . . . + ( m + ( − 1 ) n + 1 ( n − 1 ) ) / n SUM=m+(m-1)/2+(m+2)/3+(m-3)/4+...+(m+(-1)^{n+1}(n-1))/n SUM=m+(m1)/2+(m+2)/3+(m3)/4+...+(m+(1)n+1(n1))/n
在Text3给出结果,事件代码如下:

Private Sub Command1_Click()
	Dim sum As Double
	m = Val(me!Text1)
	n = Val(me!Text2)
	sum = 0
	For k = 1 to n
		sum = sum + (【】)/ k
	Next k
Me!text3 = sum
End Sub 

程序【】处应填写的语句是:m + llf(kMod2 = 0 , -k + 1 , k - 1)

窗体中有文本框Text1、Text2和Text3。运行程序时,输入整数m和n(n>0),单击按钮Command1计算下列表达式的值: S u m = m − ( m + 1 ) + ( m + 2 ) − ( m + 3 ) + . . . + ( − 1 ) n + 1 ( m + n − 1 ) Sum=m-(m+1)+(m+2)-(m+3)+...+(-1)^{n+1}(m+n-1) Sum=m(m+1)+(m+2)(m+3)+...+(1)n+1(m+n1)
Text3给出结果。事件代码如下:

Private Sub Command1_Click()
m = val(me!text1)
n = val(me!text2)
sum = 0
For k = 1 to n
	sum = sum + 【】
Next k
Me!text3 = sum
End

程序【】处应填写的语句是:llf(kMod2 = 0 , -(m + k - 1) , ( m + k - 1))

窗体中有文本框Text1、Text2和Text3。运行程序时,输入整数m和n(n>0),单击"计算"按钮Command1计算下列表达式的值: S u m = m − 2 ( m + 1 ) + 3 ( m + 2 ) − 4 ( m + 3 ) + . . . + ( − 1 ) n + 1 n ( m + n − 1 ) Sum=m-2(m+1)+3(m+2)-4(m+3)+...+(-1)^{n+1} n(m+n-1) Sum=m2(m+1)+3(m+2)4(m+3)+...+(1)n+1n(m+n1)
Text3给出结果。事件代码如下:

第5题

窗体中有文本框Text1。运行程序,输入大于0的整数m,单击按钮Command1,程序显示由星号组成的高度和上底均为m的等腰梯形。事件代码如下:

Private Sub Command1_Click()
	m= Val(Me!Text1)
	result = ""
	For k = 1 To m
		For n = 1 To【】
			if n < m - k + 1 Then
				result = result & " "
			Else
				result = result & "*"
			End lf
		Next n
		result = result + Chr(13)
	Next k
	MsgBox result,,"运行结果”
End Sub

程序【 】处应填写的语句是:k + 2 * m - 2

窗体中有文本框Text1。运行程序,输入大于0的整数m,单击按钮Command1,程序显示由星号组成的高度为m的等腰三角形。事件代码如下:

Private Sub Command1_Click()
	Dim result As String
	m = Val(Me!Text1)
	result = ""
	For k = 1 To m
		For n = 1 To k + m - 1
			if n < m - k + 1 Then
				result = result & " "
			Else
				result = result & "*"
			End lf
		Next n
		result = result + Chr(13)
	Next k
	MsgBox result,,"运行结果
End Sub

窗体中有文本框Text1。运行程序,输入大于0的整数m,单击按钮Command1,程序显示由星号组成的高度和边长均为m的平行四边形。事件代码如下:

Private Sub Command1_Click()
	m = Val(Me!Text1)
	result = ""
	For k = 1 To m
		For n = 1 To 【】
			if n < m - k + 1 Then
				result = result & ""
			Else
				result = result & " *"
			End lf
		Next n
		result = result + Chr(13)
	Next k
	MsgBox result,,"运行结果”
End Sub

程序【 】处应填写的语句是:2 * m - k

第6题

窗体中有文本框为Text1和Text2。运行程序,在Text1中输入整数m(m>0),单击"运行"按钮Command1,将m分解为质因子之积,并在Text2中给出结果。例如,18=2*3*3,输出结果为"2,3,3,“;28=2*2*7,输出结果为"2,2,7,”。事件代码如下:

Private Sub Command1_Click()
	m=  Val(Me!Text1)
	resule = ""
	k = 2
	Do While m > 1
		if m Mod k = 0 Then
			result = result & k & ","
			m = m / k
		Else
			【】
		End lf
	Loop
	Me!Text2 = result
End Sub

程序【 】处应填写的语句是:k = k + 1

第7题

窗体中有文本框Text1、Text2和Text3。运行时在Text1中输入整数m,在Text2中输入整数n(m<n),单击按钮Command1,计算m到n之间(含m和n)全部奇数之和,然后在Text3中输出结果。事件代码如下:

Private Sub Command1_Click()
	m = Val(Me!Text1)
	n = Val(Me!Text2)
	sum = 0
	For【 】To n Step 2
		sum = sum + k
	Next k
	Me!Text3 = sum
End Sub

程序【 】处应填写的语句是:k = llf(m Mod 2 = 1 , m , m + 1)

窗体中有文本框Text1、Text2和Text3。运行时在Text1中输入整数m,在Text2中输入整数n(m<n),单击按钮Command1,计算m到n之间(含m和n)全部偶数之和,然后在Text3中输出结果。事件代码如下:

Private Sub Command1_Click()
	m = Val(Me!Text1)
	n = Val(Me!Text2)
	sum = 0
	For【 】To n Step 2
		sum = sum + k
	Next k
	Me!Text3 = sum
End Sub

程序【 】处应填写的语句是:k = llf(m Mod 2 = 0 , m , m + 1)

第8题

在窗体中有文本框Text1和Text2。运行程序时,在Text1中输入整数m(m>0),单击Command1"运行“按钮,程序能够求出m的全部除1之外的因子,并使用Text2显示结果,例如,18的全部因子有2,3,6,9,18,输出结果为"2,3,6,9,18,“;28的全部因子为2,4,7,14,28,输出结果为"2,4,7,14,28”。事件代码如下:

Private Sub Command1_Click()
	m = Val(Me!Text1)
	result = ""
	k = 2
	Do
		if m Mod k = 0 Then result = result & k & ","
		K = k + 1
	Loop Until【】
	Me!Text2 = result
End Sub

程序【 】处应填写的语句是:k > m

在窗体中有文本框Text1和Text2。运行程序时,在Text1中输入整数m(m>0),单击Command1"运行“按钮,程序能够求出m的全部除1和自身之外的因子,例如,例如,20的因子有2,4,5,10,输出结果为"2,4,5,10,";16的因子为2,4,8,输出结果为"2,4,8,”。事件代码如下:

Private Sub Command1 Click()
	m = Val(Me!Text1)
	resule = ""
	k = 2
	Do
		if m Mod k = 0 Then result = result & k & ","
		k = k + 1 
	Loop While【】
	Me!Text2 = result
End Sub

程序【 】处应填写的语句是:k < m

区别:Loop While和Loop Until
Do While当判断条件为真时,执行循环体,而Do Until是当判断为假时,执行循环体。

第9题

窗体中有文本框Text1和标签Label1,运行程序,输入大于0的整数m,单击按钮Command1,程序判断m是否为素数,若是素数,则Label1显示"m 是素数",否则显示”m 是合数"。事件代码如下:

Private Sub Command1_Click()
	m = Val(Me!Text1)
	result = m & "是素数"
	k = 2
	Do While k <= m / 2 
		if m Mod k = 0 Then
			result = m & "是合数"
		End lf
		k = k + 1
	Loop
	Me!lLabel1.Caption = result
End Sub

程序【 】处应填写的语句是:Exit Do

DO…while退出时,用Exit Do。

第10题

(最大公约数)在窗体中添加一个名称为Command1的命令按钮,然后编写如下事件代码:

Private Sub Command1 Click()
	MsgBox f(24,18)
End Sub
Public Function f(m As Integer, n As Integer)As Integer
	Do While m <> n
		Do While m > n
			m = m - n
		Loop
		Do While m < n
			n = n - m
		Loop
	Loop
	f = m
End Function

窗体打开运行后,单击命令按钮,则消息框的输出结果是6

第11题

(斐波拉契序列)运行下列程序,结果是13

Private Sub Command32_Click()
	f0 = 1 : f1 = 1 : k = 1
	Do While k <= 5
		f = f0 + f1
		f0 = f1
		f1 = f
		k = k + 1
	Loop
	MsgBox "f="& f
End Sub

第12题

有如下事件程序,运行该程序后输出结果是x=1,y=0

Private Sub Command33_Click()
	Dim x As Integer, y As Integer
	x = 1 : y = 0
	Do Until y <= 25
		y = y + x * x
		x = x + 1
	Loop
	MsgBox "x=" & x & ",y=" & y
End Sub

Do Until循环采用的是先判断条件后执行循环体的做法,如果条件为True,则循环体一次都不执行,否则进入循环体执行。

运行下列程序,输入数据8、9、3、0后,窗体中显示结果是20

Private Sub Form_click()
Dim sum As Integer, m As Integer
sum = 0
Do
	 m = InputBox("输入m")
	 sum = sum + m
Loop Until m = 0
MsgBox sum
End Sub

通过Do循环结构对键盘输入的数据进行累加,循环结束条件是输入的字符为0。

第13题

在窗体上有一个命令按钮Command1,编写事件代码如下:

Private Sub Command1_Click()
	Dim x As Integer, y As Integer
	x = 12 : y = 32
	Call Proc(x,y)
	Debug.Print x;y
End Sub
Public Sub Proc(n As Integer, ByVal m As Integer)
	n = n Mod 10
	m = m Mod 10
End Sub

打开窗体运行后,单击命令按钮,立即窗口上输出的结果是2 32

参数有两种传递方式:传址传递ByRef(形参的变化将会返回到实参)和传值传递BVal(不因形参的变化而变化)。如果没有说明传递类型,则默认为传址传递。

第14题

窗体中有命令按钮run34,对应的事件代码如下:

Private Sub run34_Enter()
Dim num As Integer, a As Integer, b As Integer, i As Integer
For i = 1 To 10
	num = InputBox("请输入数据:""输入”)
	If Int(num / 2) = num / 2
		Then
			a = a + 1
		Else
			b = b + 1
	End
If
Next i
MsgBox("运行结果:a = "& Str(a)&",b = "& Str(b))
End Sub

运行以上事件过程,所完成的功能是对输入的10个数据分别统计奇数和偶数的个数

第15题

在窗体中有一个命令按钮Command1,编写事件代码如下:

Private Sub Command1_Click()
	Dim s As Integer
	s = P(1) + P(2) + P(3) + P(4)
	debug.Print s
End Sub
Public Function P(N As Integer)
	Dim Sum As Integer
	Sum = 0
	For i = 1 To N
		Sum = Sum + i 
	Next i
	P = Sum
End Function

打开窗体运行后,单击命令按钮,输出结果是20

第16题

窗体中有文本框Text1、Text2和Text3,运行时在Text1中输入整数m,在Text2中输入整数n(m<n),单击按钮Command1统计m到n之间(含m和n)个位为9的整数数量,然后在Text3中输出结果。事件代码如下:

Private Sub Command1_Click()
m = Val(Me!Text1)
n = Val(Me!Text2)
count0 = 0
For k = m To n
	count0 = 【】
Next k
Me!Text3 = count0
End Sub

程序【 】处应填写的语句是:count0 + llf(k Mod 9 = 0, 1, 0)

;