(分数:2.00)
填空项1:__________________ (正确答案:GROUP BY)
解析:[解析] 本题考查SQL SELECT语句的基本语法。GROUP BY子句用于对检索结果进行分组,HAVING必须跟随GROUP BY子句使用,用来限定分组必须满足的条件。 43.若要在宏中打开某个数据表,应使用的宏命令是 1。
(分数:2.00)
填空项1:__________________ (正确答案:OpenTable)
解析:[解析] 本题考查宏操作的知识。Access中提供了50多个可选的宏操作命令,常用的打开操作有:OpenForm用于打开窗体,OpenQuery用于打开查询,OpenTable用于打开一个表,OpenModule则用于打开VBA中的模块,OpenReport用于打开报表。
44.在VBA中要将数值表达式的值转换为字符串,应使用函数 1。
(分数:2.00)
填空项1:__________________ (正确答案:Str)
解析:[解析] 本题考查Str函数的功能。Str函数的功能是将数值表达式转化为字符串。 45.运行下列程序,输入如下两行: Hi, I am here.
弹出的窗体中的显示结果是______。 Private Sub Command11_C1ick() Dim abc As String,sum As string sum=\DO
abc=InputBox(\输入abc\
If Right(abc,1) =\sum=sum+abC Loop MsgBox sum End Sub
(分数:2.00)
填空项1:__________________ (正确答案:Hi,)
解析:[解析] 本题考查循环语句和条件语句的嵌套。变量abc的值为输入的两行字符串,对第一行,其最右边字符为“, ”,不满足Riqht(abc,1)=”.”,因此变量sum的值更新为“Hi,”,对第二行,其最右边字符为“.”,满足Riqht(abc,1) =”.”,则退出循环,因此最终sum的值为“Hi,”。 46.运行下列程序,窗体中的显示结果是:x=______。 Option Compare Database Dim x As Integer
Private Sub Form_Load() x=3 End Sub
Private Sub Command11_C1ick() Static a As Integer Dim b As Integer
b=x^2 fun1 x,b fun1 x,b MsgBox \&x End Sub
Sub fun1(ByRef Y As Integer,ByVal Z As Integer) y=y+z z=y-Z End Sub
(分数:2.00)
填空项1:__________________ (正确答案:21)
解析:[解析] 本题考查参数传递的相关知识。ByVal表示参数按值传递,过程调用中只是相应位置实参的值“单向”传递给形参处理,而被调用过程内部对形参的任何操作引起的形参值得变化均不会影响实参的值;ByRef表示参数按地址传递,过程调用中是将相应位置实参的地址传递给形参处理,而被调用过程内部对形参的任何操作引起的形参值得变化又会反向影响实参的值,具有“双向性”。在fun1过程中,y为按地址传递,其值随实参而变;z为按值传递,其对应实参值不变。Form Load() 为变量赋初值为3,在Command11_click() 中,b为9,fun1 x,b执行后,x=12,b=9; 第二条fun1 x,b执行后,x=21,b=9,因此窗体中的显示结果为:x=21。
“秒表”窗体中有两个按钮(“开始/停止”按钮bOK,“暂停/继续”按钮bPus) ;一个显示计时的标签1Num;窗体的“计时器间隔”设为100,计时精度为0.1秒。
要求:打开窗体如图1所示;第一次单击“开始停止”按钮,从0开始滚动显示计时(见图2) ;10秒时单击“暂停/继续”按钮,显示暂停(见图3) ,但计时还在继续;若20秒后再次单击“暂停/继续”按钮,计时会从30秒开始继续滚动显示;第二次单击“开始/停止”按钮,计时停止,显示最终时间(见图4) 。若再次单击“开始/停止”按钮可重新从0开始计时。
相关的事件程序如下。请在空白处填入适当的语句,使程序可以完成指定的功能。 Option Compare Database Dim flag,pause As Boolean Private Sub bOK Click() flag= (12) Me!bOK.Enabled=True Me!bPus.Enabled=flag End SUb
Private Sub bPuS CliCk() pauSe=Not pause
Me!bOK.Enabled=NOt Me!bOK.Enabled End SUb
Private Sub Form Open(Cancel As Integer) flag=False pause=False Me!bOK.Enabled=True Me!bPus.Enabled=FalSe End Sub
Private Sub Form Timer() Static count As Single If flag=True Then If pause=False Then
Me!1Num.Caption=Round(count,1) End If count= (13) ElSe count=0 End If End Sub
(分数:4.00)
填空项1:__________________ (正确答案:Notflag)
解析:[解析] 本题主要涉及对“开始/停止”按钮的设置,按钮状态需要在运行和不能运行之间实现切换,这需要flag状态的转换,且受下面程序pause=Not pause的启发,此处应为flag=Not flag。 填空项1:__________________ (正确答案:count+0.1)
解析:[解析] 在有关计时的子过程Form_Timer() 中,计时间隔为0.1秒,当flag=True但pause=False时,执行Me !1Num.Caption=Round(count,1),即在当前窗体上显示计时时间;当flag=True但.pause=True时,程序应以0.1秒为单位继续计时,即 count=count+0.1;当flag=False时,计时器清零,重新计时,即count=0。
数据库中有“学生成绩表”,包括“姓名”、“平时成绩”、“考试成绩”和“期末总评”等字段。现要根据“平时成绩”和“考试成绩”对学生进行“期末总评”。规定:
“平时成绩”加“考试成绩”大于等于85分,则期末总评为“优”,“平时成绩”加“考试成绩”小于60分,则期末总评为“不及格”,其他情况期末总评为“合格”。
下面的程序按照上述要求计算每名学生的期末总评。请在空白处填入适当的语句,使程序可以完成指定的功能。
Prirate Sub Command0_Click() Dim db As DAO.DatabaSe Dim rs As DAO.RecordSet
Dim pscj, ksej, qmzp As DAO.Field Dim count As Integer Set db=CurrentDb()
Set rs=db.OpenRecordset(\学生成绩表\Set pscj=rs.Fields(\平时成绩\Set kscj=rs.Fields(\考试成绩\Set qmzp=rs.Fields(\期末总评\count=0
Do While NOt rs.EOF (14)
If pscj+kscj>=85 Then qmzp=\优\
ElseIf pscj+kscj<60 Then qmzp=\不及格\Else qmzp=\合格\End If rs.Update count=count+1 (15) Loop rs.CloSe db.CloSe
Set rs=Nothing Set db=Nothinq
MsgBox \学生人数:\End Sub
(分数:4.00)
填空项1:__________________ (正确答案:rs.Edit)
解析:[解析] 本题考查数据库编程的相关知识。对于表中的每条记录,在循环遍历时首先应使其可以修改,因此答案为rs.Edit。此类题在历年考题中出现频率较高,考生应多归纳总结。 填空项1:__________________ (正确答案:rs.MoveNext)
解析:[解析] 本题考查程序设计和连接对象使用的综合知识。由于循环要保证修改数据表内每一条记录,当打开一个数据表时当前记录为第一条记录,随后应该在循环中移动当前记录指针来遍历整个数据表,rs是当前打开的数据表,数据表的MoveNext方法可以使当前记录指针下移一条记录,所以在第二个空白处应该填入rs.MoveNext。