以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]菜鸟求赋值代码!  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=47219)

--  作者:syczmg
--  发布时间:2014/3/6 14:13:00
--  [求助]菜鸟求赋值代码!

项目表某项目采购状态的判断规则是,当合同表相同项目编号的采购状态没有未完成时,为已完成;否则为未完成。

菜鸟求赋值代码,谢谢!


图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看

--  作者:Bin
--  发布时间:2014/3/6 14:28:00
--  
在子表的DataColChanged 事件中

if e.datacol.name="采购状态" andalso e.datarow.isnull("项目编号")=false then
   if e.datatable.Compute("count(_Identify)","采购状态=\'未完成\'") > 0 then
        e.DataRow.GetParentRow("父表名称")("采购状态")="未完成"
   else
        e.DataRow.GetParentRow("父表名称")("采购状态")="已完成"
   end if
end if

--  作者:syczmg
--  发布时间:2014/3/6 14:56:00
--  

衷心感谢!

将上述代码写入后,存盘没问题;填实验数据后,父表“采购状态”没写任何值!

再次求救!!!


--  作者:Bin
--  发布时间:2014/3/6 14:57:00
--  
没有建立关联吧

请上例子.

--  作者:syczmg
--  发布时间:2014/3/6 15:15:00
--  

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试项目.zip

衷心感谢!


--  作者:Bin
--  发布时间:2014/3/6 15:24:00
--  
你这个是多层关联,是父表的父表.

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试项目.table



--  作者:syczmg
--  发布时间:2014/3/6 15:52:00
--  
问题已解决,衷心感谢!
--  作者:syczmg
--  发布时间:2014/3/7 16:35:00
--  
今天再次多项目测试,发现有问题:当多于1个项目时,可能无效。再次请教,谢谢!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试项目.table


--  作者:Bin
--  发布时间:2014/3/7 16:46:00
--  
你把关联列判断去掉了,当然不可以.

If e.DataTable.Compute("count(_Identify)","cgzt=\'未完成\' and 关联列1=\'" & e.datarow("关联列1") & "\'") > 0 Then

--  作者:Bin
--  发布时间:2014/3/7 16:47:00
--  
.
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试项目.table