在考生文件夹下有学生管理数据库books,数据库中有score表(学号、物理、高数、英语和学分查询表结构),其中前4项已有数据。请编写符合下列要求的程序并运行程序:设计一个名为myform的表单,表单中有两个命令按钮,按钮的名称分别为cmdyes和cmdno,标题分别为“计算”和“关闭”。程序运行时,单击“计算”按钮应完成下列操作:①计算每一个学生的总学分并存入对应的学分字段。学分的计算方法是:物理60分以上(包括60分) 2学分,否则0分;高数60分以上(包括60分)3学分,否则0分;英语60分以上(包

题目

在考生文件夹下有学生管理数据库books,数据库中有score表(学号、物理、高数、英语和学分查询表结构),其中前4项已有数据。

请编写符合下列要求的程序并运行程序:

设计一个名为myform的表单,表单中有两个命令按钮,按钮的名称分别为cmdyes和cmdno,标题分别为“计算”和“关闭”。程序运行时,单击“计算”按钮应完成下列操作:

①计算每一个学生的总学分并存入对应的学分字段。学分的计算方法是:物理60分以上(包括60分) 2学分,否则0分;高数60分以上(包括60分)3学分,否则0分;英语60分以上(包括60分)4学分,否则0分。

②根据上面的计算结果,生成一个新的表xf(要求表结构的字段类型与score表对应字段的类型一致),并且按“学分”升序排序,如果“学分”相等,则按“学号”降序排序。单击“退出”按钮,程序终止运行。


相似考题
参考答案和解析
正确答案:在命令窗口输入命令:CREATE FORM myform打开表单设计器:单击表单控件工具栏上的“命令按钮”控件图标向表单添加两个命令按钮选中第一个命令按钮(commarldl)在属性对话框中将命令按钮的Name属性值修改为cmdyes将Capdon属性值修改为“计算”如图3-21所示。以同样的方法将第二个命令按钮(command2)的Name属性值修改为cmdno将Caption属性值修改为“关闭”。 双击命令按钮cmdyes(计算)在Click事件代码中编写如下程序段: **********命令按钮Commandl(计算)的Click事件代码********* SET TALK OFF USE score REPLACE ALL 学分 WITH 0 GO TOP DO WHILE.NOT.EOF() IF 物理>=60 THEN REPIACE 学分 WITH 学分+2 ENDIF IF 高数>=60 THEN MPLACE 学分 WITH学分+3 ENDIF IF 英语>=60 THEN REPLACE 学分 WITH 学分+4 ENDIF SKIP ENDDO SORT ON学分学号/d TO xf SET tALK ON ********************************************** 双击命令按钮cmdno(关闭)在Chck事件代码中编写如下程序段: *********命令按钮Command2(关闭)的Click事件代码******** Thisform.Release ********************************************** 保存表单在命令窗口输入命令:DO FORM myform。在运行的表单界面中单击“计算”命令按钮系统将计算结果自动保存到新表xf中。
在命令窗口输入命令:CREATE FORM. myform,打开表单设计器:单击表单控件工具栏上的“命令按钮”控件图标,向表单添加两个命令按钮,选中第一个命令按钮(commarldl),在属性对话框中将命令按钮的Name属性值修改为cmdyes,将Capdon属性值修改为“计算”,如图3-21所示。以同样的方法,将第二个命令按钮(command2)的Name属性值修改为cmdno,将Caption属性值修改为“关闭”。 双击命令按钮cmdyes(计算),在Click事件代码中编写如下程序段: **********命令按钮Commandl(计算)的Click事件代码********* SET TALK OFF USE score REPLACE ALL 学分 WITH 0 GO TOP DO WHILE.NOT.EOF() IF 物理>=60 THEN REPIACE 学分 WITH 学分+2 ENDIF IF 高数>=60 THEN MPLACE 学分 WITH学分+3 ENDIF IF 英语>=60 THEN REPLACE 学分 WITH 学分+4 ENDIF SKIP ENDDO SORT ON学分,学号/d TO xf SET tALK ON ********************************************** 双击命令按钮cmdno(关闭),在Chck事件代码中编写如下程序段: *********命令按钮Command2(关闭)的Click事件代码******** Thisform.Release ********************************************** 保存表单,在命令窗口输入命令:DO FORM. myform。在运行的表单界面中单击“计算”命令按钮,系统将计算结果自动保存到新表xf中。 解析:本大题考查的主要是通过对表单控件编写事件代码,来完成数据的查询操作,一般来说命令按钮的单击事件代码是存放在Click事件中,控件属性修改可以在属性对话框中完成,对于程序设计部分,可以通过Do While...Enddo循环来依次判断数据表中的每条记录,然后通过条件语句进行分类统计。
更多“在考生文件夹下有学生管理数据库books,数据库中有score表(学号、物理、高数、英语和学分查询表结构) ”相关问题
  • 第1题:

    在考生文件夹中有一个数据库mydb,其中有数据库表stu、kech 和 chj。利用SQL语句查询选修了“日语”课程的学生的全部信息,并将结果按“学号”升序排序放在 new. dbf 中(库的结构同 stu,并在其后加入课程号和课程名字段)。

    (2)在考生文件夹中有一个数据库 mydb,使用“一对多报表向导”制作一个名为 myre 的报表,存放在考生文件夹中。

    要求:选择父表 stu 表中的“学号”和“姓名”字段,从子表 kech 中选择“课程号”和“成绩”字段,排序字段选择“学号”(升序),报表样式为“简报式”,方向为“纵向”,报表标题为“学生成绩信息”。


    正确答案:(1)在命令窗口中输入命令:MODIFY COMMAND query1在程序文件编辑器窗口输入如下程序段: *****文件query1.prg中的程序段******** SELECT stu.学号姓名年龄性别院系号; kech.课程号chj.课程名; FROM stu chjkech; WHERE stu.学号=kech.学号; AND kech.课程号=chj.课程号; AND chj.课程名="日语"; ORDER BY stu.学号; INTO TABLE new ************************************* 在命令窗口输入命令:DO query1运行程序通过BROWSE 命令可查看结果如图3-86所示。 图3-86 (2)在“工具”菜单选择“向导”——“报表”菜单命令出现“向导选取”对话框根据题意数据源是多个表因此选定“一对多报表向导”。单击“确定”。 步骤一:在弹出的对话框中“数据库和表”选项选择父表 stu并把“可用字段”的“学号”和“姓名”选为“选定字段”。 步骤二:选择子表 kech并把“可用字段”的“课程号”和“成绩”选为“选定字段”。 步骤三:系统自动以“学号”建立两表之间的关系。 步骤四:在“排序记录”中选择“学号”并选择“升序”排序。 步骤五:报表样式选择为“简报式”方向为“纵向”。 步骤六:把表单标题改为“学生成绩信息”可以在单击“完成”之前单击“预览”按钮来预览生成的报表最后单击“完成”按钮。 将报表以文件名myre 保存在考生文件夹里。
    (1)在命令窗口中输入命令:MODIFY COMMAND query1,在程序文件编辑器窗口输入如下程序段: *****文件query1.prg中的程序段******** SELECT stu.学号,姓名,年龄,性别,院系号; kech.课程号,chj.课程名; FROM stu, chj,kech; WHERE stu.学号=kech.学号; AND kech.课程号=chj.课程号; AND chj.课程名="日语"; ORDER BY stu.学号; INTO TABLE new ************************************* 在命令窗口输入命令:DO query1,运行程序,通过BROWSE 命令可查看结果,如图3-86所示。 图3-86 (2)在“工具”菜单选择“向导”——“报表”菜单命令,出现“向导选取”对话框,根据题意数据源是多个表,因此选定“一对多报表向导”。单击“确定”。 步骤一:在弹出的对话框中“数据库和表”选项选择父表 stu,并把“可用字段”的“学号”和“姓名”选为“选定字段”。 步骤二:选择子表 kech,并把“可用字段”的“课程号”和“成绩”选为“选定字段”。 步骤三:系统自动以“学号”建立两表之间的关系。 步骤四:在“排序记录”中选择“学号”,并选择“升序”排序。 步骤五:报表样式选择为“简报式”,方向为“纵向”。 步骤六:把表单标题改为“学生成绩信息”,可以在单击“完成”之前单击“预览”按钮来预览生成的报表,最后单击“完成”按钮。 将报表以文件名myre 保存在考生文件夹里。 解析:本大题1小题考查了SQL联接查询,设计过程中主要注意两个表之间进行关联的字段;2小题考查的是根据表单向导生成联系多表的报表内容,利用向导时应注意父表和子表的选择。

  • 第2题:

    在考生文件夹下“student.mdb”数据库中有student、课程和成绩三张表。

    (1)以student表为数据源,创建查询“查询1”,查询>=20岁的男学生信息。结果显示学号、姓名、性别和年龄字段。查询结果如图所示。

    (2)以student表为数据源,创建更新查询“查询2”,将每个学生的年龄增加一岁


    正确答案:

  • 第3题:

    (1)在考生文件夹下,有一个数据库“school”,其中有数据库表“student”、“score”和“course”。在表单向导中选取“一对多表单向导”创建一个表单。要求:从父表“student”中选取字段“学号”和“姓名”,从子表“score”中选取字段“课程编号”和“成绩”,表单样式选用“浮雕式”,按钮类型使用“图片按钮”,按“学号”升序排序,表单标题为“学生成绩浏览”,最后将表单存放在考生文件夹中,表单文件名为 “bd2”。

    (2)在考生文件夹中有一数据库“school”,其中有数据库表“student”、“score”和“course”。建立“成绩大于等于75分”、按“学号”升序排序的本地视图“view2”,该视图按顺序包含字段“学号”、“姓名”、“成绩”和“课程名称”。


    正确答案:
    【考点指引】本大题第1小题考查一对多表单向导的使用,重点是多表之间字段的联系;第2小题考查视图的创建,重点是多表之间字段的联系。
    (1)【操作步骤】
    ①选择【文件】→【打开】命令,在“打开”对话框的“文件类型”下拉列表框中选择“数据库”,选择“school.dbc”,单击“确定”按钮,打开数据库设计器。
    ②选择【文件】→【新建】命令,选择“表单”,单击“向导”按钮,在弹出的“向导选取”窗口中选择“→对多表单向导”,单击“确定”按钮。
    ③在“→对多表单向导”对话框的“数据库和表”列表框中选择“student”表做父表,将“可用字段”下的“学号”和“姓名”字段添加到“选定字段”列表框中,单击“下一步”按钮。
    ④在“一对多表单向导”对话框的“数据库和表”列表框中选择“score”表做子表,将“可用字段”下的“课程编号”和“成绩”字段添加到“选定字段”列表框中,单击“下一步”按钮。
    ⑤系统自动选择两个表的“学号”字段作为关联字段,单击“下一步”按钮,在“样式”列表框中选择“浮雕式”,“按钮类型”选择“图片按钮”,单击“下一步”按钮。
    ⑥在“可用的字段或索引标识”列表框中选择“学号”添加到“选定字段”列表框中,选择“升序”,单击“下一步”按钮。
    ⑦输入表单标题为“学生成绩浏览”,单击“完成”按钮,输入表单名称“bd2”并保存退出。
    (2)【操作步骤】
    ①选择【文件】→【新建】命令,选择“视图”,单击“新建文件”按钮打开“添加表或视图”对话框,选择“表单”选项,选择数据库“school”,将表“score”、“student”和“course”分别“添加”到视图设计器中,系统会自动选择关联字段“学号”为表“score”和“student”建立内部联系,选择关联字段“课程编号”为表“score”和“course”建立内部联系,单击“确定”按钮关闭“连接条件”对话框,再关闭“添加表或视图”对话框。
    ②在视图设计器中单击“字段”选项卡,将“可用字段”列表框中的“student.学号”、“student.姓名”、“score.成绩”和“course.课程名称”等字段添加到右边的“选定字段”列表框中。
    ③在视图设计器中单击“筛选”选项卡,在“字段名”下拉列表框中选择“score.成绩”字段,在“条件”下拉列表框中选择“>=”,在“实例”编辑框中输入“75”。
    ④在视图设计器中单击“排序依据”选项卡,在“排序依据”选项卡的“字段名”下拉列表框中选择“student.学号”字段,单击“添加”按钮,将“student.学号”字段添加到右边的“排序条件”列表框中,在“排序条件”中选择“升序”单选项。
    ⑤在视图设计器中单击“连接”选项卡,在第一行的“逻辑”下拉列表框中选择“AND”。
    ⑥在视图设计器中单击“关闭”按钮,将视图以“view2”文件名保存在考生文件夹下。

  • 第4题:

    在考生文件夹下有一个数据库stsc,其中有数据库表student、score和course,利用SQL语句查询选修了“网络工程”课程的学生的全部信息,并将结果按学号降序存放在netp.dbf文件中(表的结构同student,并在其后加入课程号和课程名字段)。

    2.在考生文件夹下有一个数据库stsc,其中有数据库表student,使用一对多报表向导制作一个名为cjb的报表,存放在考生文件夹下。

    要求:从父表student中选择学号和姓名字段,从广表score中选择课程号和成绩,排序字段选择学号(升序),报表式样为简报式,方向为纵向。报表标题为“学生成绩表”。


    正确答案:1.在命令窗口输入命令:MODIFY COMMAND query打开程序文件编辑器;在程序文件编辑窗口中输入如下程序段: **********程序文件query.prg程序内容********** SELECT student.*score.课程号course.课程名; FROM stsc!student lNNER JOIN stsc!score; INNER JOIN stsc!course; ON score.课程号=eourse.课程号; ON student.学号=score.学号; WHERE course.课程名="网络工程" ORDER BY student.学号 DESC; INTO TABLE netp.dbf ********************************************** 保存程序文件在命令窗口输入命令:DO query完成查询。 2.请按以下步骤完成: 利用菜单命令“文件”→“新建”或从常用工具栏中单击新建图标按钮在弹出的“新建”对话框中选择“报表”单选项再单击“向导”图标按钮系统弹出“向导选取”对话框在列表框中选择“一对多报表向导”单击“确定”按钮。 选择“一对多报表向导”后系统首先要求选择一对多报表中作为父表的数据表文件。根据题意选择student表作为父表如图3-1所示从“可用字段”列表框中将“姓名”和“学号”字段添加到右边的“选定字段”列表框中用作父表的可用字段。 单击“下一步”设计子表的可用字段操作方法与父表选取字段的方法一样将score表中的“课程号”和“成绩”字段添加到“选定字段”列表框中。 单击“下一步”进入“建立表关联”的设计界面在此处系统已经默认设置好进行关联的字段:父表的“学号”和子表的“学号”字段。 单击“下一步”进入“选择排序方式”的设计界面将“可用字段或索引标识”列表框中的“学号”字段添加到右边的“选定字段”列表框中并选择“升序”单选项。 单击“下一步”进入“选择报表样式”的界面在“样式”列表框中选择 “简报式”’在“方向”选项组中选择“纵向”。 单击“下一步”进入最后的“完成”设计界面在“标题”文本框中输入“学生成绩表”为报表添加标题单击“完成”命令按钮在系统弹出的“另存为”对话框中将报表以cjb文件名保存在考生文件夹下退出报表设计向导。
    1.在命令窗口输入命令:MODIFY COMMAND query,打开程序文件编辑器;在程序文件编辑窗口中输入如下程序段: **********程序文件query.prg程序内容********** SELECT student.*,score.课程号,course.课程名; FROM stsc!student lNNER JOIN stsc!score; INNER JOIN stsc!course; ON score.课程号=eourse.课程号; ON student.学号=score.学号; WHERE course.课程名="网络工程" ORDER BY student.学号 DESC; INTO TABLE netp.dbf ********************************************** 保存程序文件,在命令窗口输入命令:DO query,完成查询。 2.请按以下步骤完成: 利用菜单命令“文件”→“新建”,或从常用工具栏中单击新建图标按钮,在弹出的“新建”对话框中选择“报表”单选项,再单击“向导”图标按钮,系统弹出“向导选取”对话框,在列表框中选择“一对多报表向导”,单击“确定”按钮。 选择“一对多报表向导”后,系统首先要求选择一对多报表中作为父表的数据表文件。根据题意,选择student表作为父表,如图3-1所示,从“可用字段”列表框中将“姓名”和“学号”字段添加到右边的“选定字段”列表框中,用作父表的可用字段。 单击“下一步”设计子表的可用字段,操作方法与父表选取字段的方法一样,将score表中的“课程号”和“成绩”字段添加到“选定字段”列表框中。 单击“下一步”进入“建立表关联”的设计界面,在此处系统已经默认设置好进行关联的字段:父表的“学号”和子表的“学号”字段。 单击“下一步”进入“选择排序方式”的设计界面,将“可用字段或索引标识”列表框中的“学号”字段添加到右边的“选定字段”列表框中,并选择“升序”单选项。 单击“下一步”进入“选择报表样式”的界面,在“样式”列表框中选择 “简报式”’在“方向”选项组中选择“纵向”。 单击“下一步”,进入最后的“完成”设计界面,在“标题”文本框中输入“学生成绩表”为报表添加标题,单击“完成”命令按钮,在系统弹出的“另存为”对话框中,将报表以cjb文件名保存在考生文件夹下,退出报表设计向导。 解析:本大题第1小题考查的是利用SQL语句进行多表查询以及查询输出,程序设计中应注意数据表之间的关联以及查洵结果的分组排序:第1小题主要考查报表向导的使用,只要根据每个向导界面的提示来完成相应的步骤即可。

  • 第5题:

    在考生文件夹中有一个数据库STSC,其中有数据库表STUDENT、SCORE和COURSE

    利用SQL语句查询选修了“网络工程”课程的学生的全部信息,并将结果按学号降序存放在NETP.DBF文件中(库的结构同STUDENT,并在其后加入课程号和课程名字段)。

    2.在考生文件夹中有一个数据库STSC,其中有数据库表STUDENT,使用一对多报表向导制作一个名为 cj2的报表,存放在考生文件夹中。要求:选择父表STUDENT表中学号和姓名字段,从子表SCORE中选择课程号和成绩,排序字段选择学号(升序),报表式样为简报式,方向为纵向。报表标题为“学生成绩表”。


    正确答案:启动报表向导可在“文件”菜单中选择“新建”或者单击工具栏上的“新建”按钮打开“新建”对话框文件类型选择报表单击向导按钮。或者在“工具”菜单中选择“向导”子菜单选择‘报表”或直接单击工具栏上的“报表向导”图标按钮。然后按照向导提示操作即可。
    启动报表向导可在“文件”菜单中选择“新建”或者单击工具栏上的“新建”按钮,打开“新建”对话框,文件类型选择报表,单击向导按钮。或者在“工具”菜单中选择“向导”子菜单,选择‘报表”,或直接单击工具栏上的“报表向导”图标按钮。然后按照向导提示操作即可。