4. 教师管理数据库有数据表“teacher”,包括“编号”、“姓名”、“性别”和“职称”四个字段。下面程序的功能是:通过窗体向“teacher”表中添加教师记录。对应“编号”、“姓名”、“性别”和“职称”的4个文本框的名称分别为:tNo、tName、tsex和tTitles。当单击窗体上的“增加”命令按钮(名称为Command1)时,首先判断编号是否重复,如果不重复,则向“teacher”表中添加教师记录;如果编号重复,则给出提示信息。 有关代码如下: Private ADOcn As New ADODB.Connection Private Sub Form_Load() '打开窗口时,连接Access本地数据库 Set ADOcn=______ End Sub Private Sub Command0_Click() '追加教师记录 Dim strSQL As String Dim ADOcmd As New ADODB.Command Dim ADOrs As New ADODB.Recordset Set ADOrs.ActiveConnection=ADOcn ADOrs.Open "Select编号From teacher Where编号='"+tNo+"'" If Not ADOrs.EOF Then MsgBox "你输入的编号已存在,不能新增加!" Else ADOcmd.ActiveConnection=ADOcn strSQL="Insert Into teacher(编号,姓名,性别,职称)" strSQL=strSQL+"Values('"+tNo+"','"+tname+"',…+tsex+'",'"+ttitles+"')" ADOcmd.CommandText=strSQL ADOcmd.Execute MsgBox"添加成功,请继续!" End If ADOrs.Close Set ADOrs=Nothing End Sub 按照功能要求,在横线上应填写的是_________。
33. 已知窗体中按钮Command0对应的事件代码如下: Private Sub Command0_Click() Dim J As Integer J=10 Call GetData(J+5) MsgBox J End Sub Private Sub GetData(ByRef f As Integer) f=f+20 End Sub 运行程序,输出结果是______。
A.30
B.15
C.10
D.35
A B C D
C
[解析] 在Command0_Click()事件过程中,利用Call GetData(J+5)语句来调用GetData过程,表达式J+5为实参,被调过程GetData(ByRef f As Integer)中的f为形参,实参可以是常量、变量或表达式3种方式之一,常量或表达式在传递时,形参即便是地址(ByRef)说明,实际传递的也只是常量或表达式的值,在这种情况下,过程参数“传址调用”的“双向”作用形式就起不了作用,所以本题中在形参前面尽管使用了ByRef,但是对形参的改变不会影响实参J的值,故本题C选项正确。
35. 在窗体中添加一个名称为Command1的命令按钮,然后编写如下事件代码: Private Sub Command1_Click() Dim a(10, 10) For m=2 To 4 For n=4 To 5 a(m, n)=m*n Next n Next m MsgBox a(2, 5)+a(3, 4)+a(4, 5) End Sub 窗体打开运行后,单击命令按钮,则消息框的输出结果是______。
38. 假定有如下的Sub过程: Sub s fun(x As Single,y As Single) t=x x=t/y y=t Mod y End Sub 在窗体上添加一个命令按钮(名为Command1),然后编写如下事件过程: Private Sub Command1_Click() Dim a As single Dim b As single a=5 b=4 sfun a,b MsgBox a & chr(10)+chr(13)&b End Sub 打开窗体运行后,单击命令按钮,消息框的两行输出内容分别为。
A.1和1
B.1.25和1
C.1.25和4
D.5和4
A B C D
B
[解析] 本题考查VBA中参数传递的知识。在VBA的过程调用时,参数有两种传递方式:传址传递和传值传递。如果在过程声明时没有说明传递类型,则默认为传址传递,即形参的结果会传递给实参。本例就是传址传递,所以过程调用时x=a,也就是5;y=b,也就是4。在过程内x的值变为5/4也就是1.25,y的值变为5 Mod 4也就是1。过程调用结束时x和y的值分别回送给a和b。
39. 在窗体中有一个命令按钮Command32,对应的事件代码如下: Private Sub Command32_Click() Dim a As String,b As String a="Hello" b="Access" x=Left(a,2) y=Lcase(b) Debug.Print x;y End Sub 打开窗体运行后,单击命令按钮,输出结果是______。