在考生文件夹下,打开学生数据库sdb,完成如下简单应用: (1)使用查询设计器设计一个名称为svg的查询,查询每个“女”同学的学号(来自student表)、姓名、课程名、成绩和任课教师(来自teacher表的教师名),查询结果按学号升序排序并输出到表one

admin2017-03-29  25

问题 在考生文件夹下,打开学生数据库sdb,完成如下简单应用:
(1)使用查询设计器设计一个名称为svg的查询,查询每个“女”同学的学号(来自student表)、姓名、课程名、成绩和任课教师(来自teacher表的教师名),查询结果按学号升序排序并输出到表one(查询去向)中。设计完成后,运行该查询。表one中的字段分别为:学号、姓名、课程名、成绩、任课教师。
(2)在考生文件夹下,使用快捷菜单设计器设计一个名称为smenu的快捷菜单。要求如下:
菜单包括“数据浏览”和“退出”两个菜单项:
①“数据浏览”菜单包括“学生表”、“选课表”和“课程表”三个子菜单:
学生表子菜单在过程中使用SQL语句“SELECT*FROM student”查询学生表的记录。
选课表子菜单在过程中使用SQL语句“SELECT*FROM SC”查询学生选课表的记录。
课程表选项在过程中使用SQL语句“SELECT*FROM course”查询课程表的记录。
②“退出”菜单使用命令返回系统默认的菜单。

选项

答案(1)步骤1:命令窗口执行: OPEN DATABASE sdb,打开数据库环境。 步骤2:命令窗口执行: CREATE QUERY svg,打开查询设计器,在“添加表或视图”对话框中,分别双击student表、sc表、course表和teacher表添加到查询设计器中,在查询设计器中自动建立4个表之间联系。 步骤3:在“字段”选项卡的“可用字段”中,依次双击“student.学号”、“student.性名”、“course.课程名”、“sc.成绩”,添加到“选定字段”列表中;在“函数和表达式”下的文本框中输入表达式:teacher.教师名as任课教师,再单击“添加”按钮,将其添加到“选定字段”列表中。 步骤4:在“筛选”选项卡内的“字段名”列中选择“student.性别”,“条件”列选择“=”,“实例”列输入“女”。 步骤5:在“排序依据”选项卡内双击“选定字段”列表框中的“student.学号”,将其添加到“排序条件”列表框中,在“排序选项”中选择“升序”。 步骤6:执行【查询】→【查询去向】菜单命令,在“查询去向”对话框中单击“表”按钮,在“表名”中输入文件名one,单击“确定”按钮。 步骤7:最后单击“常用”工具栏中的“运行”按钮查看结果,将查询文件保存到考生文件夹下。 查询的建立与使用。 (2)步骤1:命令窗口执行: CREATE MENU smenu,弹出的“新建菜单”中单击“快捷菜单”按钮,打开菜单设计器。 步骤2:在“菜单名称”列的文本框中依次输入“数据浏览”和“退出”两个主菜单名,“数据浏览”菜单命令的“结果”下拉框中选择为“子菜单”,单击“创建”按钮进入下级菜单设计,在“菜单名称”列的第1、2、3行文本框中依次输入子菜单名“学生表”、“选课表”和“课程表”,将3个子菜单的“结果”都设置为“过程”,分别单击3个过程后面的“创建”按钮打开过程编辑器,编写过程代码。 步骤3:三个过程代码如下: “学生表”菜单命令: SELECT*FROM student。 “课程表”菜单命令: SELECT*FROM course。 “选课表”菜单命令: SELECT*FROM sc。 步骤4:通过“菜单级”下拉框返回主菜单项设计界面,设置“退出”菜单项的“结果”列为“命令”,并输入命令语句: SET SYSMENU TO DEFAULT。 步骤5:执行【菜单】→【生成】菜单命令,在弹出的Visual FoxPro对话框中单击“是”按钮,系统会弹出“生成菜单”对话框,单击“生成”按钮生成一个可执行的菜单文件(smenu.mpr)。 快捷菜单设计。

解析 (1)本题主要考查的是查询设计器的使用。应按照student表、sc表、course表和teacher表的顺序将其添加到查询设计器,再根据题目要求从每个表中选取字段,设置查询条件等完成查询。
可在查询设计器“字段”选项卡的“函数和表达式”下的文本框中输入表达式,同时也可以通过打开“表达式生成器”对话框进行输入,可以通过AS短语指定为输入的表达式指定一个新的字段名。
(2)本题主要考查了快捷菜单的设计,快捷菜单仅包括一个弹出式菜单,其他设计基本上都与下拉菜单的设计一致。编写“退出”菜单命令时,要熟记返回系统菜单的命令语句:SET SYSMENU TO DEFAULT;最后注意生成可执行菜单文件。
转载请注明原文地址:https://kaotiyun.com/show/rYIp777K
0

最新回复(0)