1、二级 VISUAL+FOXPRO机试-129 及答案解析(总分:100.00,做题时间:90 分钟)一、一 基本操作题(总题数:1,分数:30.00)1.在考生文件夹下完成下列操作:1从数据库 stock中移去表 stock_fk(不是删除)。2将自由表 stock_name添加到数据库中。3为表 stock_s1建立一个主索引,索引名和索引表达式均为“股票代码”。4为 stock_name表的股票代码字段设置有效性规则,“规则”是:left(股票代码,1)=“6”,错误提示信息是“股票代码的第一位必须是 6”。(分数:30.00)_二、二 简单应用题(总题数:1,分数:40.00)2.在考生
2、文件夹下完成如下简单应用:1用 SQL语句完成下列操作:列出所有盈利(现价大于买入价)的股票简称、现价、买入价和持有数量,并将检索结果按持有数量降序排序存储于表 stock_temp中。2使用一对多报表向导建立报表。要求:父表为 stock_name,子表为 Stock_s1,从父表中选择字段:“股票简称”;从子表中选择全部字段;两个表通过“股票代码”建立联系;按股票代码升序排序;报表标题为:“股票持有情况”;生成的报表文件名为 stock_report。(分数:40.00)_三、三 综合应用题(总题数:1,分数:30.00)3.设计名为 mystock的表单(控件名,文件名均为 mystoc
3、k)。表单的标题为:“股票持:有情况”。表单中有两个文本框(text1 和 text2)和两个命令按钮即“查询”(名称为 Command1)和“退出”(名称为Command2)。运行表单时,在文本框 text1中输入某一股票的汉语拼音,然后单击“查询”,则 text2中会显示出相应股票的持有数量。单击“退出”按钮关闭表单。(分数:30.00)_二级 VISUAL+FOXPRO机试-129 答案解析(总分:100.00,做题时间:90 分钟)一、一 基本操作题(总题数:1,分数:30.00)1.在考生文件夹下完成下列操作:1从数据库 stock中移去表 stock_fk(不是删除)。2将自由表
4、stock_name添加到数据库中。3为表 stock_s1建立一个主索引,索引名和索引表达式均为“股票代码”。4为 stock_name表的股票代码字段设置有效性规则,“规则”是:left(股票代码,1)=“6”,错误提示信息是“股票代码的第一位必须是 6”。(分数:30.00)_正确答案:(打开考生文件夹下的“Stock”数据库,在“Stock”数据库设计器中,选中“stock_fk”表,单击主菜单“数据库”下的“移去”,在弹出的对话框中单击“移去(R)”按钮,在随后弹出的对话框中单击“是(Y)”按钮,至此便完成了“从数据库 stock中移去表 stock_fk(不是删除)”的操作。2打开
5、数据库菜单选择“添加表(A)”,在弹出的“打开”对话框中,选定考生文件夹下的 stock_name表,再单击“确定”即可,这样表 Stock_name就添加到了“Stock”数据库中。3在数据库设计器中选中表 Stock_s1,在主菜单中选择“修改(Y)”,弹出表设计器,选择表设计器“索引”标签,在索引名列中填入“股票代码”,在索引类型列中选择“主索引”,在索引表达式列中填入“股票代码”,单击“确定”按钮以保存表结构。4在“stock_name”的表设计器中,选中“股票代码”字段,并在“字段有效性”的“规则”文本框中输入:left(股票代码,1)=“6”,在“信息”文本框中输入“股票代码的第一
6、位必须是 6“(双引号不可少),单击“确定”按钮来保存对表结构的修改。)解析:二、二 简单应用题(总题数:1,分数:40.00)2.在考生文件夹下完成如下简单应用:1用 SQL语句完成下列操作:列出所有盈利(现价大于买入价)的股票简称、现价、买入价和持有数量,并将检索结果按持有数量降序排序存储于表 stock_temp中。2使用一对多报表向导建立报表。要求:父表为 stock_name,子表为 Stock_s1,从父表中选择字段:“股票简称”;从子表中选择全部字段;两个表通过“股票代码”建立联系;按股票代码升序排序;报表标题为:“股票持有情况”;生成的报表文件名为 stock_report。(
7、分数:40.00)_正确答案:(1在 Visual FoxPro的命令窗口中输入下列命令:SELECT Stock_name.股票简称,Stock_s1.现价,Stock_s1.买入价,Stock_s1.持有数量;FROM stock! stock_name INNER JOIN strock! stock_s1;ON stock_name.股票代码=Stock_s1.股票代码;WHERE Stock_s1.现价Stock_s1.买入价;ORDER BY Stock_s1.持有数量 DESC;INTO TABLE stock_temp.dbf2启动报表向导可在“文件”菜单中选择“新建”或者单击
8、工具栏上的“新建”按钮,打开“新建”对话框,文件类型选择报表,单击向导按钮。或者在“工具”菜单中选择“向导”子菜单,选择“报表”,或直接单击工具栏上的“报表向导”图标按钮,然后按照向导提示操作即可。)解析:三、三 综合应用题(总题数:1,分数:30.00)3.设计名为 mystock的表单(控件名,文件名均为 mystock)。表单的标题为:“股票持:有情况”。表单中有两个文本框(text1 和 text2)和两个命令按钮即“查询”(名称为 Command1)和“退出”(名称为Command2)。运行表单时,在文本框 text1中输入某一股票的汉语拼音,然后单击“查询”,则 text2中会显示
9、出相应股票的持有数量。单击“退出”按钮关闭表单。(分数:30.00)_正确答案:(第一步:在 Visual FoxPro主窗口中按下组合键 Ctrl+N,系统弹出“新建”对话框,在文件类型中选择“表单”,单击“新建文件”按钮,系统将打开表单设计器;或直接在命令窗口中输入 crea form mystock。第二步:单击工具栏按钮“表单控件工具栏”,在弹出的“表单控件”对话框中,选中“命令按钮”控件,在表单设计器中拖动鼠标,这样在表单上得到一个“命令按钮”控件 command1,用类似的方法为表单加入一个“命令按钮”控件 command2,两个“文本框”控件 text1和 text2。相关控件的
10、属性值如下所示:对象 属性 属性值Form1 Name mystockCaption 股票持有情况Command1 Caption 查询Command2 Caption 退出*命令按钮 command1(查询)的 Click事件代码如下*SELECT Stock_s1.持有数量;FROM stock! stock_name INNER JOIN stock! Stock_s1;ON Stock_name.股票代码=Stock_s1.股票代码;WHERE Stock_name.汉语拼音=alltrim(thisform.text1.value);INTO ARRAY TEMPTHISFORM.TEXT2.VALUE=TEMP*命令按钮 command2(退出)的 Click事件代码如下*thisform.release)解析: