问答题 【说明】
某学期成绩管理系统的“增、删、改数据表中的记录”对话框如图1-19所示。
【正确答案】(1)H或cmdDelele.Enabled = Not cmdDelete.Enabled
(2)E或Datal.Recordset.AddNew
(3)G或Datal.Recordset.MoveLast
(4)B或Datal.Recordset.Update
(5)F中Datal.Recordset.MoveNext
(6)G或Datal.Recordset.MoveLast
(7)D或Datal.Recordset.CancelUpdate
(8)A或Datal.Refresh
(9)C或DataI.Recordset
【答案解析】[要点解析]
这是一道要求读者掌握用Data数据控件访问数据库的综合应用题。本题的解答思路如下。
Data数据控件是Visual Basic的标准控件。利用它能方便地创建应用程序与数据库之间的连接,并实现对数据资源的访问。为了在程序运行时,使Data数据控件能够访问指定表中的记录信息,应设置该控件的DatabaseName属性和RecordSource属性。要在图1-19各文本框中显示Data控件所连接的数据表中的数据,必须将文本框与Data数据控件进行绑定。
本程序开始部分,通过以下语句设置文本框不可编辑,使某条记录成为当前记录后,触发此事件。
For i = 0 TO 5
txtStu(i).Locked = True
Next i
在程序运行中,应注意各命令按钮之间的互相制约关系。例如,单击【添加】按钮后,不允许再单击【修改】、【删除】等按钮。因此本案例在【添加】按钮的Click事件中,用“cmdEdit.Enabled = Not cmdEdit.Enabled”、“cmdDelete.Enabled=NotcmdDelete.Enabled”等语句分别实现【修改】、【删除】按钮不可用状态的设置。因此(1)空缺处所选择的语句是选项H的“cmdDelete.Enabled=Not cmdDelete.Enabled”。
对于添加记录的操作,需单击两次【添加】按钮才能完成。第1次单击该按钮时,执行(1)空缺处的语句。而该语句所要完成的功能是将一条空记录添加到记录集的末尾,因此(2)空缺处所选择的语句是选项E的“Datal.Recordset.AddNew”。由语句“txtStu(i).Locked=Not txtStu(i).Locked”可知,第1次单击【添加】按钮后,就可以在文本框(txtStu(i),i=0,1,2,3,4,5)中输入各字段的数值。
第2次单击【添加】按钮时,执行语句“Datal.Recordset.Update”,其作用是确认添加操作后,再将新记录添加到数据库中。通常,新添加的记录是数据表中的最后一条记录,因此(3)空缺处语句所要完成的功能是,将记录指针移到最后一条记录上,即该空缺处所选择的语句是选项G的“Datal.Recordset.MoveLast”。
对于修改记录中的语句“Datal.Recordset.Edit”,其作用是调用Recordset的Edit方法,使当前记录成为可编辑的状态。在完成修改操作后,还需执行语句“Datal.Recordset.Update”,以确认所要做的修改操作,即(4)空缺处所选择的语句是选项B的“Datal.Recordset.Update”。
对于删除记录的操作,删除当前记录的语句是“Datal.Recordset.Delete”。删除当前记录后应使下一条记录成为当前记录,因此(5)空缺处所选择的语句是选项F的“Datal.Recordset.MoveNext”。
删除当前记录后,如果记录指针指向最后一条记录的后面,则需要重新将记录指针移动到最后一条记录上,使之成为当前记录。语句“If Datal.Recordset.EOF Then”用于判断记录指针是否指向最后一条记录的后面。其中,EOF是Recordset的一个属性,当值为True时,表明记录指针已移到最后一条记录的后面。 (6)空缺处语句所要完成的功能是,使最后一条记录成为当前记录,即该空缺处所选择的语句是选项G的“Datal.Recordset.MoveLast”。(7)空缺处语句所要完成的功能是放弃添加的新记录(或对数据的修改),选择的语句是选项D的“Datal.Recordset.CancelUpdate”。取消所添加的新记录(或对数据修改)的操作后,还需要刷新与Datal相连接的记录集,同时把记录集中的第一条记录设置为当前记录。因此,(8)空缺处所选择的语句是选项 A的“Datal.Refresh”。
最后(9)空缺处所选择的语句用于设置当前记录数,即选项C的“Datal.Recordset”。在Datal的 Reposition事件中,Recordset是Datal控件所控制的记录集对象,通过此对象对数据表中的记录进行浏览和操作。访问数据库的记录集可用Datal.Recordset实现。
另外补充说明一点,对于本试题中,学生成绩表的建立步骤如下。
1)启动数据管理器,选择【外接程序】→【可视化数据管理器】命令。
2)建立数据库,即单击工具栏中的【数据库窗口】按钮。
3)建立数据表结构。在数据库窗口中单击鼠标右键,从弹出的快捷菜单中选择【新建表】命令,打开如图1-21所示的“表结构”对话框。“表名称”栏输入:学生成绩表。按表1-13给出的学生成绩表结构定义表中的各个字段。
[*]
4)编辑数据表中的数据。在数据库窗口的数据表名处单击鼠标右键,从弹出的快捷菜单中选择【打开】命令。在打开的记录操作对话框按表1-14所给出的信息添加各个学生的成绩。
【正确答案】(10)D或bas
【答案解析】[要点解析]
Visual Basic应用程序有4种类型的文件,包括单独的窗体文件、标准模块文件、类模块文件和工程文件。单独的窗体文件的扩展名为frm;公用标准模块文件的扩展名为bas;类模块文件的扩展名为cls;工程文件的扩展名为vbp。工程文件由若干个窗体和模块组成。
【正确答案】将【退出】按钮的Caption属性设置为“退出(&C)”,将Cancel属性设置为“True”
【答案解析】[要点解析]
Visual Basic的任何一个控件,只要它有Caption属性,就可以为其指定访问热键。对于一般控件(非菜单项),可以在设计阶段通过属性窗口,在Caption属性中加符号“&”设置访问热键。访问键只能是一个字符,通常用键盘上存在的西文字符作为访问键,否则就没有实际意义。如果用汉字作为菜单项或控件的标题,则通常把访问键放在标题后面的括号中。
若要使图1-19对话框中的【退出】按钮新增如下的功能:运行时该按钮上显示有“退出(C)”字样的信息,按【Alt+C】组合键或按【ESC】键都相当于单击该按钮,则需要在开发时,将命令按钮“退出”的Caption属性设置为“退出(&C)”,将Cancel属性由默认的“False”更改为“True”。
【正确答案】执行所本试题所给出的MsgBox语句时,将弹出一个消息框,该消息框的标题为“数据错”;该消息框内的正文为“清检查修改输入数据!”;该消息框中有一个错误图标,还有一个【OK】按钮;如果用户按【Enter】键,则相当于单击【OK】按钮(答案类似即可)
【答案解析】[要点解析]
MsgBox语句的语法格式如下。
MsgBox Msg $[,type%][,title$][,helpfile,context]
其中,Msg是在对话框内显示的字符串;type是一个整数值或符号常量,用来控制在对话框内显示的按钮、图标的种类和数量;title是在对话框上显示的标题。
因此,执行所本试题所给出的MsgBox语句时,将弹出一个消息框,该消息框的标题为“数据错”,该消息框内的正文为“请检查修改输入数据!”,该消息框中有一个错误图标,有一个【OK】按钮,如果用户按【Enter】键,则相当于单击【OK】按钮。