在考生文件夹下有一个名为myform的表单,表单中包括一个列表框和两个命令按钮。请在该表单中完成如下操作: ①在表单设计器环境下设置列表框的数据源(RowSource)和数据源类型(RowSourceType)两个属性。设置RowSourcee属性

admin2013-06-14  18

问题 在考生文件夹下有一个名为myform的表单,表单中包括一个列表框和两个命令按钮。请在该表单中完成如下操作:
    ①在表单设计器环境下设置列表框的数据源(RowSource)和数据源类型(RowSourceType)两个属性。设置RowSourcee属性为3,在RowSource属性中使用SQL的SELEC TINTO CURSOR…语句根据“国家”表中“国家名称”字段的内容在列表框中显示“国家名称”(注意:不要使用命令指定这两个属性)。
    ②为“生成表”命令按钮编写程序。程序的功能是根据表单运行时列表框中选定的国家名称,将“获奖牌情况”表中相应国家的所有记录存入以该国家名称命名的自由表中,自由表中包含“运动员名称”、“项目名称”和“名次”三个字段,并按照“名次”升序排列。
    提示:假设从列表框中选择的国家名称存放在变量gm中,那么在SQL SELECT语句中使用短语into table&gm就可以将选择的记录存入以该国家名命名的自由表中。
    ③运行表单,分别生成存有“中国”、“日本”、“美国”、“俄罗斯”4个国家获奖情况的4个自由表。

选项

答案本大题考查了表单及控件的常用属性和方法的设置;SQL简单联接查询。 本题关键是SQL查询语句中怎样将列表框中被选中的“国家名称”内容命名为表名,由于列表框中被选定的条目不固定,因此不能利用一个常量来指定查询输出的表名。解决此问题的方法就是先定义一个变量等于列表框中的被选定的条目值,然后使用宏替换函数(&)将变量值替换出来,即使列表框的值无论怎样改变,替换出来的数据都是列表框被选中的条目值。 另外,本题进行联接查询的两个表是“国家”表和“获奖牌情况”表,联接字段为“国家代码”,利用ORDER BY短语可对查询结果排序,利用INTO DBF(或INTO TABLE)短语将结果输出到数据表中。 步骤1:在命令窗口执行命令:MODI FY FORM myform,打开表单设计器修改表单。 步骤2:选中表单中的列表框(L,istl),在属性面板中修改其RowSourcee属性值为:3-SQL语句;同时指定RowSource属性值为:SELECT国家名称FROM国家; 步骤3:双击“生成表”命令按钮,编写click事件代码。代码如下: *****“生成表”按钮的click事件代码***** 1 gm=”SS” 2 gm=THISFORM.LISTl.VALUE 3 SELECT运动员名称,项目名称,名次; 4 FROM获奖牌情况,国家WHERE国家.国家名称 =gm; 5 AND获奖牌情况.国家代码=国家.国家代码; 6 ORDER BY,名次INTO DBF&gm 步骤4:单击“常用”工具栏中的“运行”按钮查看结果,分别选中列表框中的“中国”、“日本”、“美国”和“俄罗斯”4个条目生成对应的表,将表单文件保存到考生文件夹下。

解析
转载请注明原文地址:https://kaotiyun.com/show/oWop777K
0

最新回复(0)