设计表单,关于vfp控件的问题 5
1.表单控件名为formone,表单标题为“奖牌查询”。2.表单上有一个列表框控件list1,其数据源为“国家”表的“国家名称”字段。3.表单右侧有一个选项按钮组opti...
1. 表单控件名为formone,表单标题为“奖牌查询”。
2. 表单上有一个列表框控件list1,其数据源为“国家”表的“国家名称”字段。
3. 表单右侧有一个选项按钮组optiongroup1,其中有3个按钮,标题分别为金牌(option1)、银牌(option2)和铜牌(option3)。旁边有一个文本框text1,用于显示相关国家不同奖牌的数量。下面有一个“退出”按钮。
4. 表单运行时,用户首先在列表框中选择国家,然后在选项按钮组中单击不同的奖牌类型,相应的奖牌数量就显示在文本框中。单击“退出”按钮关闭表单。
求列表框的代码 T T 展开
2. 表单上有一个列表框控件list1,其数据源为“国家”表的“国家名称”字段。
3. 表单右侧有一个选项按钮组optiongroup1,其中有3个按钮,标题分别为金牌(option1)、银牌(option2)和铜牌(option3)。旁边有一个文本框text1,用于显示相关国家不同奖牌的数量。下面有一个“退出”按钮。
4. 表单运行时,用户首先在列表框中选择国家,然后在选项按钮组中单击不同的奖牌类型,相应的奖牌数量就显示在文本框中。单击“退出”按钮关闭表单。
求列表框的代码 T T 展开
1个回答
展开全部
建立表单,放置控件这个应该无需我讲吧,我也说不起来。我就说说控件的属性怎么设置吧
1, 先将需要的表加入到表单的数据环境
2,列表框控件list1,controlsourcetype设置为字段,controlsource从下拉列表中选择指定表的字段(国家.国家名称)(因为数据环境中加入了表,就可以选择而无需输入)
3,选项按钮组optiongroup1的事件interactivechang增加代码,用来根据选择国家和奖牌来查找数量。由于不知道表结构,只能猜测,应该有个表叫“奖牌表”,有字段“国家名称”和“奖牌类型”、“奖牌数量”,其中奖牌类型是数值型,1金牌,2银牌,3铜牌
参考代码如下:
select 奖牌表
locate for 国家名称=thisform.list1.value and 奖牌类型=thisform.optiongroup1.value
if found()
thisform.text1.value=奖牌数量
else
thisform.text1.value="未找到相应的记录"
endif
4,为了确保不改变optiongroup1的值,光改变国家,仍可以正常显示数量,必须在list1的interactivechange事件加上代码:
thisform.optiongroup1.interactivechange()
ps. 你也可以将查找代码放到 list1的interactivechange事件中, 然后在optiongroup1的interactivechange事件调用 list1的interactivechange事件
1, 先将需要的表加入到表单的数据环境
2,列表框控件list1,controlsourcetype设置为字段,controlsource从下拉列表中选择指定表的字段(国家.国家名称)(因为数据环境中加入了表,就可以选择而无需输入)
3,选项按钮组optiongroup1的事件interactivechang增加代码,用来根据选择国家和奖牌来查找数量。由于不知道表结构,只能猜测,应该有个表叫“奖牌表”,有字段“国家名称”和“奖牌类型”、“奖牌数量”,其中奖牌类型是数值型,1金牌,2银牌,3铜牌
参考代码如下:
select 奖牌表
locate for 国家名称=thisform.list1.value and 奖牌类型=thisform.optiongroup1.value
if found()
thisform.text1.value=奖牌数量
else
thisform.text1.value="未找到相应的记录"
endif
4,为了确保不改变optiongroup1的值,光改变国家,仍可以正常显示数量,必须在list1的interactivechange事件加上代码:
thisform.optiongroup1.interactivechange()
ps. 你也可以将查找代码放到 list1的interactivechange事件中, 然后在optiongroup1的interactivechange事件调用 list1的interactivechange事件
追问
两张表 金牌榜里有国家代码金牌数银牌数铜牌数 国家里有国家名称和国家代码
能不能再写一下按钮组的代码 不太懂呀 而且为什么list代码不用写这么多= =
追答
只要在一个地方放置查询代码,比如放在optiongroup1中, 我在list1中放置了一句代码,就是调用optiongroup1的代码, 这样就不会是代码重复。
查询的代码这样改:
select 国家
lcgjdm=国家代码
select 金牌榜
locate for 国家代码=lcgjdm
if found()
thisform.text1.value=icase(thisform.optiongroup1.value=1,金牌数,thisform.optiongroup1.value=2,银牌数,thisform.optiongroup1.value=3,铜牌数,0)
else
thisform.text1.value="未找到相应的记录"
endif
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询