有两个数据窗口
第一个是显示流水数据
第二个是显示明细数据
一个保存按钮
------------
第二个数据源
SELECT a.RKBH,
a.GOODSID,
a.GOODSQTY,
a.PH,
a.ZHJ,
a.BUMENID,
b.goodsname,
b.goodstype,
b.prodarea,
b.goodsunit
FROM ZP_GOODS_RKMX a ,zp_goods b where a.goodsid=b.goodsid
--------
第一个数据窗口双击代码
string ls_tjbh
dw_1.settransobject(sqlca)
dw_1.accepttext()
ls_tjbh=string(dw_1.getitemnumber(dw_1.getrow(),"rkbh"))
string sql,ls_filter,ls_value
ls_filter="b.rkbh= '" +ls_tjbh + "'"
dw_2.settransobject(sqlca);
sql="select b.RKBH,b.GOODSID,b.GOODSQTY,b.PH,b.ZHJ,b.BUMENID,a.goodsname,a.goodstype,a.prodarea,a.goodsunit from zp_goods a,zp_goods_rkmx b where (a.goodsid=b.goodsid) and ("+ls_filter+") order by a.goodsid "
// sql="select goodsname sltj,b.rkbh,b.goodsid,b.goodsqty,b.ph,b.zhj,b.bumenid,goodsname,goodstype,a.prodarea,goodsunit from zp_goods a,zp_goods_rkmx b where (a.goodsid=b.goodsid) and ("+ls_filter+") order by a.goodsid "
dw_2.setsqlselect(sql)
dw_2.retrieve();
保存按钮代码
int ret
dw_2.accepttext()
ret=dw_2.update()
if ret=1 then
commit using sqlca;
messagebox("提示","保存成功!")
else
rollback using sqlca;
end if
--------------
双击第一个窗口的一条记录,
修改DW_2里的数据
点击保存后,提示,datawindow does not have update capability
但是第一个数据窗口双击代码把sql换成下面第二个sql
,显示列名不匹配(多了第一个sltj),DW_2显示所有的记录,但修改DW_2里的数据后可以保存成功。。。
----------------
我已经在"Table To Update"下拉列表框中选择要更新的表
在"Updatesble Cloumns"通过单击选择可更新的列
------解决方案--------------------
好长,修改了数据源时update属性可能就丢了