图34-1
双击命令按钮Command1,在Click事件中编写如下代码。 ******命令按钮Command1(统计)的Click事件******
SELECT SUM(零件信息.单价*使用零件.数量) FROM 零件信息,使用零件,项目信息 ;
Where 使用零件.项目号 = 项目信息.项目号 and 零件信息.零件号 = 使用零件.零件号; and 使用零件.项目号 =ALLTRIM(ThisForm.COMBO1.VALUE) INTO ARRAY TEMP ThisForm.TEXT1.VALUE=TEMP
************************************************
同样在Command2的Click事件中编写代码:ThisForm.Release。
保存表单文件为form_item到考生文件下。运行表单,结果如图34-2所示。
图34-2
37
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
(1)为数据库mydb中的表\积分\增加字段\电话\,类型和宽度为\字符型(50)\。
(2)为表\积分\的字段\积分\设置完整性约束,要求积分值大于\(含400)\,否则提示信息\输入的积分值太少\。
(3)设置表\积分\的字段\地址\的默认值为\。
(4)为表\积分\插入一条记录(张良,1800,服装公司,北京中关村),并用Select语句查询表积分中的\积分\在\以上(含1500)\的记录,将SQL语句存入my.txt中。
【答案】
(1)从菜单栏里单击\文件\并选择\打开\,或直接单击工具栏上的\打开\图标,在弹出的对话框中选择要打开的数据库文件mydb。
在数据库设计器中,右键单击数据库表\积分\,在弹出的快捷菜单中选择\修改\菜单命令,进入\积分\的数据表设计器界面,在\字段\选项卡中,单击表设计器右边的\插入\按钮,输入新的字段名\地址\,根据题意,依次输入类型、宽度。
(2)在数据库设计器中,右键单击数据库表\积分\,在弹出的快捷菜单中选择\修改\菜单命令,进入\积分\的数据表设计器界面,在\字段\选项卡中,首先选中\积分\字段,然后在规则文本框中输入\积分>=1000\,在信息文本框中输入\输入的积分值太少\,单击\确定\按钮保存表设计结果。
(3)在数据库设计器中,右键单击\积分\数据表选择\修改\快捷菜单命令,打开表设计器,在\字段\选项卡中选中\地址\字段,然后在\字段有效性\的\默认值\文本框中输入\北京市中关村\。
(4)在命令窗口输入:MODIFY FILE mytxt,在弹出的文本编辑器中输入命令: INSERT INTO 积分 VALUES(\张良\服装公司\北京市中关村\SELECT * FROM 积分 WHERE 积分>=1500
保存文件。在命令窗口输入:DO mytxt.txt命令可查看运行结果。
二、简单应用题(共2小题,每题20分,计40分)
(1)使用表单向导制作一个表单,要求选择sc表中的全部字段。表单样式为\阴影式\,按钮类型为\图片按钮\,排序字段选择\学号\(升序),表单标题为\成绩查看\,最后将表单保存为form1。
(2)在考生文件夹的下对数据库rate中的表hl的结构做如下修改:指定\外币代码\为主索引,索引名和索引表达式均为\外币代码\。指定\外币名称\为普通索引,索引名和索引表达式均为\外币名称\。
【答案】
(1)启动Visual FoxPro,在\工具\菜单选择\向导\表单\菜单命令,出现\向导选取\对话框,根据题意数据源是一个表,因此选定\表单向导\,单击\确定\。
步骤一:在弹出的对话框中\数据库和表\选项选择sc数据表,并把全部的\可用字段\选为\选定字段\。 步骤二:表单样式选择为\阴影式\,按钮类型选择\图片按钮\。 步骤三:在\排序次序\中选择\学号\,并选择升序排序。
步骤四:把表单标题改为\成绩查看\,可以在单击\完成\之前单击\预览\按钮来预览生成的表单,最后单击\完成\按钮。
将表单以文件名为form1保存在考生文件夹里。表单结果如图37-1所示。
图37-1
(2)从菜单栏里单击\文件\并选择\打开\,或直接单击工具栏上的\打开\图标,在弹出的对话框中选择要打开的数据库文件rate。
在数据库设计器中,右键单击数据库表hl,在弹出的快捷菜单中选择\修改\菜单命令,进入hl的数据表设计器界面,单击\索引\选项卡,把此选项卡中的\索引名\和\索引表达式\都改为\外币代码\,在\索引类型\的下拉框中,选择\主索引\。继续插入一个普通索引,在索引名中输入字段\外币名称\,类型为普通索引,表达式为\外币名称\。单击\确定\完成索引设置。
三、综合应用题(1小题,计30分)
建立满足如下要求的应用并运行,所有控件的属性必须在表单设计器的属性窗口中设置: 建立一个表单myform(文件名和表单名均为myform),其中包含两个表格控件,第一个表格控件名称是grd1,用于显示表customer中的记录,第二个表格控件名称是grd2,用于显示与表customer中当前记录对应的order表中的记录。要求两个表格尺寸相同、水平对齐。
建立一个菜单mymenu,该菜单只有一个菜单项\退出\,该菜单项对应于一个过程,并且含有两条语句,第一条语句是关闭表单myform,第二条语句是将菜单恢复为默认的系统菜单。
在myform的Load事件中执行生成的菜单程序mymenu.mpr。 【答案】
在命令窗口输入命令:CREATE FORM myform,打开表单设计器窗口。
从常用工具栏中单击表格控件,添加两个表格到新建的表单中,右击表单,选择\数据环境\快捷菜单命令,在数据环境中添加customer和order,系统自动建立好两表的关联。返回表单设计器中,右键单击表格grd1,在弹出的快捷菜单中选择\生成器\,弹出表格生成器对话框,在\表格项\中选择customer,将表中所有字段添加到选定字段中,如图37-2所示。以同样的方法设置第二个表格的生成器,选择\关系\选项卡,把\父表中的关键字段\设置为customer.客户编号,把\子表中的相关索引\设置为\客户编号\,如图37-3所示。双击表单,编写表单的Load事件代码:DO mymenu.mpr,保存表单,关闭表单设计器窗口。
图37-2
图37-3
在命令窗口输入命令:CREATE MENU mymenu,在弹出的\菜单设计器\中的\菜单名称\列处输入\退出\,结果为\过程\,相关代码如下所示:
myform.Release
SET SYSMENU TO DEFAULT
选择菜单命令\菜单\-\生成\,生成可执行菜单文件,保存菜单,关闭菜单设计器。 在命令窗口执行命令:DO mymenu.mpr,程序运行结果如图37-4所示。
图37-4
38
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
(1)建立项目my。
(2)将数据库\客商\添加到项目中。
(3)将数据库\客商\中的数据库表\价格\从数据库中移去(注意:不是删除)。 (4)将考生文件夹中的表单my的背景色改为蓝色。 【答案】
(1)启动Visual FoxPro后,在命令窗口输入命令:CREATE PROJECT my,新建一个项目管理器。
(2)在项目管理器my中,首先在\数据\选项卡中选择\数据库\,然后单击选项卡右边的\添加\命令按钮,在系统弹出的\打开\对话框中,将考生文件夹中的数据库\客商\添加到项目管理器中,单击\确定\按钮。
(3)选择\客商\数据库,单击项目管理器中的\修改\命令按钮,打开数据库设计器。在数据库设计器中,右击\价格\数据表文件,选择\删除\快捷菜单命令,系统弹出一个对话框,在对话框中单击\移去\命令按钮,将\价格\表从数据库中移出。
(4)从菜单栏里单击\文件\并选择\打开\,或直接单击工具栏上的\打开\图标,在弹出的对话框中选择要打开的表单文件\。
在表单的属性栏里找到BackColor属性,将其属性值设置为\,0,255\,系统自动将表单的背景颜色设置为蓝色。
二、简单应用题(共2小题,每题20分,计40分)
(1)my.prg中的SQL语句用于查询\成绩\数据库中参加了课程编号为\的学生的\学号\、\姓名\、\课程编号\和\成绩\,现在该语句中有3处错误,分别出现在第l行、第2行和第3行,请更正之。要求保持原有语句的结构,不增加行不删除行。
(2)在成绩数据库中统计每门课程考试的平均成绩,并将结果放在表myt中。 【答案】
(1)在命令窗口中输入命令:MODIFY COMMAND mypro.prg,打开程序文件编辑窗口,文件中程序段如下: ******mypro.prg中的源程序段*********** select sc.all,student.姓名;
from sc inner join student in sc.学号=student.学号; for sc.课程号=\
*******************************************
根据题意提供的3处错误,修改后的程序段如下所示: ********修改后的程序段******************** select sc.*,student.姓名;
from sc inner join student on sc.学号=student.学号; where sc.课程编号=\
*******************************************
保存文件修改,在命令窗口中输入命令:DO mypro,查看运行结果。 (2)在命令窗口中输入命令:MODIFY COMMAND 平均成绩.prg,打开程序文件编辑窗口,文件中程序段如下: ********\平均成绩.prg\中的程序代码*********
select 课程编号,avg(成绩) as 平均成绩 from sc group by 课程编号 into table myt *******************************************
保存文件,在命令窗口输入命令:DO 平均成绩,运行程序,查询结果如图38-1所示。
图38-1
三、综合应用题(1小题,计30分)
对考生文件夹中的\学生信息\表,\课程信息\表和\选课信息\表新建一个表单myf。
在表单上有1页框,页框内有3个选项卡,标题分别为\学生\,\课程\和\选课\。表单运行时对应的3个页面上分别显示\学生信息\表,\课程信息\表和\选课信息\表。
表单上还有1选项按钮组,共有3个待选项,标题分别为\学生\,\课程\,\选课\。当单击该选项按钮组选择某一选项时,页框将在对应页面上显示对应表,如单击\课程\选项时,页框将在课程页面上显示课程表。表单上有1个命令按钮,标题为\关闭\,单击此按钮,表单将退出。
【答案】
在命令窗口中输入命令:CREATE FORM myf,打开表单设计器,通过\常用工具栏\向表单添加1个页框控件、1个选项按钮组和1个命令按钮。
在常用工具栏中打开表单数据环境,将数据表文件\课程信息\,\选课信息\和\学生信息\添加到数据环境中。选定页框,修改PageCount属性值为3,增加1个页面,右击页框控件,选择\编辑\菜单命令,可以看到页框四周出现蓝色边框,表示处于编辑状态下,选定页面(Page1),修改页面标题Caption属性值为\学生\,添加一个表格控件,设置表格控件Grid1的RecordSourceType属性值为\表\(用来指定显示表中的数据),RecordSource属性值为\学生信息\,然后在页框编辑状态下,以同样的方法设置第二个页面,RecordSource属性值为\课程信息\,设置第三个页面,RecordSource属性值为\选课信息\。
在属性面板顶端的下拉框中选择Optiongroup1,将其ButtonCount属性值改为3,右击选项按钮组,选择\编辑\快捷菜单命令,在此状态下(编辑状态下,控件四周出现蓝色框线),分别修改3个单选项的Caption属性值为\学生\、\课程\和\选课\。在属性面板顶端的下拉框中选择Command1,将其Caption属性值改为\关闭\。
右击选项按钮组,选择\编辑\快捷菜单命令,在此状态下(编辑状态下,控件四周出现蓝色框线),双击\学生\选项,如图83-2所示。
图38-2
编写该控件的Valid事件,程序代码如下。 Thisform.Pageframe1.ActivePage=1
然后在选项按钮级编辑状态下,以同样的方法编写第二个程序如下: Thisform.Pageframe1.ActivePage=2 以同样的方法编写第三个程序如下: Thisform.Pageframe1.ActivePage=3
最后双击\关闭\按钮,在Click事件中编写程序命令:Thisform.Release,保存并运行表单。
40
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
(1)建立项目文件,名为my。
(2)将数据库nba添加到新建立的项目当中。 (3)修改表单my,将其中的命令按钮删除。 (4)把表单my添加到项目my中。 【答案】
(1)启动Visual FoxPro后,在命令窗口输入命令:CREATE PROJECT my,新建一个项目管理器。
(2)在项目管理器my中,首先在\数据\选项卡中选择\数据库\,然后单击选项卡右边的\添加\命令按钮,在系统弹出的\打开\对话框中,将考生文件夹中的数据库nba添加到项目管理器中,单击\确定\按钮。
(3)从菜单栏里单击\文件\并选择\打开\,或直接单击工具栏上的\打开\图标,在弹出的对话框中选择要打开的表单文件my.scx。选中表单上的命令按钮,按下键盘上的DELETE键,把命令按钮删除。单击工具栏上的\