vfp组合框的手工输入数据如何保存

基本设置如下:1.rowsourcetype=32.rowsource="selectdistinct&z2fromDBFintocursorYI"3.controlso... 基本设置如下:
1.rowsourcetype=3
2.rowsource ="select distinct &z2 from DBF into cursor YI"
3 .controlsource=DBF.字段
4.syle=0
我用在记录修改表单中,下拉选的值能保存,但手工输入的值保存时为空白。主要难点在列源是SQL语句结果,我在COMBO的valid中输入 " thisform.value=thisform.text
THIS.REQUERY"也不行,光标一离开,就变为空白。请高手给出代码
1.rowsourcetype(数据类型)=3(SQL语句)
2.rowsource(数所来源)为SELECT-SQL查询语句。select 姓名 from 个人信息表 into cursor COMBO1"
3.value(表示当前所选中的值)
4.THISFORM.COMBO1.controlsource=个人信息表.姓名
要求在COMBO1中从下拉列表中选取的值和手工输入的值都能保存在改后的“个人信息表.姓名”中,用的数据缓冲技术,在表的INIT中用如下代码:set multilocks on &&允许数据缓冲cursorsetprop("buffering",3) &&启用表或记录缓冲,保存用的代码是:IF TABLEUPDATE(.F.)=.F.
MESSAGEBOX("保存失败",48,"VFP信息")
ELSE
MESSAGEBOX("保存成功",64,"VFP信息")
THISFORM.RDLY()
THISFORM.REFRESH()
ENDIF。
另:我在一个程序中调用这样的表单在COMBO1中输入值时,光标离开值还在,也能保存,在新建的一个表单中同样调用COMBO1的表单时,光标一离开就成空白,我检查了所有的代码都一梓,不知为何,纠结了2星期了,请高手解答。谢谢。
展开
 我来答
zzlzhang0
2011-01-08 · TA获得超过130个赞
知道小有建树答主
回答量:91
采纳率:0%
帮助的人:82.7万
展开全部
不要用sql代码作为组合框的数据源。
应在组合框的INIT代码里:
select 姓名 from 个人信息表 into cursor COMBO1
this.rowsource="COMBO1"
this.rowsourcetype=6 &&字段
也可以this.rowsourcetype=0,直接用this.additem()添加数据到列表,而不用一个临时表。
在组合框的valid事件里更新数据到数据源。手工输入或选择的数据从displayvalue获得。

参考资料: D代码里

jmqra22
2011-01-04 · TA获得超过4053个赞
知道小有建树答主
回答量:2823
采纳率:0%
帮助的人:1409万
展开全部
组合框的属性里有数据选项,应该是找“value"
在组合框中有一个属性值得重视
1.rowsourcetype(数据类型)
2.rowsource(数所来源)
3.value(表示当前所选中的值)
你把问题如果详的再详细点,比如想给combo1的一个什么样的值,是SQL,还是数组,还是值,还是其它!
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式