问答题
在考生文件夹下有一个名为myform的表单,表单中包括一个列表框和两个命令按钮。请在该表单中完成如下操作:①在表单设计器环境下设置列表框的数据源( RowSource)和数据源类型(RowSourceType)两个属性。设置RowSourceType属性为3,在RowSource属性中使用SQL的SELECT…INTO CURSOR…语句根据“国家”表中“国家名称”字段的内容在列表框中显示“国家名称”(注意:不要使用命令指定这两个属性)。②为“生成表”命令按钮编写程序。程序的功能是根据表单运行时列表框中选定的国家名称,将“获奖牌情况”表中相应国家的所有记录存入以该国家名称命名的自由表中,自由表中包含“运动员名称”、“项目名称”和“名次”三个字段,并按照“名次”升序排列。提示:假设从列表框中选择的国家名称存放在变量gm中,那么在SQL SELECT语句中使用短语intotable &gm就可以将选择的记录存入以该国家名命名的自由表中。③运行表单,分别生成存有“中国”“日本”“美国”“俄罗斯”4个国家获奖情况的4个自由表。
【正确答案】正确答案:步骤1:命令窗口执行:MODIFY FORM myform,打开表单设计器修改表单。 步骤2:选中表单中的列表框(Listl),在属性面板中修改其RowSourceType属性值为:3—SQL语句;同时指定RowSource属性值为:
SELECT国家名称FROM国家INTO CURSOR mylist
步骤3:双击“生成表”命令按钮,编写Click事件代码。 代码如下: ****“生成表”按钮的Click事件代码****
gm="SS"
gm=THISFORM.LISTl.VALUE
SELECT运动员名称,项目名称,名次;
FROM获奖牌情况。国家WHERE国家,国家名称=gm;
AND获奖牌情况.国家代码=国家.国家代码;
ORDER BY名次INTO DBF &gm
步骤4:单击“常用”工具栏中的“运行”按钮查看结果,分别选中列表框中的“中国”、“日本”、“美国”和“俄罗斯”4个条目生成对应的表,将表单文件保存到考生文件夹。 表单基本型控件、SQL简单查询。
【答案解析】解析:本大题考查了表单及控件的常用属性和方法的设置:SQL简单联接查询。 本题关键是SQL查询语句中怎样将列表框中被选中的“国家名称”内容命名为表名。解决此问题的方法就是先定义一个变量等于列表框中的被选定的条目值,然后使用宏替换函数(&)将变量值替换出来。 本题进查询的两个表是“国家”表和“获奖牌情况”表通过“国家代码”联接,利用ORDER BY对查询结果排序,利用INTO DBF(或INTO TABLE)将结果输出到数据表中。