以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 请教老师,如何实现申请表被处理后进行标记 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=99839) |
|
-- 作者:wakai -- 发布时间:2017/4/27 16:53:00 -- 请教老师,如何实现申请表被处理后进行标记 有包材申请明细表,合同明细表,并做关联 要实现包材申请表的项目添加到合同明细表后,在包材申请表的列是否采购显示为true 代码如下,写在PositionChanged中, If Tables("包材申请明细表.合同明细表").Rows.Count > 0 Then Tables("包材申请明细表").Current("是否采购") = True Else Tables("包材申请明细表").Current("是否采购") = False End If 现在包材申请明细表的内容添加后,要逐行点一次,“是否采购”才会显示结果,这样不具操作, 加在CurrentChanged,窗体AfterLoad,按钮后面都不行,请老师如何解决
[此贴子已经被作者于2017/4/27 17:00:33编辑过]
|
|
-- 作者:有点色 -- 发布时间:2017/4/27 16:56:00 -- 你的逻辑是什么?申请表怎么操作以后,合同表要怎么响应?
这个?http://www.foxtable.com/webhelp/scr/2649.htm
|
|
-- 作者:wakai -- 发布时间:2017/4/27 17:02:00 -- 老师好,刚才没写完按了回车,具体如下
|
|
-- 作者:有点色 -- 发布时间:2017/4/27 17:09:00 -- 用表达式列做比较简单,你写公式判断一下就行了
iif(Count(Child(设置关联名称).子表某列列名) > 0, true, False) |
|
-- 作者:wakai -- 发布时间:2017/4/27 17:15:00 -- iif(Count(Child(包材申请明细表.合同明细表).是否采购) > 0, true, False)这样吗,代码写在哪里好 |
|
-- 作者:有点色 -- 发布时间:2017/4/27 17:17:00 -- 如果要写代码处理,你需要在几个事件写代码
父表DataColChanged事件
If e.DataCol.name = "编号" Then
子表DataColChanged
If e.DataCol.name = "编号" Then DataTables("申请表").DataCols("编号").RaiseDataColChanged("编号=\'" & e.DataRow("编号") & "\'") 子表DataRowDeleting事件也要写代码
DataTables("申请表").DataCols("编号").RaiseDataColChanged("编号=\'" & e.DataRow("编号") & "\'")
|
|
-- 作者:有点色 -- 发布时间:2017/4/27 17:18:00 -- 以下是引用wakai在2017/4/27 17:15:00的发言:
iif(Count(Child(包材申请明细表.合同明细表).是否采购) > 0, true, False)这样吗,代码写在哪里好
设置表达式列 http://www.foxtable.com/webhelp/scr/0025.htm
iif(Count(Child(这里填你设置关联时候的名字).是否采购) > 0, true, False) |
|
-- 作者:有点色 -- 发布时间:2017/4/27 17:19:00 -- 建议用6楼的方法处理。 |
|
-- 作者:wakai -- 发布时间:2017/4/27 17:31:00 -- 谢谢老师,明白了,表达式跟ACCESS类似 |