




已阅读5页,还剩38页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VBA理 论 练 习 题 第 43 页 共 43 页第一部分(模块与VBA编程基础)一、选择题(117):1VBA中定义符号常量可以用关键字 A)Const B)Dim C)Public D)Static2Sub过程和Function过程最根本的区别是 A)Sub过程的过程名不能返回值,而Function过程能通过过程名返回值 B)Sub过程可以使用Call语句或直接使用过程名,而Function过程不能 C)两种过程参数的传递方式不同 D)Function过程可以有参数,Sub过程不能有参数3定义了二维数组A(2 to 5,5),则该数组的元素个数为 A)25 B)36 C)20 D)244已知程序段: s=0 For i=1 To 10 step 2 s=s+1 i=i*2 Next i 当循环结束后,变量i的值为a,变量s的值为b。 a A)10 B)11 C)22 D)16 b A)3 B)4 C)5 D)65以下内容中不属VBA提供的数据验证函数是 A)IsText B)IsDate C)IsNumeric D)IsNull6已定义好有参函数f(m),其中形参m是整型量。下面调用该函数,传递实参为5将返回的函数值赋给变量t以下正确的是 A)t=f(m) B)t=Call(m) C)t=f(5) D)t=Callf(5)7在有参函数设计时,要想实现某个参数的“双向”传递,就应当说明该形参为“传址”调用形式。其设置选项是 A)ByVal B)ByRef C)Optional D)ParamArray8在VBA代码调试过程中,能够显示出所有在当前过程中变量声明及变量值信息的是 A)快速监视窗口 B)监视窗口 C)立即窗口 D)本地窗口9VBA的逻辑值进行算术运算时,True值被当作 A)0 B)-1 C)1 D)任意值10VBA中不能进行错误处理的语句结构是 A)On Error Then标号 B)On Error Goto 标号 C)On Error Resume Next D)On Error Go 10011VBA中用实际参数a和b调用有参过程Area(m,n)的正确形式是 A)Aream,n B)Area a,b C)Call Area(m,n) D)Call Area a,b12给定日期DD,可以计算该日期当月最大天数的正确表达式是 A)Day(DD) B)Day(DateSerial(Year(DD),Month(DD),Day(DD) C)Day(DateSerial(Year(DD),Month(DD),0)D)Day(DateSerial(Year(DD),Month(DD)+1,0)13下列关于宏和模块的叙述中,正确的是 A)模块是能够被程序调用的函数 B)通过定义宏可以选择或更新数据 C)宏或模块都不能是窗体或报表上的事件代码 D)宏可以是独立的数据库对象,可以提供独立的操作动作14有如下VBA代码,运行结束后,变量n的值是n=0For i=1 TO 3 Forj=-4 To -1 n=n+1 NextjNext i A)0 B)3 C)4 D)1215假设有如下Sub过程: Sub sfun(x As Single,Y As Single) t=x x=t/y y=t mod y mod求余计算 例7 mod 4 =3 End Sub在窗体中添加一个命令按钮(名为Comnndl),编写如下事件过程 Private Sub Commandl_Click() Dim a As SinSle Dim b As SinSle a=5:b=4 sfun(a,b) 原书有错,改为:sfun a,b或call sfun(a,b) MsgBox a & chr(10) + chr(13) & b chr(数值)的功能返回数值对应的字母End Sub chr(10)=返回1个换行符?chr(13)=返回一个空格符号 注意:a x ; b y 是按地址传递的,因此不能写成sfun 5,4 chr与Asc互逆 例asc(a)=97 ; chr(97)=a asc(chr(97)=97打开窗体运行后,单击命令按钮,消息框中有两行输出,内容分别为 A)1和1 B)1.25和l C)1.25和4 D)5和416有如下VBA程序段:sum=0n=0For i=1 TO 5 x=n/i n=n+1 slim=sumNext i以上For循环计算sum,完成的表达式是 A)1+1/1+2/3+3/4+4/5 B)1+1/2+1/3+1/4+1/5 C)1/2+2/3+3/4+4/5 D)1/2+1/3+1/4+1/517在窗体中有一个命令按钮runl6,对应的事件代码如下: Private Sub runl6_Enter() Dim num As Integer Dim a As Integer Dim b As Integer Dim i As Integer For i=1 To 10 num=InputBox(请输入数据:,输入,1) if Int(num/2)=num/2 Then Int取整函数 例int(3.5)=3 a=a+1 Else b=b+1 End lf Next I MsgBox(运行结果:a=& Str(a) & ,b= & Str(b)End Sub str(123)=”123”将123转换成字符串 与val互逆。例:Val(str(123)=123 运行以上事件所完成的功能是 A)对输入的10个数据求累加和 B)对输入的10个数据求各自的余数,然后再进行累加 c)对输入的10个数据求分别统计有几个是整数,有几个是非整数 D)对输人的10个数据求分别统计有几个是奇数,有几个是偶数二、填空题(125)1VBA的全称是 Visual Basic for Application。2模块包含了一个声明区域和一个或多个子过程(以Sub开头)或函数过程(以Function开头)。3. 说明变量最常用的方法,是使用Dim As 结构.4VBA中变量作用域分为3个层次,这3个层次是局部变量、模块变量和全局变量。5在模块的说明区域中,用private关键字说明的变量是模块范围的变量;而用public或Global键字说明的变量是属于全局范围的变量。6要在程序或函数的实例间保留局部变量的值,可以用Static关键字代替Dim。7用户定义的数据类型可以用TypeType End关键字间说明。8VBA的3种流程控制结构是顺序结构、选择结构和循环结构。9VBA中使用的3种选择函数是IIf、Switch和Choose。10VBA提供了多个用于数据验证的函数。其中IsDate函数用于合法日期验证;IsNumeric函数用于判定输入数据是否为数值。11VBA的有参过程定义,形参用ByVal说明,表明该形参为传值调用;形参用ByRef说明,表明该形参为传址调用.12VBA的错误处理主要使用On Error语句结构。13On Error Goto 0语句的含义是取消错误处理。14On Error Resume Next语句的含义是忽略错误并执行下一条语句。15VBA语言中,函数lnputBox的功能是输入数据对话框;Msgbos函数的功能是显示消息信息。16在VBA中双精度的类型标识是Double。17在VBA中,分支结构根据条件(或条件表达式)选择执行不同的程序语句。18VBA的逻辑值在表达式当中进行算术运算时,True值被当作-1、False值被当作0来处理。19VBA编程中,要得到15,75上的随机整数可以用表达式Int(15+61*Rnd).20设有如下代码: X=1Do x=x+2Loop Until x=7 (或x=7 或 x6)运行程序,要求循环体执行3次后结束循环,请在空白处填入适当的语句21设有以下窗体单击事件过程: Private Sub Form_Click() a=1 for i=1 to 3 Select Case i Case 1,3 a=a+1 Case 2,4 a=a+2 end Select Next i MsgBox a End Sub打开窗体运行后,单击窗体,则消息框的输出内容是5。22在窗体中添加一个命令按钮(名为Commandl)和一个文本框(名为Textl),编写事件代码如下Private Sub Commandl Click() Dim a As Integer,y As Integer x=5:y=7:z=0 Me!Textl= Call Pl(x,x,z) Me!Textl=zEnd SubPrivate p1(a As Integer,b As Integer,c As Integer) c=a+bEnd Sub打开窗体后,单击命令按钮,文本框中显示的内容是1223在下面的VBA程序段运行时,内层循环的循环次数是9For m=0 To 7 Step 3 For n = m-1 To m+1 Next nNext m24在窗体中使用一个文本框(名为numl)接受输入值,有一个命令按钮run,单击事件代码如下 Private Subrun_Click() If Me!num1=60 Then Result=及格Else If Me!numl70 Then Result=通过Else If Me!numl85 Then Result=合格End Sub打开窗体后,若通过文本框输入的值为85,单击命令按钮,输出结果是及格。25在窗体中有一个名为Command25的命令按钮,Click事件代码如下。该事件的完整功能是:接受从键盘输入的10个大于0的整数,找出其中的最大值和对应的输入位置。请依据上述功能要求将程序补充完整。 Private Sub Command25_Click() Max=0 max_n=0 For i=l To 10 num=Val(InputBox(请输入第&i&个大于0的整数:) If nummax Then max=nummax_n=i End If Next i MsgBox(最大值为第 & max_n & 个输入的 & max) End Sub 第二部分(数据库编程)一、选择题(19)1以下内容中不属VBA提供的数据验证函数是 A)IsNull B)IsDate C)lsNumeric D)IsText2VBA定时”操作中,需要设置窗体的“计时器间隔(TimerInterval)”属性值。其计量单位是 A)微秒 B)毫秒 C)秒 D)分钟3能够实现从指定记录集里检索特定字段值的函数是 A)Nz B)DSum C)Rnd D)DLookup4DAO模型层次中处在最顶层的对象是 A)DBEngine B)Workspace C)Database D)RecordSet5ADO对象模型中可以打开RecordSet对象的是 A)只能是Connection对象 B)只能是Command对象 C)可以是Connection对象和Command对象 D)不存在6InputBox函数返回值的类型为 A)数值 B)字符串(错误) 注意:正确答案为D)C)变体 D)数值或字符串(视输入的数据而定)InputBox$ 返回字符串 InputBox 返回数值或字符串7ADO的含义是 A)开放数据库互连应用编程接12 B)数据库访问对象 C)动态链接库 D)Active数据对象8执行下面的语句后,所弹出的信息框外观样式为 MsgBoxAAAA,vbOKCancel+vbQuestion,BBBB 注:vbQuestion等价于32MsgBox(AAAA, 1 + 64, BBBB)MsgBox(AAAA, 1 + 32, BBBB)MsgBox(BBBB, 1 + 32, AAAA)MsgBox(BBBB, 1 + 64, AAAA)ACBD 9在MsgBox(prompt,buttons,title,hetpfite,context)函数调用形式中必须提供的参数是 A)prompt B)buttons C)title D)context二、填空题(118)(p8-p13):1VBA提供了多个用于数据验证的函数。其中IsDate函数用于合法日期验证;IsNumeric函数用于判定输入数据是否为数值。2. VBA语言中,函数InputBox的功能是输入数据对话框;Msgbox函数的功能是显示消息信息。3VBA的“定时”操作功能是通过窗体的定时(Timer)事件过程完成。4VBA中打开窗体的命令语句是DoCmd.OpenForm。5Access的窗体或报表事件可以有两种方法来响应:宏对象和事件过程。6窗体的计时器触发事件激发的时间间隔是通过计时器间隔(或interval)属性来设置。7窗体中有两个命令按钮:“显示”(控件名为cmdDisplay)和“测试”(控件名为cmdTest)。当单击“测试”按钮时,执行的事件功能是:首先弹出消息框,若点击其中的“确定”按钮,则隐藏窗体上的“显示”按钮;否则直接返回到窗体中。 Private Sub cmdtest_Click() Answer=MsgBox (隐藏按钮?,vbOKCancel十vbQuestion,Msg) If Answer=vbOK Then Me!cmddisplay.Visible=False End If End Sub注意:vbOKCancel等价于1 vbQuestion等价于328设计一个计时的Access应用程序。该程序界面如图所示,由一个文本框(名为Textl)、一个标签及两个命令按钮(一个标题为Start,命名为Commandl;另一个标题为Stop,命名为Command2)组成。程序功能为:打开窗体运行后,单击“Start按钮,则开始计时,文本框中显示秒数;单击“Stop”按钮,则计时停止;双击“Stop”按钮,则退出。请填空补充完整。 Dim i as integer Private Sub Commandl Click( ) i=0 Me.TimerInterval=1000 End Sub Private Sub Command2_Click( ) Me.TimerInterval=0End Sub Private Sub Command2_DblClick(Cancel As Integer) DoCmd.Close End Sub Private Sub Form_Load( ) Me.TimerInterval=0 Me!Text1=0 End Sub Private Sub Form_Timer( ) i=i+1 Me!Textl=i End Sub9要实现以下图示效果的消息框显示,VBA代码语句为MsgBox 数据处理结束!,vbinformation,消息10VBA中主要提供了三种数据库访问接口:ODBC API、DAO、ADO。11DAO对象模型采用分层结构,其中位于最顶层的对象是DBEngine。12Access的VBA编程操作本地数据库时,提供一种DAO数据库打开的快捷方式是CurrentDB()也提供一种ADO的默认连接对象是CurrentProject.Connection13DAO模型中,主要的控制对象有DBEngine、Workspace 、Database、 RecordSet Field和Error。14ADO对象模型主要有Connection、 Command 、RecordSet、 Field,而相应QueryDef和Error5个对象。15已知一个为“学生”的Access数据库,库中的表“stud存储学生的基本情况信息,包括学号、姓名、性别和籍贯。下面程序的功能是:通过窗体向stud表中添加学生记录。对应“学号”、“姓名”、“性别”和“籍贯”的4个文本框的名称分别为:tNo、tName、tSex和tRes。当点击窗体上的“增加”命令按钮(名称为Commandl)时,首先判断学号是否重复,如果不重复则向“stud表中添加学生记录;如果学号重复,则给出提示信息。当点击窗体上的“退出”命令按钮(名称为Command2)时,关闭当前窗体。 依据要求功能,请将以下程序补充完整。Private Sub Form_Load() 打开窗口时,连接Access数据库 Set ADOcn=CurrentProject.ConnentionEnd SubDim ADOcn As New ADODB.ConnectionPrivate Sub Commandl Click() 增加学生记录 Dim strSQL As String Dim ADOrs As New ADO.RecordsetSet ADOrs.ActiveConnection=ADOcnADOrs.OpenSelect学号From Stud Where学号=+tNo+If Not ADOrs.EOF Then MsgBox你输入的学号已存在,不能新增加!”Else StrSQL=Insert Into stud(学号,姓名,性别,籍贯) StrSQL=strSQL+Values(,+tNo +,+tName+,+tSex+tRes+)ADOrs.Execute StrSQL MsgBox 添加成功,请继续!End IfADOrs.CloseSet ADOrs=NothingEnd SubPrivate Sub Command2_Click( ) Docmd.CloseEnd Sub16已经设计出一个表格式表单窗体,可以输出教师表的相关字段信息。请按照以下功能要求补充设计:改变当前记录,消息框弹出提示“是否删除该记录?”,单击“是”,则直接删除该当前记录;单击“否”,则什么都不做。其效果图如下:单击“退出”按钮,关闭窗体。 Private Sub btnCaneel_Ctick( ) DoCmdClose End Sub表格式表单窗体当前记录变化时触发 Private Sub Form_Current( )If MsgBox(是否删除该记录?,vbQuestion+vbYesNo,确认)=6(或vbYes)Then Me.Recordset.DeleteEnd lfEnd Sub 17已经完成一个窗体的部分设计。请按照以下功能要求补充设计: (1)原始文本处的文本框只接受英文大小写字符和汉字,其他字符输入一律忽略; (2)单击“复制”按钮,可将原始文本框的选择内容追加到目标文本框内;(3)目标文本框内字符数超过50,则清空。其效果图如下:代码如下:Dim strTemp AsString 存放原始文本框选择文本单击“复制”按钮,实施复制操作 PrivateSub tCopy_Click( ) Me!tDestText:Nz(Me!tDestText)十strTemp strTemp =” If Len(Me!tDestText)50 Then Me!tDestText=Null End Sub 原始文本框接受英文大小字母和汉字输入 Private Sub tSourceText_KeyPress(KeyAscii AsInteger) If(KeyAscii=Ase(A) And KeyAscii=Asc(a) And KeyAscii0 Then strTemp = Me!tSourceText.SelText(或Mid(Me!tSourceText, Me!tSourceText.SelStart+1, Me!tSourceText.SelLength) Else strTemp= End IfEnd Sub 18Nz函数主要用于处理Null值时的情况;Dlookup函数的功用是从指定记录集里检索特定字段的值。第三部分(经典题解)一、选择题(133)1假定有以下循环结构(2005年9月) Do Until条件 循环体 Loop则正确的叙述是。A)如果“条件”值为0,则一次循环体也不执行B)如果“条件”值为0,则至少执行一次循环体C)如果“条件”值不为0,则至少执行一次循环体D)不论“条件”是否为“真”,至少要执行一次循环体 解析:DoUntil。Loop循环结构中,当条件值为假时,重复执行循环体,直至条件值为真,结束循环。因此,如果条件值为0,则至少执行一次循环体。2窗体上添加有3个命令按钮,分别命名为Commandl、Command2和Command3。编写Commandl的单击事件过程,完成的功能为:当单击按钮Commandl时,按钮Command2可用,按钮Command3不可见。以下正确的是。(2005年9月) A)Private Sub Commandl_Click() Command2.Visible=True Command3.Visible=False End Sub B)PrivateSub Commandl_Click() Command2.Enabled=true Command3.Enabled=False End SubC)Private Sub Commandl_Click() Command2.Enabled=True Command3.Visible=FalseEnd Sub D)Private SubCommandl_Click() Command2.Visible=True Command3.Enabled=FalseEnd Sub解析:Enabled属性用于判断控件是否可用,而Visible属性用于判断控件是否可见。题目中要求Command2可用,而Command3不可见,则必须设置Command2的Enabled为True,并且设置Command3的Visible为False3假定有以下程序段:(2005年9月) n=0 for i=1 to 3 forj=-4 to -1 n=n+1 next j next i 运行完毕后,n的值是 A) 0 B) 3 C) 4 D) 12 解析:本题中,外层循环从1到3,要执行3次,而内层循环从-4到-1,执行4次,所以一共执行了4*3=12次循环。而每执行一次循环n就加1,所以最后n的值为12。4下列逻辑表达式中,能正确表示条件“x和Y都是奇数”的是。(2005年9月) A) x Mod 2=1 Or y Mod 2=1 B) x Mod 2=0 Or y Mod 2=0 C)x Mod 2=1 And y Mod 2=1 D)x Mod 2=0 And y Mod 2=0 解析:要使x和y都是奇数,则x和y除以2的余数都必须是1。5VBA程序的多条语句可以写在一行中,其分隔符必须使用符号。(2006年4月) A): B) C); D), 解析:VBA程序在一行上写多个语句时用冒号“:”作分隔符6VBA表达式3*333的输出结果是。(2006年4月) A) 0 B) 1 C) 3 D) 9 解析:VBA的表达式运算符优先级顺序“*”和“/”高于“”。此表达式先计算3*3=9和3/3=1,最后计算91=9。7现有一个已经建好的窗体,窗体中有一个命令按钮,单击此按钮,将打开tEmployee表,如果采用VBA代码完成,下面语句正确的是。(2006年4月) A)docmd.openformtEmployee B)docmd.openviewtEmployee C)docmd.OpentabletEmployee D)docmd.OpenreporttEmployee解析:docmd.openform使用openForm操作,可以从“窗体”视图、窗体“设计”视图、“打印预览”或“数据表”视图中打开一个窗体,可以选择窗体的数据输入与窗体数据输出方式并限制窗体所显示的记录。Docmd.openview可以使用openview操作在“数据表”视图、视图“设计”视图或打印预览中打开视图。当在“数据表”视图中打开视图时,该操作运行此命名的视图。可以选择该视图的数据项,并可限制视图显示的记录数。Docmd.openrepot使用OpenReport操作,可以在“设计”视图或“打印预览”中打开报表或立即打印报表,也可以限制需要在报表中打印的记录。Docmd.opentable使用OPentable操作,可以在“数据表”视图、“设计”视图或打印预览中打开表,也可以选择表的数据输入方式。8Access的控件对象可以设置某个属性来控制对象是否可用(不可用时显示为灰色状态),需要设置的属性是一。(2006年4月) A)Default B)Cancel C)Enabled D)Visible 解析:Default为命令按钮确定属性,只有命令按钮支持此属性。 Cancel为取消功能属性。 Enabled决定控件是否允许操作。 Visible决定控件是否可见。9如果加载一个窗体,先被触发的事件是。(2006年4月) A)Load事件 B)Open事件 C)Click事件 D)Dalick事件 解析:Access加载窗体是运行指定的宏或用户定义的事件过程,然后显示窗体的记录。可以使用Load事件过程设置窗体或控件中的值,也可以设置窗体或控件的属性。Load事件发生在Open事件后及Resize事件前,不能被取消。Click事件发生在窗体单击时,没有Ddelick事件。10以下程序段运行结束后,变量x的值为_。(2006年4月) x=2 y=4 DO x=x*y y=y+1 Loop While y60 Then I=1 If A70 Then I=2 If A80 Then I=3 1f A90 Then I=4 MsgBox I End Sub 打开窗体运行后,单击命令按钮,则消息框的输出结果是。 A)1 B)2 C)3 D)4解析:if条件表达式1 Then条件表达式1为真时要执的语句序列。在程序中,A=75,即A)70,执行IfA)70 Then I=2,所以I=2。18在窗体中添加一个命令按钮(名称为Commandl),然后编写如下代码:(2006年9月) Private Sub Commandl_Click( ) s=ABBACDDCBA For I=6 To 2 Step -2 x=Mid(s,I,I) y=Left(s,I) z=Right(s,I) z=x & y & z Next I MsgBox z End Sub 窗体打开运行后,单击命令按钮,则消息框的输出结果是。 A)AABAAB B)ABBABA C)BABBA D)BBABBA解析:Mid(字符表达式,数值表达式1,数值表达式2):返回一个值,该值是从字符表达式最左端某个字符开始,截取到某个字符为止的若干个字符。其中,数值表达式1的值是开始的字符位置,数值表达式2是终止的字符个数。Left(字符表达式,数值表达式):返回一个值,该值是从字符表达式左侧第1个字符开始截取的若干字符。其中,字符字数是数值达式的值。Right(字符表达式,数值表达式):返回一个值,该值是从字符表达式右侧第1个字符开始截取的若干字符。其中,字符字数是数值表达式的值。For循环运行三次,最后一次循环结束,x=BB,y=AB,z=BBABBA。 19在窗体中添加一个命令按钮(名称为Commandl),然后编写如下代码:(2006年9月) Public x As Integer x为全局变量(位置:通用声明段) Dim y As Integer y为模块变量(位置:通用声明段)Private Sub Commandl_Click() x=10 x为全局变量 Call s1 Call s2 MsgBox x x为全局变量 End SubPrivate Sub_s1( ) x=x+20 x为全局变量End Sub PrivateSub_s2( ) Dim x As integer x为局部变量 x=x+20 x为局部变量 End Sub 打开窗体运行后,单击命令按钮,则消息框的输出结果是。 A) 10 B) 30 C) 40 D) 50 解析:本题使用Call调用子过程s1、s2。x=10在调用子过程s1后,x=30,但由于在s1中直接使用变量,所以该值的作用范围是局部的,即只限于s1子过程中,没有传回。在调用s2时
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 统计学考试复习战略与技巧试题及答案
- 统计学调查研究方法讨论试题及答案
- 公务员省考笔试与面试的准备策略试题及答案
- 2025进出口贸易合同范本
- 湖南省怀化市新晃侗族自治县大湾罗中学2024-2025学年七年级下学期3月月考语文试题(无答案)
- 统计学基础知识与考题对应分析试题及答案
- 2025二手房买卖定金协议书合同样本
- 政治经济学重点
- 2025新款办公室租赁合同模板
- 2025中介合同签订流程
- 医院公共卫生管理制度
- 2024年版-生产作业指导书SOP模板
- DL-T5508-2015燃气分布式供能站设计规范
- 汽车吊装专项施工方案及流程
- 2024年安徽省合肥市新站区中考一模数学试题
- 智联招聘测评题库2024答案
- 地震应急疏散演练方案安全教育
- 上下班交通安全培训课件
- 无人生还介绍读后感课件
- 彝族服饰简要介绍课件
- 教师职业道德-爱国守法
评论
0/150
提交评论