VFP表单控件 复选 框 问题求援!!!!!!!!!
我在VFP表单中设置好数据环境,加入n个复选框控件Check,每个Check控件对应表中一个字段,希望通过选择这若干个Check中的m个(m<=n),能实现通这Check...
我在VFP表单中设置好数据环境,加入n个复选框控件Check,每个Check控件对应表中一个字段,希望通过选择这若干个Check中的m个(m<=n),能实现通这Check控件将所选 的这m个字段放在一个新表中,并将该新表复制到一个数组中,该如何实现? 用copy to 新表 (fields XXX),是否可以实现???求解,十分感谢!!急
展开
1个回答
展开全部
1.按照选择的字段从表1复制到新表表2,按以下操作:
1.)表1中有多少字段就拖多少个CHECKBOX到表单里,然后分别把每个CHECKBOX的CAPTION属性值设置为字段名。
2.)分别在每个CHECKBOX的CLICK事件中写上如下代码:
c_caption=this.Caption
n_occur=AT(c_caption,f_selected)
l_caption=LEN(c_caption)
IF this.Value=0
IF n_occur>0
f_selected=STUFF(f_selected,n_occur-1,l_caption+1,"")
ENDIF
ELSE
IF n_occur=0
f_selected=f_selected+","+c_caption
ENDIF
ENDIF
3.)在表单的INIT事件中写入:
PUBLIC f_selected
f_selected=""
USE 表1 IN 0 ALIAS 表1
4.)在表单的DESTROY事件中写入:
RELEASE f_selected
CLOSE TABLES ALL
5.)在按钮(此按钮就是执行按所选字段创建新表的功能)CLICK事件中写入:
l=LEN(f_selected)
IF l>0
f_selected=RIGHT(f_selected,l-1)
SELECT &f_selected FROM 表1 INTO TABLE 表2
ELSE
=MESSAGEBOX("未选择任何字段!")
ENDIF
2.将新表的内容复制到数组,这里取名为ARRAYTABLE2:
SELECT * FROM 表2 INTO ARRAY ARRAYTABLE2
1.)表1中有多少字段就拖多少个CHECKBOX到表单里,然后分别把每个CHECKBOX的CAPTION属性值设置为字段名。
2.)分别在每个CHECKBOX的CLICK事件中写上如下代码:
c_caption=this.Caption
n_occur=AT(c_caption,f_selected)
l_caption=LEN(c_caption)
IF this.Value=0
IF n_occur>0
f_selected=STUFF(f_selected,n_occur-1,l_caption+1,"")
ENDIF
ELSE
IF n_occur=0
f_selected=f_selected+","+c_caption
ENDIF
ENDIF
3.)在表单的INIT事件中写入:
PUBLIC f_selected
f_selected=""
USE 表1 IN 0 ALIAS 表1
4.)在表单的DESTROY事件中写入:
RELEASE f_selected
CLOSE TABLES ALL
5.)在按钮(此按钮就是执行按所选字段创建新表的功能)CLICK事件中写入:
l=LEN(f_selected)
IF l>0
f_selected=RIGHT(f_selected,l-1)
SELECT &f_selected FROM 表1 INTO TABLE 表2
ELSE
=MESSAGEBOX("未选择任何字段!")
ENDIF
2.将新表的内容复制到数组,这里取名为ARRAYTABLE2:
SELECT * FROM 表2 INTO ARRAY ARRAYTABLE2
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询